From d77a5fe2b25516d59caac2ea8d64d29f5d88c427 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Thu, 3 Jul 2025 16:11:24 -0600 Subject: [PATCH 01/65] make: Build Battleye bridge using makedep rules. CW-Bug-Id: #25631 --- Makefile.in | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/Makefile.in b/Makefile.in index 92d78ac08b..0aedc5f27b 100644 --- a/Makefile.in +++ b/Makefile.in @@ -646,32 +646,14 @@ $(OBJ)/.vkd3d-proton-post-source: ## BattlEye Bridge ## -ifneq ($(wildcard $(SRCDIR)/battleye-bridge/.*),) -BATTLEYE_LDFLAGS = -static-libgcc -static-libstdc++ -ldl +ifneq ($(wildcard $(SRCDIR)/battleye-bridge/.*),) BATTLEYE_DEPENDS = wine $(eval $(call rules-source,battleye,$(SRCDIR)/battleye-bridge)) -$(eval $(call rules-winemaker,battleye,i386,beclient.dll)) -$(eval $(call rules-winemaker,battleye,x86_64,beclient_x64.dll)) - -$(OBJ)/.battleye-post-source: - mkdir -p $(BATTLEYE_i386_OBJ) && cp -a $(BATTLEYE_SRC)/beclient.spec $(BATTLEYE_i386_OBJ)/beclient.spec - mkdir -p $(BATTLEYE_x86_64_OBJ) && cp -a $(BATTLEYE_SRC)/beclient.spec $(BATTLEYE_x86_64_OBJ)/beclient_x64.spec - touch $@ - -$(OBJ)/.battleye-x86_64-post-build: - mkdir -p $(OBJ)/dist-battleye/v1 - cp -r $(BATTLEYE_x86_64_DST)/* $(OBJ)/dist-battleye/v1/ - rm -rf $(BATTLEYE_x86_64_DST)/* - touch $@ - -$(OBJ)/.battleye-i386-post-build: - mkdir -p $(OBJ)/dist-battleye/v1 - cp -r $(BATTLEYE_i386_DST)/* $(OBJ)/dist-battleye/v1/ - rm -rf $(BATTLEYE_i386_DST)/* - touch $@ +$(eval $(call rules-makedep,battleye,i386)) +$(eval $(call rules-makedep,battleye,x86_64)) endif From 5a9e7bab28d71783dc56145636f757b60159b431 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernhard=20K=C3=B6lbl?= Date: Wed, 28 Jun 2023 11:56:37 +0200 Subject: [PATCH 02/65] build: Add and build OpenFST submodule. --- .gitmodules | 3 +++ Makefile.in | 41 +++++++++++++++++++++++++++++++++++++++++ openfst | 1 + 3 files changed, 45 insertions(+) create mode 160000 openfst diff --git a/.gitmodules b/.gitmodules index 824082a7dc..ce2e919bc3 100644 --- a/.gitmodules +++ b/.gitmodules @@ -59,3 +59,6 @@ path = piper url = https://github.com/shaunren/piper.git branch = library +[submodule "openfst"] + path = openfst + url = https://github.com/alphacep/openfst diff --git a/Makefile.in b/Makefile.in index 0aedc5f27b..020ec23cbe 100644 --- a/Makefile.in +++ b/Makefile.in @@ -400,6 +400,47 @@ $(OBJ)/.piper-x86_64-post-build: cp -a $(PIPER_x86_64_DST)/{espeak-ng-data,libtashkeel_model.ort} $(DST_DIR)/share/ touch $@ +## +## openfst +## + +OPENFST_SOURCE_ARGS = \ + --include src/include/fst/config.h.in \ + --exclude aclocal.m4 \ + --exclude ar-lib \ + --exclude autom4te.cache \ + --exclude compile \ + --exclude config.guess \ + --exclude config.h.in \ + --exclude config.sub \ + --exclude configure \ + --exclude depcomp \ + --exclude install-sh \ + --exclude ltmain.sh \ + --exclude m4/libtool.m4 \ + --exclude m4/ltoptions.m4 \ + --exclude m4/ltsugar.m4 \ + --exclude m4/ltversion.m4 \ + --exclude m4/lt~obsolete.m4 \ + --exclude Makefile.in \ + --exclude missing \ + --exclude test-driver \ + +OPENFST_CONFIGURE_ARGS = \ + --enable-silent-rules \ + --enable-static \ + --disable-shared \ + --enable-far \ + --enable-ngram-fsts \ + --enable-lookahead-fsts \ + --with-pic \ + --disable-bin \ + +$(eval $(call rules-source,openfst,$(SRCDIR)/openfst)) +$(eval $(call rules-configure,openfst,i386,unix)) +$(eval $(call rules-configure,openfst,x86_64,unix)) + + ## ## wine ## diff --git a/openfst b/openfst new file mode 160000 index 0000000000..7dfd808194 --- /dev/null +++ b/openfst @@ -0,0 +1 @@ +Subproject commit 7dfd808194105162f20084bb4d8e4ee4b65266d5 From 87750d0cfea56c05634b64a14e05cfc963a5231d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernhard=20K=C3=B6lbl?= Date: Wed, 28 Jun 2023 12:02:05 +0200 Subject: [PATCH 03/65] build: Add and build Kaldi submodule. --- .gitmodules | 4 ++++ Makefile.in | 23 +++++++++++++++++++++++ kaldi | 1 + 3 files changed, 28 insertions(+) create mode 160000 kaldi diff --git a/.gitmodules b/.gitmodules index ce2e919bc3..a8b156f8be 100644 --- a/.gitmodules +++ b/.gitmodules @@ -62,3 +62,7 @@ [submodule "openfst"] path = openfst url = https://github.com/alphacep/openfst +[submodule "kaldi"] + path = kaldi + url = https://github.com/alphacep/kaldi + branch = vosk diff --git a/Makefile.in b/Makefile.in index 020ec23cbe..c7674902df 100644 --- a/Makefile.in +++ b/Makefile.in @@ -441,6 +441,29 @@ $(eval $(call rules-configure,openfst,i386,unix)) $(eval $(call rules-configure,openfst,x86_64,unix)) +## +## kaldi +## + +KALDI_SOURCE_ARGS = \ + --exclude src/**/CMakeLists.txt \ + +KALDI_CMAKE_ARGS = \ + -DKALDI_VERSION=5.5-proton \ + -DBLAS_LIBRARIES=-lblas \ + -DLAPACK_LIBRARIES=-llapack \ + -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ + -DBUILD_SHARED_LIBS=OFF \ + -DKALDI_BUILD_TEST=OFF \ + -DKALDI_BUILD_EXE=OFF \ + +KALDI_DEPENDS = openfst + +$(eval $(call rules-source,kaldi,$(SRCDIR)/kaldi)) +$(eval $(call rules-cmake,kaldi,i386,unix)) +$(eval $(call rules-cmake,kaldi,x86_64,unix)) + + ## ## wine ## diff --git a/kaldi b/kaldi new file mode 160000 index 0000000000..a25f216f5c --- /dev/null +++ b/kaldi @@ -0,0 +1 @@ +Subproject commit a25f216f5ce4eec5e45a6ab7651e20c9840a05cd From 162cba7763c5a1ef084b4f406f6eccd13c6921fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernhard=20K=C3=B6lbl?= Date: Wed, 28 Jun 2023 12:04:05 +0200 Subject: [PATCH 04/65] build: Add and build Vosk submodule. --- .gitmodules | 3 +++ Makefile.in | 16 +++++++++++++++- vosk-api | 1 + 3 files changed, 19 insertions(+), 1 deletion(-) create mode 160000 vosk-api diff --git a/.gitmodules b/.gitmodules index a8b156f8be..afaf96a3bf 100644 --- a/.gitmodules +++ b/.gitmodules @@ -66,3 +66,6 @@ path = kaldi url = https://github.com/alphacep/kaldi branch = vosk +[submodule "vosk-api"] + path = vosk-api + url = https://github.com/alphacep/vosk-api diff --git a/Makefile.in b/Makefile.in index c7674902df..7f2934120c 100644 --- a/Makefile.in +++ b/Makefile.in @@ -464,6 +464,20 @@ $(eval $(call rules-cmake,kaldi,i386,unix)) $(eval $(call rules-cmake,kaldi,x86_64,unix)) +## +## vosk +## + +VOSK_CMAKE_ARGS = \ + -DBUILD_SHARED_LIBS=ON \ + +VOSK_DEPENDS = openfst kaldi + +$(eval $(call rules-source,vosk,$(SRCDIR)/vosk-api)) +$(eval $(call rules-cmake,vosk,i386,unix)) +$(eval $(call rules-cmake,vosk,x86_64,unix)) + + ## ## wine ## @@ -504,7 +518,7 @@ WINE_x86_64_AUTOCONF_ARGS += \ VKD3D_PE_CFLAGS="-I$(VULKAN_HEADERS_x86_64_DST)/include -I$(VKD3D_x86_64_DST)/include/vkd3d" \ VKD3D_PE_LIBS="-L$(VKD3D_x86_64_LIBDIR)/vkd3d/x86_64-windows -l:libvkd3d-1.dll -l:libvkd3d-shader-1.dll" -WINE_DEPENDS = gst_orc gstreamer gst_base vkd3d ffmpeg +WINE_DEPENDS = gst_orc gstreamer gst_base vkd3d ffmpeg openfst kaldi vosk WINE_x86_64_DEPENDS = piper WINE_i386_LIBDIR = $(WINE_i386_DST)/lib diff --git a/vosk-api b/vosk-api new file mode 160000 index 0000000000..12f29a3415 --- /dev/null +++ b/vosk-api @@ -0,0 +1 @@ +Subproject commit 12f29a3415e4967e088ed09202bfb0007e5a1787 From 8ee304d7e395576308c8ca2c62b37a4a8bbe3bf3 Mon Sep 17 00:00:00 2001 From: Arkadiusz Hiler Date: Fri, 5 May 2023 16:26:03 +0300 Subject: [PATCH 05/65] Bump prefix version to higher than Proton Stable. --- proton | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proton b/proton index 2ba94cf1d8..f7d97e4ae2 100755 --- a/proton +++ b/proton @@ -41,7 +41,7 @@ from random import randrange #To enable debug logging, copy "user_settings.sample.py" to "user_settings.py" #and edit it if needed. -CURRENT_PREFIX_VERSION="10.0-105" +CURRENT_PREFIX_VERSION="10.0-200" PFX="Proton: " ld_path_var = "LD_LIBRARY_PATH" From 27120315f3933fe2324e51af1d19aa2b69fb8612 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Bernon?= Date: Thu, 11 Jan 2024 20:55:07 +0100 Subject: [PATCH 06/65] proton: Reset the SteamVirtualGamepadInfo environment variable. To keep SDL 2.30 old behavior until we start supporting it. CW-Bug-Id: #23185 --- proton | 3 +++ 1 file changed, 3 insertions(+) diff --git a/proton b/proton index f7d97e4ae2..2e436295b2 100755 --- a/proton +++ b/proton @@ -1894,6 +1894,9 @@ if __name__ == "__main__": log("No compat data path?") sys.exit(1) + # CW-Bug-Id: #23185 Avoid triggering new SDL 2.30 behavior. + os.environ.pop('SteamVirtualGamepadInfo', None) + g_proton = Proton(os.path.dirname(sys.argv[0])) g_proton.cleanup_legacy_dist() From 36c67faa70c87b0cf39c2dfc92f1ea1e7176d1bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Bernon?= Date: Tue, 23 Jan 2024 09:43:02 +0100 Subject: [PATCH 07/65] proton: Enable the new SDL 2.30 Steam Input integration. CW-Bug-Id: #23185 --- proton | 3 --- 1 file changed, 3 deletions(-) diff --git a/proton b/proton index 2e436295b2..f7d97e4ae2 100755 --- a/proton +++ b/proton @@ -1894,9 +1894,6 @@ if __name__ == "__main__": log("No compat data path?") sys.exit(1) - # CW-Bug-Id: #23185 Avoid triggering new SDL 2.30 behavior. - os.environ.pop('SteamVirtualGamepadInfo', None) - g_proton = Proton(os.path.dirname(sys.argv[0])) g_proton.cleanup_legacy_dist() From c8dc68d75afdef6e2c8976d8ec09d0fdcc618e17 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Fri, 6 Jun 2025 12:27:56 -0600 Subject: [PATCH 08/65] proton: Copy ucrtbase.dll instead of symlinking. CW-Bug-Id: #25520 --- proton | 1 + 1 file changed, 1 insertion(+) diff --git a/proton b/proton index f7d97e4ae2..006d9c6ff1 100755 --- a/proton +++ b/proton @@ -980,6 +980,7 @@ class CompatData: "vcomp1*.dll," + "vccorlib1*.dll," + "vcruntime1*.dll," + + "ucrtbase.dll," + #some games balk at ntdll symlink(?) "ntdll.dll," + From 43965f3254f62cdcb9dca6488a278fe208988422 Mon Sep 17 00:00:00 2001 From: Anna Lasky Date: Tue, 17 Jun 2025 12:53:29 -0500 Subject: [PATCH 09/65] proton: Disable nvapi for Digseum. CW-Bug-Id: #25564 --- proton | 1 + 1 file changed, 1 insertion(+) diff --git a/proton b/proton index 006d9c6ff1..ad5a69f762 100755 --- a/proton +++ b/proton @@ -1353,6 +1353,7 @@ def default_compat_config(): "2067160", #Simulakros "2621010", #Simulakros Demo "368500", #Assassin's Creed Syndicate + "3361470", #Digseum ]: ret.add("disablenvapi") From f13ae91ed42149ac0bb20bb6831132cdb5978a28 Mon Sep 17 00:00:00 2001 From: Anna Lasky Date: Tue, 17 Jun 2025 13:06:45 -0500 Subject: [PATCH 10/65] Revert "proton: Disable nvapi for Digseum." This reverts commit 036b17d2dc00528f1fd5d1fce32c869ed46a081e. --- proton | 1 - 1 file changed, 1 deletion(-) diff --git a/proton b/proton index ad5a69f762..006d9c6ff1 100755 --- a/proton +++ b/proton @@ -1353,7 +1353,6 @@ def default_compat_config(): "2067160", #Simulakros "2621010", #Simulakros Demo "368500", #Assassin's Creed Syndicate - "3361470", #Digseum ]: ret.add("disablenvapi") From 5d7d50cd6c93e8f9921907ff01ce8e18b425420e Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Fri, 13 Jun 2025 16:36:05 -0600 Subject: [PATCH 11/65] lsteamclient: Support SteamNetworkingFakeIPResult in ISteamNetworkingUtils_SetConfigValue(). CW-Bug-Id: #25554 --- lsteamclient/unix_steam_networking_manual.cpp | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/lsteamclient/unix_steam_networking_manual.cpp b/lsteamclient/unix_steam_networking_manual.cpp index ee4d831276..172b3ba8a6 100644 --- a/lsteamclient/unix_steam_networking_manual.cpp +++ b/lsteamclient/unix_steam_networking_manual.cpp @@ -305,11 +305,19 @@ static void U_CDECL u_SteamNetworkingMessagesSessionFailed( SteamNetworkingMessa if (w_SteamNetworkingMessagesSessionFailed) queue_cdecl_func_callback( (w_cdecl_func)w_SteamNetworkingMessagesSessionFailed, dat, sizeof(*dat) ); } +static void (*W_CDECL w_SteamNetworkingFakeIPResult)( SteamNetworkingFakeIPResult_t * ); +static void U_CDECL u_SteamNetworkingFakeIPResult( SteamNetworkingFakeIPResult_t *dat ) +{ + if (w_SteamNetworkingFakeIPResult) queue_cdecl_func_callback( (w_cdecl_func)w_SteamNetworkingFakeIPResult, dat, sizeof(*dat) ); +} + template< typename Params, typename Umsg > static NTSTATUS ISteamNetworkingUtils_SetConfigValue( u_ISteamNetworkingUtils_SteamNetworkingUtils003 *iface, Params *params, bool wow64, Umsg const& ) { void *u_fn; /* api requires passing pointer-to-pointer */ + TRACE("eValue %d, pArg %p.\n", params->eValue, params->pArg); + switch (params->eValue) { #define CASE( y ) \ @@ -333,6 +341,11 @@ static NTSTATUS ISteamNetworkingUtils_SetConfigValue( u_ISteamNetworkingUtils_St case 203 /*RelayNetworkStatusChanged*/: CASE( SteamRelayNetworkStatusChanged ) case 204 /*MessagesSessionRequest*/: CASE( SteamNetworkingMessagesSessionRequest ) case 205 /*MessagesSessionFailed*/: CASE( SteamNetworkingMessagesSessionFailed ) + case 207 /*FakeIPResult*/: CASE( SteamNetworkingFakeIPResult ) + + case 206 /*CreateConnectionSignaling*/: + FIXME( "CreateConnectionSignaling not handled.\n"); + /* fallthrough */ #undef CASE @@ -363,6 +376,8 @@ static NTSTATUS ISteamNetworkingUtils_SetConfigValue( u_ISteamNetworkingUtils_St bool ret; void *u_fn; /* api requires passing pointer-to-pointer */ + TRACE("eValue %d, pArg %p.\n", params->eValue, params->pArg); + switch (params->eValue) { @@ -387,6 +402,11 @@ static NTSTATUS ISteamNetworkingUtils_SetConfigValue( u_ISteamNetworkingUtils_St case 203 /*RelayNetworkStatusChanged*/: CASE( SteamRelayNetworkStatusChanged ) case 204 /*MessagesSessionRequest*/: CASE( SteamNetworkingMessagesSessionRequest ) case 205 /*MessagesSessionFailed*/: CASE( SteamNetworkingMessagesSessionFailed_153a ) + case 207 /*FakeIPResult*/: CASE( SteamNetworkingFakeIPResult ) + + case 206 /*CreateConnectionSignaling*/: + FIXME( "CreateConnectionSignaling not handled.\n"); + /* fallthrough */ #undef CASE From 31eeefb8b18fe2c1a48b66cdec756ad30d3b7726 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Fri, 13 Jun 2025 19:56:28 -0600 Subject: [PATCH 12/65] lsteamclient: Factor out wrap_callback_cdecl(). CW-Bug-Id: #25554 --- lsteamclient/unix_steam_networking_manual.cpp | 195 ++++++++---------- 1 file changed, 82 insertions(+), 113 deletions(-) diff --git a/lsteamclient/unix_steam_networking_manual.cpp b/lsteamclient/unix_steam_networking_manual.cpp index 172b3ba8a6..77953ef390 100644 --- a/lsteamclient/unix_steam_networking_manual.cpp +++ b/lsteamclient/unix_steam_networking_manual.cpp @@ -3,6 +3,7 @@ #endif #include "unix_private.h" +#include WINE_DEFAULT_DEBUG_CHANNEL(steamclient); @@ -274,147 +275,115 @@ static NTSTATUS ISteamNetworkingUtils_AllocateMessage( Iface *iface, Params *par return 0; } -static void (*W_CDECL w_SteamNetConnectionStatusChanged)( w_SteamNetConnectionStatusChangedCallback_t_151 * ); -static void U_CDECL u_SteamNetConnectionStatusChanged( u_SteamNetConnectionStatusChangedCallback_t_151 *u_dat ) -{ - w_SteamNetConnectionStatusChangedCallback_t_151 w_dat = *u_dat; - if (w_SteamNetConnectionStatusChanged) queue_cdecl_func_callback( (w_cdecl_func)w_SteamNetConnectionStatusChanged, &w_dat, sizeof(w_dat) ); -} - -static void (*W_CDECL w_SteamNetAuthenticationStatusChanged)( SteamNetAuthenticationStatus_t * ); -static void U_CDECL u_SteamNetAuthenticationStatusChanged( SteamNetAuthenticationStatus_t *dat ) -{ - if (w_SteamNetAuthenticationStatusChanged) queue_cdecl_func_callback( (w_cdecl_func)w_SteamNetAuthenticationStatusChanged, dat, sizeof(*dat) ); -} - -static void (*W_CDECL w_SteamRelayNetworkStatusChanged)( SteamRelayNetworkStatus_t * ); -static void U_CDECL u_SteamRelayNetworkStatusChanged( SteamRelayNetworkStatus_t *dat ) -{ - if (w_SteamRelayNetworkStatusChanged) queue_cdecl_func_callback( (w_cdecl_func)w_SteamRelayNetworkStatusChanged, dat, sizeof(*dat) ); -} - -static void (*W_CDECL w_SteamNetworkingMessagesSessionRequest)( SteamNetworkingMessagesSessionRequest_t_151 * ); -static void U_CDECL u_SteamNetworkingMessagesSessionRequest( SteamNetworkingMessagesSessionRequest_t_151 *dat ) -{ - if (w_SteamNetworkingMessagesSessionRequest) queue_cdecl_func_callback( (w_cdecl_func)w_SteamNetworkingMessagesSessionRequest, dat, sizeof(*dat) ); -} - -static void (*W_CDECL w_SteamNetworkingMessagesSessionFailed)( SteamNetworkingMessagesSessionFailed_t_151 * ); -static void U_CDECL u_SteamNetworkingMessagesSessionFailed( SteamNetworkingMessagesSessionFailed_t_151 *dat ) -{ - if (w_SteamNetworkingMessagesSessionFailed) queue_cdecl_func_callback( (w_cdecl_func)w_SteamNetworkingMessagesSessionFailed, dat, sizeof(*dat) ); +template +class wrap_callback_cdecl_impl +{ + private: + static void *w_callback_func; + static void U_CDECL u_callback( u_callback_type *u_dat ) + { + TRACE( "u_callback %p, w_callback_func %p, u_dat %p.\n", u_callback, w_callback_func, u_dat ); + if (std::is_same::value) + { + if (w_callback_func) queue_cdecl_func_callback( (w_cdecl_func)w_callback_func, u_dat, sizeof(*u_dat) ); + } + else + { + w_callback_type w_dat = *u_dat; + if (w_callback_func) queue_cdecl_func_callback( (w_cdecl_func)w_callback_func, &w_dat, sizeof(w_dat) ); + } + } + + public: + static void *get_wrapped_callback( void ***w_callback_ptr ) + { + *w_callback_ptr = &w_callback_func; + return (void *)u_callback; + } +}; + +template +void *wrap_callback_cdecl_impl::w_callback_func; + +template +void *wrap_callback_cdecl( int eValue, void ***w_callback_ptr ) +{ + static_assert(sdk_version == 151 || sdk_version == 153); + + switch (eValue) + { + case 201 /*ConnectionStatusChanged*/: + if (sdk_version == 151) + return wrap_callback_cdecl_impl + ::get_wrapped_callback( w_callback_ptr ); + return wrap_callback_cdecl_impl + ::get_wrapped_callback( w_callback_ptr ); + case 202 /*AuthStatusChanged*/: + return wrap_callback_cdecl_impl::get_wrapped_callback( w_callback_ptr ); + case 203 /*RelayNetworkStatusChanged*/: + return wrap_callback_cdecl_impl::get_wrapped_callback( w_callback_ptr ); + case 204 /*MessagesSessionRequest*/: + return wrap_callback_cdecl_impl::get_wrapped_callback( w_callback_ptr ); + case 205 /*MessagesSessionFailed*/: + if (sdk_version == 151) + return wrap_callback_cdecl_impl + ::get_wrapped_callback( w_callback_ptr ); + return wrap_callback_cdecl_impl + ::get_wrapped_callback( w_callback_ptr ); + case 206 /*CreateConnectionSignaling*/: + FIXME( "CreateConnectionSignaling not handled.\n"); + break; + case 207 /*FakeIPResult*/: + return wrap_callback_cdecl_impl + ::get_wrapped_callback( w_callback_ptr ); + } + return nullptr; } -static void (*W_CDECL w_SteamNetworkingFakeIPResult)( SteamNetworkingFakeIPResult_t * ); -static void U_CDECL u_SteamNetworkingFakeIPResult( SteamNetworkingFakeIPResult_t *dat ) -{ - if (w_SteamNetworkingFakeIPResult) queue_cdecl_func_callback( (w_cdecl_func)w_SteamNetworkingFakeIPResult, dat, sizeof(*dat) ); -} template< typename Params, typename Umsg > static NTSTATUS ISteamNetworkingUtils_SetConfigValue( u_ISteamNetworkingUtils_SteamNetworkingUtils003 *iface, Params *params, bool wow64, Umsg const& ) { void *u_fn; /* api requires passing pointer-to-pointer */ + void **w_callback_ptr; TRACE("eValue %d, pArg %p.\n", params->eValue, params->pArg); - switch (params->eValue) + if (params->pArg && (u_fn = wrap_callback_cdecl<151>( params->eValue, &w_callback_ptr ))) + { + if (!*(void **)(const void *)params->pArg) u_fn = NULL; + params->_ret = iface->SetConfigValue( params->eValue, params->eScopeType, + params->scopeObj, params->eDataType, &u_fn ); + if (params->_ret) *w_callback_ptr = *(void **)(const void *)params->pArg; + } + else { -#define CASE( y ) \ - if (!params->pArg) \ - { \ - params->_ret = iface->SetConfigValue( params->eValue, params->eScopeType, \ - params->scopeObj, params->eDataType, NULL ); \ - } \ - else \ - { \ - if (*(void **)(const void *)params->pArg == NULL) u_fn = NULL; \ - else u_fn = (void *)&u_##y; \ - params->_ret = iface->SetConfigValue( params->eValue, params->eScopeType, \ - params->scopeObj, params->eDataType, &u_fn ); \ - if (params->_ret) w_##y = *(decltype(w_##y) *)(const void *)params->pArg; \ - } \ - break; - - case 201 /*ConnectionStatusChanged*/: CASE( SteamNetConnectionStatusChanged ) - case 202 /*AuthStatusChanged*/: CASE( SteamNetAuthenticationStatusChanged ) - case 203 /*RelayNetworkStatusChanged*/: CASE( SteamRelayNetworkStatusChanged ) - case 204 /*MessagesSessionRequest*/: CASE( SteamNetworkingMessagesSessionRequest ) - case 205 /*MessagesSessionFailed*/: CASE( SteamNetworkingMessagesSessionFailed ) - case 207 /*FakeIPResult*/: CASE( SteamNetworkingFakeIPResult ) - - case 206 /*CreateConnectionSignaling*/: - FIXME( "CreateConnectionSignaling not handled.\n"); - /* fallthrough */ - -#undef CASE - - default: params->_ret = iface->SetConfigValue( params->eValue, params->eScopeType, params->scopeObj, params->eDataType, params->pArg ); } - return 0; } -static void (*W_CDECL w_SteamNetConnectionStatusChanged_153a)( w_SteamNetConnectionStatusChangedCallback_t_153a * ); -static void U_CDECL u_SteamNetConnectionStatusChanged_153a( u_SteamNetConnectionStatusChangedCallback_t_153a *u_dat ) -{ - w_SteamNetConnectionStatusChangedCallback_t_153a w_dat = *u_dat; - if (w_SteamNetConnectionStatusChanged_153a) queue_cdecl_func_callback( (w_cdecl_func)w_SteamNetConnectionStatusChanged_153a, &w_dat, sizeof(w_dat) ); -} - -static void (*W_CDECL w_SteamNetworkingMessagesSessionFailed_153a)( SteamNetworkingMessagesSessionFailed_t_153a * ); -static void U_CDECL u_SteamNetworkingMessagesSessionFailed_153a( SteamNetworkingMessagesSessionFailed_t_153a *dat ) -{ - if (w_SteamNetworkingMessagesSessionFailed_153a) queue_cdecl_func_callback( (w_cdecl_func)w_SteamNetworkingMessagesSessionFailed_153a, dat, sizeof(*dat) ); -} - template< typename Params, typename Umsg > static NTSTATUS ISteamNetworkingUtils_SetConfigValue( u_ISteamNetworkingUtils_SteamNetworkingUtils004 *iface, Params *params, bool wow64, Umsg const& ) { - bool ret; void *u_fn; /* api requires passing pointer-to-pointer */ + void **w_callback_ptr; TRACE("eValue %d, pArg %p.\n", params->eValue, params->pArg); - switch (params->eValue) + if (params->pArg && (u_fn = wrap_callback_cdecl<153>( params->eValue, &w_callback_ptr ))) + { + if (!*(void **)(const void *)params->pArg) u_fn = NULL; + params->_ret = iface->SetConfigValue( params->eValue, params->eScopeType, + params->scopeObj, params->eDataType, &u_fn ); + if (params->_ret) *w_callback_ptr = *(void **)(const void *)params->pArg; + } + else { - -#define CASE( y ) \ - if (!params->pArg) \ - { \ - params->_ret = iface->SetConfigValue( params->eValue, params->eScopeType, \ - params->scopeObj, params->eDataType, NULL ); \ - } \ - else \ - { \ - if (*(void **)(const void *)params->pArg == NULL) u_fn = NULL; \ - else u_fn = (void *)&u_##y; \ - params->_ret = iface->SetConfigValue( params->eValue, params->eScopeType, \ - params->scopeObj, params->eDataType, &u_fn ); \ - if (params->_ret) w_##y = *(decltype(w_##y) *)(const void *)params->pArg; \ - } \ - break; - - case 201 /*ConnectionStatusChanged*/: CASE( SteamNetConnectionStatusChanged_153a ) - case 202 /*AuthStatusChanged*/: CASE( SteamNetAuthenticationStatusChanged ) - case 203 /*RelayNetworkStatusChanged*/: CASE( SteamRelayNetworkStatusChanged ) - case 204 /*MessagesSessionRequest*/: CASE( SteamNetworkingMessagesSessionRequest ) - case 205 /*MessagesSessionFailed*/: CASE( SteamNetworkingMessagesSessionFailed_153a ) - case 207 /*FakeIPResult*/: CASE( SteamNetworkingFakeIPResult ) - - case 206 /*CreateConnectionSignaling*/: - FIXME( "CreateConnectionSignaling not handled.\n"); - /* fallthrough */ - -#undef CASE - - default: params->_ret = iface->SetConfigValue( params->eValue, params->eScopeType, params->scopeObj, params->eDataType, params->pArg ); } - return 0; } From 8158555508ec3f14a26153166268d9196bf58d32 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Fri, 13 Jun 2025 17:11:36 -0600 Subject: [PATCH 13/65] lsteamclient: Make functions which take array of SteamNetworkingConfigValue_t manual. CW-Bug-Id: #25554 --- ...rkingSockets_SteamNetworkingSockets012.cpp | 144 ------------------ lsteamclient/gen_wrapper.py | 9 +- lsteamclient/unix_steam_networking_manual.cpp | 64 ++++++++ 3 files changed, 72 insertions(+), 145 deletions(-) diff --git a/lsteamclient/cppISteamNetworkingSockets_SteamNetworkingSockets012.cpp b/lsteamclient/cppISteamNetworkingSockets_SteamNetworkingSockets012.cpp index bf2d791be7..8d63e2dc5d 100644 --- a/lsteamclient/cppISteamNetworkingSockets_SteamNetworkingSockets012.cpp +++ b/lsteamclient/cppISteamNetworkingSockets_SteamNetworkingSockets012.cpp @@ -5,78 +5,6 @@ #pragma makedep unix #endif -NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets012_CreateListenSocketIP( void *args ) -{ - struct ISteamNetworkingSockets_SteamNetworkingSockets012_CreateListenSocketIP_params *params = (struct ISteamNetworkingSockets_SteamNetworkingSockets012_CreateListenSocketIP_params *)args; - struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *)params->u_iface; - params->_ret = iface->CreateListenSocketIP( params->localAddress, params->nOptions, params->pOptions ); - return 0; -} - -#if defined(__x86_64__) || defined(__aarch64__) -NTSTATUS wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_CreateListenSocketIP( void *args ) -{ - struct wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_CreateListenSocketIP_params *params = (struct wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_CreateListenSocketIP_params *)args; - struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *)params->u_iface; - params->_ret = iface->CreateListenSocketIP( params->localAddress, params->nOptions, params->pOptions ); - return 0; -} -#endif - -NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectByIPAddress( void *args ) -{ - struct ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectByIPAddress_params *params = (struct ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectByIPAddress_params *)args; - struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *)params->u_iface; - params->_ret = iface->ConnectByIPAddress( params->address, params->nOptions, params->pOptions ); - return 0; -} - -#if defined(__x86_64__) || defined(__aarch64__) -NTSTATUS wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectByIPAddress( void *args ) -{ - struct wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectByIPAddress_params *params = (struct wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectByIPAddress_params *)args; - struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *)params->u_iface; - params->_ret = iface->ConnectByIPAddress( params->address, params->nOptions, params->pOptions ); - return 0; -} -#endif - -NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets012_CreateListenSocketP2P( void *args ) -{ - struct ISteamNetworkingSockets_SteamNetworkingSockets012_CreateListenSocketP2P_params *params = (struct ISteamNetworkingSockets_SteamNetworkingSockets012_CreateListenSocketP2P_params *)args; - struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *)params->u_iface; - params->_ret = iface->CreateListenSocketP2P( params->nLocalVirtualPort, params->nOptions, params->pOptions ); - return 0; -} - -#if defined(__x86_64__) || defined(__aarch64__) -NTSTATUS wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_CreateListenSocketP2P( void *args ) -{ - struct wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_CreateListenSocketP2P_params *params = (struct wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_CreateListenSocketP2P_params *)args; - struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *)params->u_iface; - params->_ret = iface->CreateListenSocketP2P( params->nLocalVirtualPort, params->nOptions, params->pOptions ); - return 0; -} -#endif - -NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectP2P( void *args ) -{ - struct ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectP2P_params *params = (struct ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectP2P_params *)args; - struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *)params->u_iface; - params->_ret = iface->ConnectP2P( params->identityRemote, params->nRemoteVirtualPort, params->nOptions, params->pOptions ); - return 0; -} - -#if defined(__x86_64__) || defined(__aarch64__) -NTSTATUS wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectP2P( void *args ) -{ - struct wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectP2P_params *params = (struct wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectP2P_params *)args; - struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *)params->u_iface; - params->_ret = iface->ConnectP2P( params->identityRemote, params->nRemoteVirtualPort, params->nOptions, params->pOptions ); - return 0; -} -#endif - NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets012_AcceptConnection( void *args ) { struct ISteamNetworkingSockets_SteamNetworkingSockets012_AcceptConnection_params *params = (struct ISteamNetworkingSockets_SteamNetworkingSockets012_AcceptConnection_params *)args; @@ -491,24 +419,6 @@ NTSTATUS wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_FindRelayAuthTi } #endif -NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectToHostedDedicatedServer( void *args ) -{ - struct ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectToHostedDedicatedServer_params *params = (struct ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectToHostedDedicatedServer_params *)args; - struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *)params->u_iface; - params->_ret = iface->ConnectToHostedDedicatedServer( params->identityTarget, params->nRemoteVirtualPort, params->nOptions, params->pOptions ); - return 0; -} - -#if defined(__x86_64__) || defined(__aarch64__) -NTSTATUS wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectToHostedDedicatedServer( void *args ) -{ - struct wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectToHostedDedicatedServer_params *params = (struct wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectToHostedDedicatedServer_params *)args; - struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *)params->u_iface; - params->_ret = iface->ConnectToHostedDedicatedServer( params->identityTarget, params->nRemoteVirtualPort, params->nOptions, params->pOptions ); - return 0; -} -#endif - NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets012_GetHostedDedicatedServerPort( void *args ) { struct ISteamNetworkingSockets_SteamNetworkingSockets012_GetHostedDedicatedServerPort_params *params = (struct ISteamNetworkingSockets_SteamNetworkingSockets012_GetHostedDedicatedServerPort_params *)args; @@ -563,24 +473,6 @@ NTSTATUS wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_GetHostedDedica } #endif -NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets012_CreateHostedDedicatedServerListenSocket( void *args ) -{ - struct ISteamNetworkingSockets_SteamNetworkingSockets012_CreateHostedDedicatedServerListenSocket_params *params = (struct ISteamNetworkingSockets_SteamNetworkingSockets012_CreateHostedDedicatedServerListenSocket_params *)args; - struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *)params->u_iface; - params->_ret = iface->CreateHostedDedicatedServerListenSocket( params->nLocalVirtualPort, params->nOptions, params->pOptions ); - return 0; -} - -#if defined(__x86_64__) || defined(__aarch64__) -NTSTATUS wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_CreateHostedDedicatedServerListenSocket( void *args ) -{ - struct wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_CreateHostedDedicatedServerListenSocket_params *params = (struct wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_CreateHostedDedicatedServerListenSocket_params *)args; - struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *)params->u_iface; - params->_ret = iface->CreateHostedDedicatedServerListenSocket( params->nLocalVirtualPort, params->nOptions, params->pOptions ); - return 0; -} -#endif - NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets012_GetGameCoordinatorServerLogin( void *args ) { struct ISteamNetworkingSockets_SteamNetworkingSockets012_GetGameCoordinatorServerLogin_params *params = (struct ISteamNetworkingSockets_SteamNetworkingSockets012_GetGameCoordinatorServerLogin_params *)args; @@ -599,24 +491,6 @@ NTSTATUS wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_GetGameCoordina } #endif -NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectP2PCustomSignaling( void *args ) -{ - struct ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectP2PCustomSignaling_params *params = (struct ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectP2PCustomSignaling_params *)args; - struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *)params->u_iface; - params->_ret = iface->ConnectP2PCustomSignaling( params->pSignaling, params->pPeerIdentity, params->nRemoteVirtualPort, params->nOptions, params->pOptions ); - return 0; -} - -#if defined(__x86_64__) || defined(__aarch64__) -NTSTATUS wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectP2PCustomSignaling( void *args ) -{ - struct wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectP2PCustomSignaling_params *params = (struct wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_ConnectP2PCustomSignaling_params *)args; - struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *)params->u_iface; - params->_ret = iface->ConnectP2PCustomSignaling( params->pSignaling, params->pPeerIdentity, params->nRemoteVirtualPort, params->nOptions, params->pOptions ); - return 0; -} -#endif - NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets012_ReceivedP2PCustomSignal( void *args ) { struct ISteamNetworkingSockets_SteamNetworkingSockets012_ReceivedP2PCustomSignal_params *params = (struct ISteamNetworkingSockets_SteamNetworkingSockets012_ReceivedP2PCustomSignal_params *)args; @@ -743,24 +617,6 @@ NTSTATUS wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_GetFakeIP( void } #endif -NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets012_CreateListenSocketP2PFakeIP( void *args ) -{ - struct ISteamNetworkingSockets_SteamNetworkingSockets012_CreateListenSocketP2PFakeIP_params *params = (struct ISteamNetworkingSockets_SteamNetworkingSockets012_CreateListenSocketP2PFakeIP_params *)args; - struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *)params->u_iface; - params->_ret = iface->CreateListenSocketP2PFakeIP( params->idxFakePort, params->nOptions, params->pOptions ); - return 0; -} - -#if defined(__x86_64__) || defined(__aarch64__) -NTSTATUS wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_CreateListenSocketP2PFakeIP( void *args ) -{ - struct wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_CreateListenSocketP2PFakeIP_params *params = (struct wow64_ISteamNetworkingSockets_SteamNetworkingSockets012_CreateListenSocketP2PFakeIP_params *)args; - struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *iface = (struct u_ISteamNetworkingSockets_SteamNetworkingSockets012 *)params->u_iface; - params->_ret = iface->CreateListenSocketP2PFakeIP( params->idxFakePort, params->nOptions, params->pOptions ); - return 0; -} -#endif - NTSTATUS ISteamNetworkingSockets_SteamNetworkingSockets012_GetRemoteFakeIPForConnection( void *args ) { struct ISteamNetworkingSockets_SteamNetworkingSockets012_GetRemoteFakeIPForConnection_params *params = (struct ISteamNetworkingSockets_SteamNetworkingSockets012_GetRemoteFakeIPForConnection_params *)args; diff --git a/lsteamclient/gen_wrapper.py b/lsteamclient/gen_wrapper.py index 3f2780a9d7..b2a2d5ef07 100755 --- a/lsteamclient/gen_wrapper.py +++ b/lsteamclient/gen_wrapper.py @@ -262,8 +262,15 @@ "ISteamNetworkingSockets_ReceiveMessagesOnListenSocket": True, "ISteamNetworkingSockets_ReceiveMessagesOnPollGroup": True, "ISteamNetworkingSockets_SendMessages": True, - "ISteamNetworkingSockets_ConnectP2PCustomSignaling": lambda ver, abi: abi == 'u' and ver <= 8, + "ISteamNetworkingSockets_ConnectP2PCustomSignaling": lambda ver, abi: abi == 'u' and (ver <= 8 or ver >= 12), "ISteamNetworkingSockets_ReceivedP2PCustomSignal": lambda ver, abi: abi == 'u' and ver <= 8, + "ISteamNetworkingSockets_CreateListenSocketIP": lambda ver, abi: abi == 'u' and ver >= 12, + "ISteamNetworkingSockets_ConnectByIPAddress": lambda ver, abi: abi == 'u' and ver >= 12, + "ISteamNetworkingSockets_CreateListenSocketP2P": lambda ver, abi: abi == 'u' and ver >= 12, + "ISteamNetworkingSockets_ConnectP2P": lambda ver, abi: abi == 'u' and ver >= 12, + "ISteamNetworkingSockets_ConnectToHostedDedicatedServer": lambda ver, abi: abi == 'u' and ver >= 12, + "ISteamNetworkingSockets_CreateHostedDedicatedServerListenSocket": lambda ver, abi: abi == 'u' and ver >= 12, + "ISteamNetworkingSockets_CreateListenSocketP2PFakeIP": lambda ver, abi: abi == 'u' and ver >= 12, "ISteamMatchmakingServers_CancelQuery": lambda ver, abi: (abi == 'u' and ver >= 2) or (abi == 'w'), "ISteamMatchmakingServers_GetServerCount": lambda ver, abi: abi == 'u' and ver >= 2, diff --git a/lsteamclient/unix_steam_networking_manual.cpp b/lsteamclient/unix_steam_networking_manual.cpp index 77953ef390..0c0ad8c810 100644 --- a/lsteamclient/unix_steam_networking_manual.cpp +++ b/lsteamclient/unix_steam_networking_manual.cpp @@ -407,6 +407,62 @@ static NTSTATUS ISteamNetworkingMessages_ReceiveMessagesOnChannel( Iface *iface, return 0; } +template< typename Iface, typename Params > +static NTSTATUS ISteamNetworkingSockets_CreateListenSocketIP( Iface *iface, Params *params, bool wow64 ) +{ + params->_ret = iface->CreateListenSocketIP( params->localAddress, params->nOptions, params->pOptions ); + return 0; +} + +template< typename Iface, typename Params > +static NTSTATUS ISteamNetworkingSockets_ConnectP2PCustomSignaling( Iface *iface, Params *params, bool wow64, u_SteamNetworkingMessage_t_153a const & ) +{ + params->_ret = iface->ConnectP2PCustomSignaling( params->pSignaling, params->pPeerIdentity, params->nRemoteVirtualPort, params->nOptions, params->pOptions ); + return 0; +} + +template< typename Iface, typename Params > +static NTSTATUS ISteamNetworkingSockets_ConnectByIPAddress( Iface *iface, Params *params, bool wow64 ) +{ + params->_ret = iface->ConnectByIPAddress( params->address, params->nOptions, params->pOptions ); + return 0; +} + +template< typename Iface, typename Params > +static NTSTATUS ISteamNetworkingSockets_CreateListenSocketP2P( Iface *iface, Params *params, bool wow64 ) +{ + params->_ret = iface->CreateListenSocketP2P( params->nLocalVirtualPort, params->nOptions, params->pOptions ); + return 0; +} + +template< typename Iface, typename Params > +static NTSTATUS ISteamNetworkingSockets_ConnectP2P( Iface *iface, Params *params, bool wow64 ) +{ + params->_ret = iface->ConnectP2P( params->identityRemote, params->nRemoteVirtualPort, params->nOptions, params->pOptions ); + return 0; +} + +template< typename Iface, typename Params > +static NTSTATUS ISteamNetworkingSockets_ConnectToHostedDedicatedServer( Iface *iface, Params *params, bool wow64 ) +{ + params->_ret = iface->ConnectToHostedDedicatedServer( params->identityTarget, params->nRemoteVirtualPort, params->nOptions, params->pOptions ); + return 0; +} + +template< typename Iface, typename Params > +static NTSTATUS ISteamNetworkingSockets_CreateHostedDedicatedServerListenSocket( Iface *iface, Params *params, bool wow64 ) +{ + params->_ret = iface->CreateHostedDedicatedServerListenSocket( params->nLocalVirtualPort, params->nOptions, params->pOptions ); + return 0; +} + +template< typename Iface, typename Params > +static NTSTATUS ISteamNetworkingSockets_CreateListenSocketP2PFakeIP( Iface *iface, Params *params, bool wow64 ) +{ + params->_ret = iface->CreateListenSocketP2PFakeIP( params->idxFakePort, params->nOptions, params->pOptions ); + return 0; +} + LSTEAMCLIENT_UNIX_IMPL( ISteamNetworkingSockets, SteamNetworkingSockets002, ReceiveMessagesOnConnection, u_SteamNetworkingMessage_t_144() ); LSTEAMCLIENT_UNIX_IMPL( ISteamNetworkingSockets, SteamNetworkingSockets002, ReceiveMessagesOnListenSocket, u_SteamNetworkingMessage_t_144() ); @@ -432,6 +488,14 @@ LSTEAMCLIENT_UNIX_IMPL( ISteamNetworkingSockets, SteamNetworkingSockets009, Send LSTEAMCLIENT_UNIX_IMPL( ISteamNetworkingSockets, SteamNetworkingSockets012, ReceiveMessagesOnConnection, u_SteamNetworkingMessage_t_153a() ); LSTEAMCLIENT_UNIX_IMPL( ISteamNetworkingSockets, SteamNetworkingSockets012, ReceiveMessagesOnPollGroup, u_SteamNetworkingMessage_t_153a() ); LSTEAMCLIENT_UNIX_IMPL( ISteamNetworkingSockets, SteamNetworkingSockets012, SendMessages, u_SteamNetworkingMessage_t_153a() ); +LSTEAMCLIENT_UNIX_IMPL( ISteamNetworkingSockets, SteamNetworkingSockets012, CreateListenSocketIP ); +LSTEAMCLIENT_UNIX_IMPL( ISteamNetworkingSockets, SteamNetworkingSockets012, ConnectP2PCustomSignaling, u_SteamNetworkingMessage_t_153a() ); +LSTEAMCLIENT_UNIX_IMPL( ISteamNetworkingSockets, SteamNetworkingSockets012, ConnectByIPAddress ); +LSTEAMCLIENT_UNIX_IMPL( ISteamNetworkingSockets, SteamNetworkingSockets012, CreateListenSocketP2P ); +LSTEAMCLIENT_UNIX_IMPL( ISteamNetworkingSockets, SteamNetworkingSockets012, ConnectP2P ); +LSTEAMCLIENT_UNIX_IMPL( ISteamNetworkingSockets, SteamNetworkingSockets012, ConnectToHostedDedicatedServer ); +LSTEAMCLIENT_UNIX_IMPL( ISteamNetworkingSockets, SteamNetworkingSockets012, CreateHostedDedicatedServerListenSocket ); +LSTEAMCLIENT_UNIX_IMPL( ISteamNetworkingSockets, SteamNetworkingSockets012, CreateListenSocketP2PFakeIP ); LSTEAMCLIENT_UNIX_IMPL( ISteamNetworkingUtils, SteamNetworkingUtils003, AllocateMessage, u_SteamNetworkingMessage_t_147() ); LSTEAMCLIENT_UNIX_IMPL( ISteamNetworkingUtils, SteamNetworkingUtils003, SetConfigValue, u_SteamNetworkingMessage_t_147() ); From b6f218b8ffbc10e3befaefb12c43c4af71fbd89a Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Fri, 13 Jun 2025 20:43:28 -0600 Subject: [PATCH 14/65] lsteamclient: Wrap callbacks in SteamNetworkingConfigValue_t. CW-Bug-Id: #25554 --- lsteamclient/unix_steam_networking_manual.cpp | 63 ++++++++++++++++--- 1 file changed, 55 insertions(+), 8 deletions(-) diff --git a/lsteamclient/unix_steam_networking_manual.cpp b/lsteamclient/unix_steam_networking_manual.cpp index 0c0ad8c810..4729f585b9 100644 --- a/lsteamclient/unix_steam_networking_manual.cpp +++ b/lsteamclient/unix_steam_networking_manual.cpp @@ -340,6 +340,45 @@ void *wrap_callback_cdecl( int eValue, void ***w_callback_ptr ) return nullptr; } +class convert_SteamNetworkingConfigValue_t_array +{ + private: + bool converted; + + public: + SteamNetworkingConfigValue_t *converted_options; + + convert_SteamNetworkingConfigValue_t_array( const SteamNetworkingConfigValue_t *options, int count ) + : converted_options((SteamNetworkingConfigValue_t *)options), converted(false) + { + void **wrap_callback_ptr; + void *u_fn; + int i; + + if (!options || !count) return; + + for (i = 0; i < count; ++i) + { + TRACE( "option eValue %d, type %d, value %s.\n", options[i].m_eValue, options[i].m_eDataType, wine_dbgstr_longlong(*(int64_t *)&options[i].m_val) ); + if (converted) converted_options[i] = options[i]; + if ((u_fn = wrap_callback_cdecl<153>( options[i].m_eValue, &wrap_callback_ptr))) + { + *wrap_callback_ptr = *(void **)&options[i].m_val; + if (!converted) + { + converted_options = (SteamNetworkingConfigValue_t *)malloc( sizeof(*converted_options) * count ); + converted = true; + memcpy( converted_options, options, (i + 1) * sizeof(*converted_options) ); + } + *(void **)&converted_options[i].m_val = u_fn; + } + } + } + ~convert_SteamNetworkingConfigValue_t_array() + { + if (converted) free( converted_options ); + } +}; template< typename Params, typename Umsg > static NTSTATUS ISteamNetworkingUtils_SetConfigValue( u_ISteamNetworkingUtils_SteamNetworkingUtils003 *iface, Params *params, bool wow64, Umsg const& ) @@ -410,56 +449,64 @@ static NTSTATUS ISteamNetworkingMessages_ReceiveMessagesOnChannel( Iface *iface, template< typename Iface, typename Params > static NTSTATUS ISteamNetworkingSockets_CreateListenSocketIP( Iface *iface, Params *params, bool wow64 ) { - params->_ret = iface->CreateListenSocketIP( params->localAddress, params->nOptions, params->pOptions ); + convert_SteamNetworkingConfigValue_t_array conv( params->pOptions, params->nOptions ); + params->_ret = iface->CreateListenSocketIP( params->localAddress, params->nOptions, conv.converted_options ); return 0; } template< typename Iface, typename Params > static NTSTATUS ISteamNetworkingSockets_ConnectP2PCustomSignaling( Iface *iface, Params *params, bool wow64, u_SteamNetworkingMessage_t_153a const & ) { - params->_ret = iface->ConnectP2PCustomSignaling( params->pSignaling, params->pPeerIdentity, params->nRemoteVirtualPort, params->nOptions, params->pOptions ); + convert_SteamNetworkingConfigValue_t_array conv( params->pOptions, params->nOptions ); + params->_ret = iface->ConnectP2PCustomSignaling( params->pSignaling, params->pPeerIdentity, params->nRemoteVirtualPort, params->nOptions, conv.converted_options ); return 0; } template< typename Iface, typename Params > static NTSTATUS ISteamNetworkingSockets_ConnectByIPAddress( Iface *iface, Params *params, bool wow64 ) { - params->_ret = iface->ConnectByIPAddress( params->address, params->nOptions, params->pOptions ); + convert_SteamNetworkingConfigValue_t_array conv( params->pOptions, params->nOptions ); + params->_ret = iface->ConnectByIPAddress( params->address, params->nOptions, conv.converted_options ); return 0; } template< typename Iface, typename Params > static NTSTATUS ISteamNetworkingSockets_CreateListenSocketP2P( Iface *iface, Params *params, bool wow64 ) { - params->_ret = iface->CreateListenSocketP2P( params->nLocalVirtualPort, params->nOptions, params->pOptions ); + convert_SteamNetworkingConfigValue_t_array conv( params->pOptions, params->nOptions ); + params->_ret = iface->CreateListenSocketP2P( params->nLocalVirtualPort, params->nOptions, conv.converted_options ); return 0; } template< typename Iface, typename Params > static NTSTATUS ISteamNetworkingSockets_ConnectP2P( Iface *iface, Params *params, bool wow64 ) { - params->_ret = iface->ConnectP2P( params->identityRemote, params->nRemoteVirtualPort, params->nOptions, params->pOptions ); + convert_SteamNetworkingConfigValue_t_array conv( params->pOptions, params->nOptions ); + params->_ret = iface->ConnectP2P( params->identityRemote, params->nRemoteVirtualPort, params->nOptions, conv.converted_options ); return 0; } template< typename Iface, typename Params > static NTSTATUS ISteamNetworkingSockets_ConnectToHostedDedicatedServer( Iface *iface, Params *params, bool wow64 ) { - params->_ret = iface->ConnectToHostedDedicatedServer( params->identityTarget, params->nRemoteVirtualPort, params->nOptions, params->pOptions ); + convert_SteamNetworkingConfigValue_t_array conv( params->pOptions, params->nOptions ); + params->_ret = iface->ConnectToHostedDedicatedServer( params->identityTarget, params->nRemoteVirtualPort, params->nOptions, conv.converted_options ); return 0; } template< typename Iface, typename Params > static NTSTATUS ISteamNetworkingSockets_CreateHostedDedicatedServerListenSocket( Iface *iface, Params *params, bool wow64 ) { - params->_ret = iface->CreateHostedDedicatedServerListenSocket( params->nLocalVirtualPort, params->nOptions, params->pOptions ); + convert_SteamNetworkingConfigValue_t_array conv( params->pOptions, params->nOptions ); + params->_ret = iface->CreateHostedDedicatedServerListenSocket( params->nLocalVirtualPort, params->nOptions, conv.converted_options ); return 0; } template< typename Iface, typename Params > static NTSTATUS ISteamNetworkingSockets_CreateListenSocketP2PFakeIP( Iface *iface, Params *params, bool wow64 ) { - params->_ret = iface->CreateListenSocketP2PFakeIP( params->idxFakePort, params->nOptions, params->pOptions ); + convert_SteamNetworkingConfigValue_t_array conv( params->pOptions, params->nOptions ); + params->_ret = iface->CreateListenSocketP2PFakeIP( params->idxFakePort, params->nOptions, conv.converted_options ); return 0; } From fc8438d2812a5d1ba1a992891dad9f56a801ef29 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Wed, 18 Jun 2025 12:27:31 -0600 Subject: [PATCH 15/65] lsteamclient: Execute pending callbacks after ISteamNetworkingSockets::RunCallbacks(). CW-Bug-Id: #25554 --- lsteamclient/gen_wrapper.py | 1 + lsteamclient/steam_networking_manual.c | 23 +++++++++++++++++++++++ lsteamclient/winISteamNetworkingSockets.c | 20 -------------------- 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/lsteamclient/gen_wrapper.py b/lsteamclient/gen_wrapper.py index b2a2d5ef07..fb3948a0cb 100755 --- a/lsteamclient/gen_wrapper.py +++ b/lsteamclient/gen_wrapper.py @@ -261,6 +261,7 @@ "ISteamNetworkingSockets_ReceiveMessagesOnConnection": True, "ISteamNetworkingSockets_ReceiveMessagesOnListenSocket": True, "ISteamNetworkingSockets_ReceiveMessagesOnPollGroup": True, + "ISteamNetworkingSockets_RunCallbacks": lambda ver, abi: abi == 'w', "ISteamNetworkingSockets_SendMessages": True, "ISteamNetworkingSockets_ConnectP2PCustomSignaling": lambda ver, abi: abi == 'u' and (ver <= 8 or ver >= 12), "ISteamNetworkingSockets_ReceivedP2PCustomSignal": lambda ver, abi: abi == 'u' and ver <= 8, diff --git a/lsteamclient/steam_networking_manual.c b/lsteamclient/steam_networking_manual.c index f4547f34e4..98376a25c3 100644 --- a/lsteamclient/steam_networking_manual.c +++ b/lsteamclient/steam_networking_manual.c @@ -463,6 +463,17 @@ void __thiscall winISteamNetworkingSockets_SteamNetworkingSockets008_SendMessage /* ISteamNetworkingSockets_SteamNetworkingSockets009 */ +void __thiscall winISteamNetworkingSockets_SteamNetworkingSockets009_RunCallbacks(struct w_iface *_this) +{ + struct ISteamNetworkingSockets_SteamNetworkingSockets009_RunCallbacks_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamNetworkingSockets_SteamNetworkingSockets009_RunCallbacks, ¶ms ); + execute_pending_callbacks(); +} + int32_t __thiscall winISteamNetworkingSockets_SteamNetworkingSockets009_ReceiveMessagesOnConnection( struct w_iface *_this, uint32_t hConn, w_SteamNetworkingMessage_t_147 **ppOutMessages, int32_t nMaxMessages ) @@ -606,6 +617,18 @@ int32_t __thiscall winISteamNetworkingMessages_SteamNetworkingMessages002_Receiv /* ISteamNetworkingSockets_SteamNetworkingSockets012 */ +void __thiscall winISteamNetworkingSockets_SteamNetworkingSockets012_RunCallbacks(struct w_iface *_this) +{ + struct ISteamNetworkingSockets_SteamNetworkingSockets012_RunCallbacks_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamNetworkingSockets_SteamNetworkingSockets012_RunCallbacks, ¶ms ); + execute_pending_callbacks(); + TRACE("done.\n"); +} + int32_t __thiscall winISteamNetworkingSockets_SteamNetworkingSockets012_ReceiveMessagesOnConnection( struct w_iface *_this, uint32_t hConn, w_SteamNetworkingMessage_t_153a **ppOutMessages, int32_t nMaxMessages ) diff --git a/lsteamclient/winISteamNetworkingSockets.c b/lsteamclient/winISteamNetworkingSockets.c index ebd2f4eb55..6f62f9d55a 100644 --- a/lsteamclient/winISteamNetworkingSockets.c +++ b/lsteamclient/winISteamNetworkingSockets.c @@ -2488,16 +2488,6 @@ int8_t __thiscall winISteamNetworkingSockets_SteamNetworkingSockets009_SetCertif return params._ret; } -void __thiscall winISteamNetworkingSockets_SteamNetworkingSockets009_RunCallbacks(struct w_iface *_this) -{ - struct ISteamNetworkingSockets_SteamNetworkingSockets009_RunCallbacks_params params = - { - .u_iface = _this->u_iface, - }; - TRACE("%p\n", _this); - STEAMCLIENT_CALL( ISteamNetworkingSockets_SteamNetworkingSockets009_RunCallbacks, ¶ms ); -} - void __thiscall winISteamNetworkingSockets_SteamNetworkingSockets009_destructor(struct w_iface *_this) {/* never called */} @@ -3117,16 +3107,6 @@ void __thiscall winISteamNetworkingSockets_SteamNetworkingSockets012_ResetIdenti STEAMCLIENT_CALL( ISteamNetworkingSockets_SteamNetworkingSockets012_ResetIdentity, ¶ms ); } -void __thiscall winISteamNetworkingSockets_SteamNetworkingSockets012_RunCallbacks(struct w_iface *_this) -{ - struct ISteamNetworkingSockets_SteamNetworkingSockets012_RunCallbacks_params params = - { - .u_iface = _this->u_iface, - }; - TRACE("%p\n", _this); - STEAMCLIENT_CALL( ISteamNetworkingSockets_SteamNetworkingSockets012_RunCallbacks, ¶ms ); -} - int8_t __thiscall winISteamNetworkingSockets_SteamNetworkingSockets012_BeginAsyncRequestFakeIP(struct w_iface *_this, int32_t nNumPorts) { struct ISteamNetworkingSockets_SteamNetworkingSockets012_BeginAsyncRequestFakeIP_params params = From 9f17e30f0168336ec7889fab955322d3bbbd41be Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Mon, 23 Jun 2025 13:41:10 -0600 Subject: [PATCH 16/65] proton: Enable heapdelayfree for VR Slots 3D. CW-Bug-Id: #25594 --- proton | 1 + 1 file changed, 1 insertion(+) diff --git a/proton b/proton index 006d9c6ff1..6d546f1a5d 100755 --- a/proton +++ b/proton @@ -1308,6 +1308,7 @@ def default_compat_config(): "2052410", #WITCH ON THE HOLY NIGHT "789910", #Planet of the Apes: Last Frontier "1183470", #Imperiums: Greek Wars + "876340", #VR Slots 3D ]: ret.add("heapdelayfree") From 0b3173441654a8d92122c4c97eaf13f5c22402d0 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Mon, 30 Jun 2025 12:56:08 -0600 Subject: [PATCH 17/65] lsteamclient: Also allocate m_ppStrings in w64_SteamParamStringArray_t() for win64. CW-Bug-Id: #25622 --- lsteamclient/gen_wrapper.py | 1 + lsteamclient/steamclient_structs_generated.h | 1 + lsteamclient/unixlib.cpp | 7 +++++++ 3 files changed, 9 insertions(+) diff --git a/lsteamclient/gen_wrapper.py b/lsteamclient/gen_wrapper.py index fb3948a0cb..b4bf22fba7 100755 --- a/lsteamclient/gen_wrapper.py +++ b/lsteamclient/gen_wrapper.py @@ -607,6 +607,7 @@ def write_definition(self, out, prefix, converters): out(u'#if defined(__cplusplus) && (defined(__x86_64__) || defined(__aarch64__))\n') out(f' {prefix}{version}() = default;\n') out(f' {prefix}{version}( w32_{version} const& );\n') + out(f' {prefix}{version}( w64_{version} const& );\n') out(f' ~{prefix}{version}();\n') out(u'#endif /* __cplusplus */\n') diff --git a/lsteamclient/steamclient_structs_generated.h b/lsteamclient/steamclient_structs_generated.h index 7cecd87b1d..6b20d4e4d2 100644 --- a/lsteamclient/steamclient_structs_generated.h +++ b/lsteamclient/steamclient_structs_generated.h @@ -11007,6 +11007,7 @@ struct w64_SteamParamStringArray_t #if defined(__cplusplus) && (defined(__x86_64__) || defined(__aarch64__)) w64_SteamParamStringArray_t() = default; w64_SteamParamStringArray_t( w32_SteamParamStringArray_t const& ); + w64_SteamParamStringArray_t( w64_SteamParamStringArray_t const& ); ~w64_SteamParamStringArray_t(); #endif /* __cplusplus */ }; diff --git a/lsteamclient/unixlib.cpp b/lsteamclient/unixlib.cpp index 40f4a9a78b..90309cf9b8 100644 --- a/lsteamclient/unixlib.cpp +++ b/lsteamclient/unixlib.cpp @@ -1545,6 +1545,13 @@ w64_SteamParamStringArray_t::w64_SteamParamStringArray_t( w32_SteamParamStringAr while (count--) m_ppStrings[count] = w32.m_ppStrings[count]; } +w64_SteamParamStringArray_t::w64_SteamParamStringArray_t( w64_SteamParamStringArray_t const& w64 ) + : m_nNumStrings(w64.m_nNumStrings) +{ + m_ppStrings = new const char *[m_nNumStrings]; + memcpy( m_ppStrings, w64.m_ppStrings, sizeof(*m_ppStrings) * m_nNumStrings ); +} + w64_SteamParamStringArray_t::~w64_SteamParamStringArray_t() { delete[] m_ppStrings; From 340027e317df176bd135f1ad32a15285ffa6ad86 Mon Sep 17 00:00:00 2001 From: Yuxuan Shui Date: Fri, 4 Jul 2025 12:09:54 +0100 Subject: [PATCH 18/65] steam_helper: Null terminate escape_path_unix_to_dos. WideCharToMultiByte does not null terminate if a null character is not included in the input length. CW-Bug-Id: #24534 --- steam_helper/steam.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/steam_helper/steam.c b/steam_helper/steam.c index fc13d6970f..3965c78fa7 100644 --- a/steam_helper/steam.c +++ b/steam_helper/steam.c @@ -115,7 +115,11 @@ static char *escape_path_unix_to_dos( const char *path ) for (src = dos, dst = tmp; *src; src++, dst++) if ((*dst = *src) == '\\') *++dst = '\\'; if (!(len = WideCharToMultiByte( CP_UTF8, 0, tmp, (dst - tmp), NULL, 0, NULL, NULL ))) goto done; - if ((escaped = malloc( len ))) WideCharToMultiByte( CP_UTF8, 0, tmp, (dst - tmp), escaped, len, NULL, NULL ); + if ((escaped = malloc( len + 1 ))) + { + WideCharToMultiByte( CP_UTF8, 0, tmp, (dst - tmp), escaped, len, NULL, NULL ); + escaped[len] = '\0'; + } done: HeapFree( GetProcessHeap(), 0, dos ); From e92be169128bdaabf6bc63c7d98f778d3946ae47 Mon Sep 17 00:00:00 2001 From: Arkadiusz Hiler Date: Mon, 14 Jul 2025 14:32:24 +0300 Subject: [PATCH 19/65] Makefile.in: Drop vkd3d version in files/lib/vkd3d/version. --- Makefile.in | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Makefile.in b/Makefile.in index 7f2934120c..2d6528dd19 100644 --- a/Makefile.in +++ b/Makefile.in @@ -669,6 +669,12 @@ $(eval $(call rules-source,vkd3d,$(SRCDIR)/vkd3d)) $(eval $(call rules-autoconf,vkd3d,i386,windows)) $(eval $(call rules-autoconf,vkd3d,x86_64,windows)) +$(OBJ)/.vkd3d-post-source: + mkdir -p $(DST_LIBDIR)/vkd3d + rm -rf $(DST_LIBDIR)/vkd3d/version + echo "$(shell git -C $(SRCDIR) submodule status -- vkd3d)" > $(DST_LIBDIR)/vkd3d/version + touch $@ + $(OBJ)/.vkd3d-x86_64-post-build: $(OBJ)/.wine-$(HOST_ARCH)-tools mkdir -p $(VKD3D_x86_64_LIBDIR)/vkd3d/x86_64-windows $(call make-builtin,$(VKD3D_x86_64_DST)/bin/libvkd3d-1.dll) From 1fb75ba2a901d8e6f739e2398324771864e39eb1 Mon Sep 17 00:00:00 2001 From: fallenworld Date: Wed, 25 Jun 2025 22:25:13 +0800 Subject: [PATCH 20/65] fonts: Convert msyh.ttf to TrueType. CW-Bug-Id: #23857 --- Makefile.in | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile.in b/Makefile.in index 2d6528dd19..4d1fa3be7b 100644 --- a/Makefile.in +++ b/Makefile.in @@ -963,6 +963,7 @@ $(FONTS_OBJ)/source-han/%.ttf: $$(%.ttf_CIDFONT) $$(%.ttf_FEATURES) $$(%.ttf_SEQ # to run it in a dedicated temporary directory to prevent concurrent instances # to step onto each other's feet (TEMP_DIR=`mktemp -d` && cd $$TEMP_DIR && afdko sfntedit -a CFF=$(abspath $($(notdir $@)).cff) $(abspath $@.tmp) && rm -fr $$TEMP_DIR) + if [ "$(notdir $@)" = "msyh.ttf" ]; then afdko otf2ttf -o $@.tmp.ttf $@.tmp; mv -f $@.tmp.ttf $@.tmp; fi mv $@.tmp $@ $(FONTS_OBJ)/ume-gothic/%.ttf: $$(%.ttf_FONT) $$(%.ttf_NAMETABLE_PATCH) From 2189e4461c7e630138e37d2c44c94f0b2f7070dc Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Thu, 17 Jul 2025 12:08:35 -0600 Subject: [PATCH 21/65] proton: Add Wuthering Waves to OPWR disablement list. CW-Bug-Id: #25676 --- proton | 1 + 1 file changed, 1 insertion(+) diff --git a/proton b/proton index 6d546f1a5d..8075711350 100755 --- a/proton +++ b/proton @@ -1246,6 +1246,7 @@ def default_compat_config(): # Other issues arising from OWPR code path in apps, e. g., hitting unimplemented bits in # d3dcompiler. "230410", #Warframe + "3513350", #Wuthering Waves ]: ret.add("noopwr") From d74fc8d45688cbd55090dd956a5699a89605ef49 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Thu, 17 Jul 2025 14:10:04 -0600 Subject: [PATCH 22/65] vrclient: Update to SDK v2.7.1. CW-Bug-Id: #25686 --- openvr | 2 +- vrclient_x64/Makefile.in | 1 + vrclient_x64/cppIVROverlay_IVROverlay_028.cpp | 1479 ++++ vrclient_x64/gen_wrapper.py | 1 + vrclient_x64/openvr_v2.7.1/ivrclientcore.h | 35 + vrclient_x64/openvr_v2.7.1/openvr.h | 5977 +++++++++++++++++ vrclient_x64/unix_private_generated.h | 252 + vrclient_x64/unix_vroverlay_manual.cpp | 1 + vrclient_x64/unixlib_generated.cpp | 482 ++ vrclient_x64/unixlib_generated.h | 1470 ++++ vrclient_x64/vrclient_generated.c | 4 + vrclient_x64/vrclient_generated.h | 4 + vrclient_x64/vrclient_structs_generated.h | 177 + vrclient_x64/vroverlay_manual.c | 20 + vrclient_x64/winIVROverlay.c | 1392 ++++ 15 files changed, 11296 insertions(+), 1 deletion(-) create mode 100644 vrclient_x64/cppIVROverlay_IVROverlay_028.cpp create mode 100644 vrclient_x64/openvr_v2.7.1/ivrclientcore.h create mode 100644 vrclient_x64/openvr_v2.7.1/openvr.h diff --git a/openvr b/openvr index ae46a8dd01..ebd4253312 160000 --- a/openvr +++ b/openvr @@ -1 +1 @@ -Subproject commit ae46a8dd0172580648c8922658a100439115d3eb +Subproject commit ebd425331229365dc3ec42d1bb8b2cc3c2332f81 diff --git a/vrclient_x64/Makefile.in b/vrclient_x64/Makefile.in index 1109978500..b4e962ed4d 100644 --- a/vrclient_x64/Makefile.in +++ b/vrclient_x64/Makefile.in @@ -113,6 +113,7 @@ SOURCES = \ cppIVROverlay_IVROverlay_025.cpp \ cppIVROverlay_IVROverlay_026.cpp \ cppIVROverlay_IVROverlay_027.cpp \ + cppIVROverlay_IVROverlay_028.cpp \ cppIVROverlayView_IVROverlayView_003.cpp \ cppIVRRenderModels_IVRRenderModels_001.cpp \ cppIVRRenderModels_IVRRenderModels_002.cpp \ diff --git a/vrclient_x64/cppIVROverlay_IVROverlay_028.cpp b/vrclient_x64/cppIVROverlay_IVROverlay_028.cpp new file mode 100644 index 0000000000..6a541376b8 --- /dev/null +++ b/vrclient_x64/cppIVROverlay_IVROverlay_028.cpp @@ -0,0 +1,1479 @@ +/* This file is auto-generated, do not edit. */ +#include "unix_private.h" + +#if 0 +#pragma makedep unix +#endif + +NTSTATUS IVROverlay_IVROverlay_028_FindOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_028_FindOverlay_params *params = (struct IVROverlay_IVROverlay_028_FindOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->FindOverlay( params->pchOverlayKey, params->pOverlayHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_FindOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_FindOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_028_FindOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->FindOverlay( params->pchOverlayKey, params->pOverlayHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_CreateOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_028_CreateOverlay_params *params = (struct IVROverlay_IVROverlay_028_CreateOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->CreateOverlay( params->pchOverlayKey, params->pchOverlayName, params->pOverlayHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_CreateOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_CreateOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_028_CreateOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->CreateOverlay( params->pchOverlayKey, params->pchOverlayName, params->pOverlayHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_CreateSubviewOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_028_CreateSubviewOverlay_params *params = (struct IVROverlay_IVROverlay_028_CreateSubviewOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->CreateSubviewOverlay( params->parentOverlayHandle, params->pchSubviewOverlayKey, params->pchSubviewOverlayName, params->pSubviewOverlayHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_CreateSubviewOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_CreateSubviewOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_028_CreateSubviewOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->CreateSubviewOverlay( params->parentOverlayHandle, params->pchSubviewOverlayKey, params->pchSubviewOverlayName, params->pSubviewOverlayHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_DestroyOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_028_DestroyOverlay_params *params = (struct IVROverlay_IVROverlay_028_DestroyOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->DestroyOverlay( params->ulOverlayHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_DestroyOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_DestroyOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_028_DestroyOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->DestroyOverlay( params->ulOverlayHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayKey( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayKey_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayKey_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayKey( params->ulOverlayHandle, params->pchValue, params->unBufferSize, params->pError ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayKey( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayKey_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayKey_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayKey( params->ulOverlayHandle, params->pchValue, params->unBufferSize, params->pError ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayName( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayName_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayName_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayName( params->ulOverlayHandle, params->pchValue, params->unBufferSize, params->pError ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayName( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayName_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayName_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayName( params->ulOverlayHandle, params->pchValue, params->unBufferSize, params->pError ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayName( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlayName_params *params = (struct IVROverlay_IVROverlay_028_SetOverlayName_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayName( params->ulOverlayHandle, params->pchName ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayName( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlayName_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlayName_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayName( params->ulOverlayHandle, params->pchName ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayImageData( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayImageData_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayImageData_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayImageData( params->ulOverlayHandle, params->pvBuffer, params->unBufferSize, params->punWidth, params->punHeight ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayImageData( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayImageData_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayImageData_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayImageData( params->ulOverlayHandle, params->pvBuffer, params->unBufferSize, params->punWidth, params->punHeight ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayErrorNameFromEnum( params->error ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayErrorNameFromEnum( params->error ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayRenderingPid( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlayRenderingPid_params *params = (struct IVROverlay_IVROverlay_028_SetOverlayRenderingPid_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayRenderingPid( params->ulOverlayHandle, params->unPID ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayRenderingPid( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlayRenderingPid_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlayRenderingPid_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayRenderingPid( params->ulOverlayHandle, params->unPID ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayRenderingPid( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayRenderingPid_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayRenderingPid_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayRenderingPid( params->ulOverlayHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayRenderingPid( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayRenderingPid_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayRenderingPid_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayRenderingPid( params->ulOverlayHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayFlag( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlayFlag_params *params = (struct IVROverlay_IVROverlay_028_SetOverlayFlag_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayFlag( params->ulOverlayHandle, params->eOverlayFlag, params->bEnabled ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayFlag( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlayFlag_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlayFlag_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayFlag( params->ulOverlayHandle, params->eOverlayFlag, params->bEnabled ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayFlag( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayFlag_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayFlag_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayFlag( params->ulOverlayHandle, params->eOverlayFlag, params->pbEnabled ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayFlag( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayFlag_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayFlag_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayFlag( params->ulOverlayHandle, params->eOverlayFlag, params->pbEnabled ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayFlags( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayFlags_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayFlags_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayFlags( params->ulOverlayHandle, params->pFlags ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayFlags( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayFlags_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayFlags_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayFlags( params->ulOverlayHandle, params->pFlags ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayColor( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlayColor_params *params = (struct IVROverlay_IVROverlay_028_SetOverlayColor_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayColor( params->ulOverlayHandle, params->fRed, params->fGreen, params->fBlue ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayColor( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlayColor_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlayColor_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayColor( params->ulOverlayHandle, params->fRed, params->fGreen, params->fBlue ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayColor( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayColor_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayColor_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayColor( params->ulOverlayHandle, params->pfRed, params->pfGreen, params->pfBlue ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayColor( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayColor_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayColor_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayColor( params->ulOverlayHandle, params->pfRed, params->pfGreen, params->pfBlue ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayAlpha( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlayAlpha_params *params = (struct IVROverlay_IVROverlay_028_SetOverlayAlpha_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayAlpha( params->ulOverlayHandle, params->fAlpha ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayAlpha( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlayAlpha_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlayAlpha_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayAlpha( params->ulOverlayHandle, params->fAlpha ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayAlpha( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayAlpha_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayAlpha_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayAlpha( params->ulOverlayHandle, params->pfAlpha ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayAlpha( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayAlpha_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayAlpha_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayAlpha( params->ulOverlayHandle, params->pfAlpha ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayTexelAspect( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlayTexelAspect_params *params = (struct IVROverlay_IVROverlay_028_SetOverlayTexelAspect_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayTexelAspect( params->ulOverlayHandle, params->fTexelAspect ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayTexelAspect( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlayTexelAspect_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlayTexelAspect_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayTexelAspect( params->ulOverlayHandle, params->fTexelAspect ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayTexelAspect( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayTexelAspect_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayTexelAspect_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayTexelAspect( params->ulOverlayHandle, params->pfTexelAspect ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayTexelAspect( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayTexelAspect_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayTexelAspect_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayTexelAspect( params->ulOverlayHandle, params->pfTexelAspect ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlaySortOrder( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlaySortOrder_params *params = (struct IVROverlay_IVROverlay_028_SetOverlaySortOrder_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlaySortOrder( params->ulOverlayHandle, params->unSortOrder ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlaySortOrder( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlaySortOrder_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlaySortOrder_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlaySortOrder( params->ulOverlayHandle, params->unSortOrder ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlaySortOrder( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlaySortOrder_params *params = (struct IVROverlay_IVROverlay_028_GetOverlaySortOrder_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlaySortOrder( params->ulOverlayHandle, params->punSortOrder ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlaySortOrder( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlaySortOrder_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlaySortOrder_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlaySortOrder( params->ulOverlayHandle, params->punSortOrder ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayWidthInMeters( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlayWidthInMeters_params *params = (struct IVROverlay_IVROverlay_028_SetOverlayWidthInMeters_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayWidthInMeters( params->ulOverlayHandle, params->fWidthInMeters ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayWidthInMeters( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlayWidthInMeters_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlayWidthInMeters_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayWidthInMeters( params->ulOverlayHandle, params->fWidthInMeters ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayWidthInMeters( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayWidthInMeters_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayWidthInMeters_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayWidthInMeters( params->ulOverlayHandle, params->pfWidthInMeters ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayWidthInMeters( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayWidthInMeters_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayWidthInMeters_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayWidthInMeters( params->ulOverlayHandle, params->pfWidthInMeters ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayCurvature( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlayCurvature_params *params = (struct IVROverlay_IVROverlay_028_SetOverlayCurvature_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayCurvature( params->ulOverlayHandle, params->fCurvature ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayCurvature( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlayCurvature_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlayCurvature_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayCurvature( params->ulOverlayHandle, params->fCurvature ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayCurvature( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayCurvature_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayCurvature_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayCurvature( params->ulOverlayHandle, params->pfCurvature ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayCurvature( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayCurvature_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayCurvature_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayCurvature( params->ulOverlayHandle, params->pfCurvature ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch_params *params = (struct IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayPreCurvePitch( params->ulOverlayHandle, params->fRadians ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayPreCurvePitch( params->ulOverlayHandle, params->fRadians ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayPreCurvePitch( params->ulOverlayHandle, params->pfRadians ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayPreCurvePitch( params->ulOverlayHandle, params->pfRadians ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace_params *params = (struct IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayTextureColorSpace( params->ulOverlayHandle, params->eTextureColorSpace ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayTextureColorSpace( params->ulOverlayHandle, params->eTextureColorSpace ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayTextureColorSpace( params->ulOverlayHandle, params->peTextureColorSpace ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayTextureColorSpace( params->ulOverlayHandle, params->peTextureColorSpace ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayTextureBounds( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlayTextureBounds_params *params = (struct IVROverlay_IVROverlay_028_SetOverlayTextureBounds_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayTextureBounds( params->ulOverlayHandle, params->pOverlayTextureBounds ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayTextureBounds( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlayTextureBounds_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlayTextureBounds_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayTextureBounds( params->ulOverlayHandle, params->pOverlayTextureBounds ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayTextureBounds( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayTextureBounds_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayTextureBounds_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayTextureBounds( params->ulOverlayHandle, params->pOverlayTextureBounds ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayTextureBounds( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureBounds_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureBounds_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayTextureBounds( params->ulOverlayHandle, params->pOverlayTextureBounds ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayTransformType( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayTransformType_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayTransformType_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayTransformType( params->ulOverlayHandle, params->peTransformType ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayTransformType( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformType_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformType_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayTransformType( params->ulOverlayHandle, params->peTransformType ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute_params *params = (struct IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayTransformAbsolute( params->ulOverlayHandle, params->eTrackingOrigin, params->pmatTrackingOriginToOverlayTransform ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayTransformAbsolute( params->ulOverlayHandle, params->eTrackingOrigin, params->pmatTrackingOriginToOverlayTransform ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayTransformAbsolute( params->ulOverlayHandle, params->peTrackingOrigin, params->pmatTrackingOriginToOverlayTransform ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayTransformAbsolute( params->ulOverlayHandle, params->peTrackingOrigin, params->pmatTrackingOriginToOverlayTransform ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative_params *params = (struct IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayTransformTrackedDeviceRelative( params->ulOverlayHandle, params->unTrackedDevice, params->pmatTrackedDeviceToOverlayTransform ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayTransformTrackedDeviceRelative( params->ulOverlayHandle, params->unTrackedDevice, params->pmatTrackedDeviceToOverlayTransform ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayTransformTrackedDeviceRelative( params->ulOverlayHandle, params->punTrackedDevice, params->pmatTrackedDeviceToOverlayTransform ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayTransformTrackedDeviceRelative( params->ulOverlayHandle, params->punTrackedDevice, params->pmatTrackedDeviceToOverlayTransform ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent_params *params = (struct IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayTransformTrackedDeviceComponent( params->ulOverlayHandle, params->unDeviceIndex, params->pchComponentName ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayTransformTrackedDeviceComponent( params->ulOverlayHandle, params->unDeviceIndex, params->pchComponentName ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayTransformTrackedDeviceComponent( params->ulOverlayHandle, params->punDeviceIndex, params->pchComponentName, params->unComponentNameSize ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayTransformTrackedDeviceComponent( params->ulOverlayHandle, params->punDeviceIndex, params->pchComponentName, params->unComponentNameSize ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayTransformCursor( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlayTransformCursor_params *params = (struct IVROverlay_IVROverlay_028_SetOverlayTransformCursor_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayTransformCursor( params->ulCursorOverlayHandle, params->pvHotspot ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayTransformCursor( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformCursor_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformCursor_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayTransformCursor( params->ulCursorOverlayHandle, params->pvHotspot ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayTransformCursor( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayTransformCursor_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayTransformCursor_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayTransformCursor( params->ulOverlayHandle, params->pvHotspot ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayTransformCursor( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformCursor_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformCursor_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayTransformCursor( params->ulOverlayHandle, params->pvHotspot ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayTransformProjection( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlayTransformProjection_params *params = (struct IVROverlay_IVROverlay_028_SetOverlayTransformProjection_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayTransformProjection( params->ulOverlayHandle, params->eTrackingOrigin, params->pmatTrackingOriginToOverlayTransform, params->pProjection, params->eEye ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayTransformProjection( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformProjection_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformProjection_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayTransformProjection( params->ulOverlayHandle, params->eTrackingOrigin, params->pmatTrackingOriginToOverlayTransform, params->pProjection, params->eEye ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetSubviewPosition( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetSubviewPosition_params *params = (struct IVROverlay_IVROverlay_028_SetSubviewPosition_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetSubviewPosition( params->ulOverlayHandle, params->fX, params->fY ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetSubviewPosition( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetSubviewPosition_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetSubviewPosition_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetSubviewPosition( params->ulOverlayHandle, params->fX, params->fY ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_ShowOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_028_ShowOverlay_params *params = (struct IVROverlay_IVROverlay_028_ShowOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->ShowOverlay( params->ulOverlayHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_ShowOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_ShowOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_028_ShowOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->ShowOverlay( params->ulOverlayHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_HideOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_028_HideOverlay_params *params = (struct IVROverlay_IVROverlay_028_HideOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->HideOverlay( params->ulOverlayHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_HideOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_HideOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_028_HideOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->HideOverlay( params->ulOverlayHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_IsOverlayVisible( void *args ) +{ + struct IVROverlay_IVROverlay_028_IsOverlayVisible_params *params = (struct IVROverlay_IVROverlay_028_IsOverlayVisible_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->IsOverlayVisible( params->ulOverlayHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_IsOverlayVisible( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_IsOverlayVisible_params *params = (struct wow64_IVROverlay_IVROverlay_028_IsOverlayVisible_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->IsOverlayVisible( params->ulOverlayHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates_params *params = (struct IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetTransformForOverlayCoordinates( params->ulOverlayHandle, params->eTrackingOrigin, params->coordinatesInOverlay, params->pmatTransform ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetTransformForOverlayCoordinates( params->ulOverlayHandle, params->eTrackingOrigin, params->coordinatesInOverlay, params->pmatTransform ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_WaitFrameSync( void *args ) +{ + struct IVROverlay_IVROverlay_028_WaitFrameSync_params *params = (struct IVROverlay_IVROverlay_028_WaitFrameSync_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->WaitFrameSync( params->nTimeoutMs ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_WaitFrameSync( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_WaitFrameSync_params *params = (struct wow64_IVROverlay_IVROverlay_028_WaitFrameSync_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->WaitFrameSync( params->nTimeoutMs ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_PollNextOverlayEvent( void *args ) +{ + struct IVROverlay_IVROverlay_028_PollNextOverlayEvent_params *params = (struct IVROverlay_IVROverlay_028_PollNextOverlayEvent_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + u_VREvent_t_223 u_pEvent; + if (params->pEvent) u_pEvent = *params->pEvent; + uint32_t u_uncbVREvent = params->uncbVREvent ? sizeof(u_pEvent) : 0; + params->_ret = iface->PollNextOverlayEvent( params->ulOverlayHandle, params->pEvent ? &u_pEvent : nullptr, u_uncbVREvent ); + if (params->pEvent) *params->pEvent = u_pEvent; + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_PollNextOverlayEvent( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_PollNextOverlayEvent_params *params = (struct wow64_IVROverlay_IVROverlay_028_PollNextOverlayEvent_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + u_VREvent_t_223 u_pEvent; + if (params->pEvent) u_pEvent = *params->pEvent; + uint32_t u_uncbVREvent = params->uncbVREvent ? sizeof(u_pEvent) : 0; + params->_ret = iface->PollNextOverlayEvent( params->ulOverlayHandle, params->pEvent ? &u_pEvent : nullptr, u_uncbVREvent ); + if (params->pEvent) *params->pEvent = u_pEvent; + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayInputMethod( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayInputMethod_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayInputMethod_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayInputMethod( params->ulOverlayHandle, params->peInputMethod ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayInputMethod( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayInputMethod_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayInputMethod_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayInputMethod( params->ulOverlayHandle, params->peInputMethod ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayInputMethod( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlayInputMethod_params *params = (struct IVROverlay_IVROverlay_028_SetOverlayInputMethod_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayInputMethod( params->ulOverlayHandle, params->eInputMethod ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayInputMethod( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlayInputMethod_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlayInputMethod_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayInputMethod( params->ulOverlayHandle, params->eInputMethod ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayMouseScale( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayMouseScale_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayMouseScale_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayMouseScale( params->ulOverlayHandle, params->pvecMouseScale ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayMouseScale( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayMouseScale_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayMouseScale_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayMouseScale( params->ulOverlayHandle, params->pvecMouseScale ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayMouseScale( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlayMouseScale_params *params = (struct IVROverlay_IVROverlay_028_SetOverlayMouseScale_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayMouseScale( params->ulOverlayHandle, params->pvecMouseScale ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayMouseScale( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlayMouseScale_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlayMouseScale_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayMouseScale( params->ulOverlayHandle, params->pvecMouseScale ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_ComputeOverlayIntersection( void *args ) +{ + struct IVROverlay_IVROverlay_028_ComputeOverlayIntersection_params *params = (struct IVROverlay_IVROverlay_028_ComputeOverlayIntersection_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->ComputeOverlayIntersection( params->ulOverlayHandle, params->pParams, params->pResults ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_ComputeOverlayIntersection( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_ComputeOverlayIntersection_params *params = (struct wow64_IVROverlay_IVROverlay_028_ComputeOverlayIntersection_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->ComputeOverlayIntersection( params->ulOverlayHandle, params->pParams, params->pResults ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_IsHoverTargetOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_028_IsHoverTargetOverlay_params *params = (struct IVROverlay_IVROverlay_028_IsHoverTargetOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->IsHoverTargetOverlay( params->ulOverlayHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_IsHoverTargetOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_IsHoverTargetOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_028_IsHoverTargetOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->IsHoverTargetOverlay( params->ulOverlayHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayIntersectionMask( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlayIntersectionMask_params *params = (struct IVROverlay_IVROverlay_028_SetOverlayIntersectionMask_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayIntersectionMask( params->ulOverlayHandle, params->pMaskPrimitives, params->unNumMaskPrimitives, params->unPrimitiveSize ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayIntersectionMask( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlayIntersectionMask_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlayIntersectionMask_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayIntersectionMask( params->ulOverlayHandle, params->pMaskPrimitives, params->unNumMaskPrimitives, params->unPrimitiveSize ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration( void *args ) +{ + struct IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration_params *params = (struct IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->TriggerLaserMouseHapticVibration( params->ulOverlayHandle, params->fDurationSeconds, params->fFrequency, params->fAmplitude ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration_params *params = (struct wow64_IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->TriggerLaserMouseHapticVibration( params->ulOverlayHandle, params->fDurationSeconds, params->fFrequency, params->fAmplitude ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayCursor( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlayCursor_params *params = (struct IVROverlay_IVROverlay_028_SetOverlayCursor_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayCursor( params->ulOverlayHandle, params->ulCursorHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayCursor( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlayCursor_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlayCursor_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayCursor( params->ulOverlayHandle, params->ulCursorHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride_params *params = (struct IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayCursorPositionOverride( params->ulOverlayHandle, params->pvCursor ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayCursorPositionOverride( params->ulOverlayHandle, params->pvCursor ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride( void *args ) +{ + struct IVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride_params *params = (struct IVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->ClearOverlayCursorPositionOverride( params->ulOverlayHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride_params *params = (struct wow64_IVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->ClearOverlayCursorPositionOverride( params->ulOverlayHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_ClearOverlayTexture( void *args ) +{ + struct IVROverlay_IVROverlay_028_ClearOverlayTexture_params *params = (struct IVROverlay_IVROverlay_028_ClearOverlayTexture_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->ClearOverlayTexture( params->ulOverlayHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_ClearOverlayTexture( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_ClearOverlayTexture_params *params = (struct wow64_IVROverlay_IVROverlay_028_ClearOverlayTexture_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->ClearOverlayTexture( params->ulOverlayHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayRaw( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlayRaw_params *params = (struct IVROverlay_IVROverlay_028_SetOverlayRaw_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayRaw( params->ulOverlayHandle, params->pvBuffer, params->unWidth, params->unHeight, params->unBytesPerPixel ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayRaw( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlayRaw_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlayRaw_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetOverlayRaw( params->ulOverlayHandle, params->pvBuffer, params->unWidth, params->unHeight, params->unBytesPerPixel ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayFromFile( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_028_SetOverlayFromFile_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayFromFile( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetOverlayFromFile_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetOverlayFromFile_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayTexture( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayTexture_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayTexture_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayTexture( params->ulOverlayHandle, params->pNativeTextureHandle, params->pNativeTextureRef, params->pWidth, params->pHeight, params->pNativeFormat, params->pAPIType, params->pColorSpace, params->pTextureBounds ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayTexture( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayTexture_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayTexture_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + void *u_pNativeTextureHandle; + params->_ret = iface->GetOverlayTexture( params->ulOverlayHandle, params->pNativeTextureHandle ? &u_pNativeTextureHandle : nullptr, params->pNativeTextureRef, params->pWidth, params->pHeight, params->pNativeFormat, params->pAPIType, params->pColorSpace, params->pTextureBounds ); + if (params->pNativeTextureHandle) *params->pNativeTextureHandle = u_pNativeTextureHandle; + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle( void *args ) +{ + struct IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle_params *params = (struct IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->ReleaseNativeOverlayHandle( params->ulOverlayHandle, params->pNativeTextureHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle_params *params = (struct wow64_IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->ReleaseNativeOverlayHandle( params->ulOverlayHandle, params->pNativeTextureHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayTextureSize( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetOverlayTextureSize_params *params = (struct IVROverlay_IVROverlay_028_GetOverlayTextureSize_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayTextureSize( params->ulOverlayHandle, params->pWidth, params->pHeight ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayTextureSize( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureSize_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureSize_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetOverlayTextureSize( params->ulOverlayHandle, params->pWidth, params->pHeight ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_CreateDashboardOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_028_CreateDashboardOverlay_params *params = (struct IVROverlay_IVROverlay_028_CreateDashboardOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->CreateDashboardOverlay( params->pchOverlayKey, params->pchOverlayFriendlyName, params->pMainHandle, params->pThumbnailHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_CreateDashboardOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_CreateDashboardOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_028_CreateDashboardOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->CreateDashboardOverlay( params->pchOverlayKey, params->pchOverlayFriendlyName, params->pMainHandle, params->pThumbnailHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_IsDashboardVisible( void *args ) +{ + struct IVROverlay_IVROverlay_028_IsDashboardVisible_params *params = (struct IVROverlay_IVROverlay_028_IsDashboardVisible_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->IsDashboardVisible( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_IsDashboardVisible( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_IsDashboardVisible_params *params = (struct wow64_IVROverlay_IVROverlay_028_IsDashboardVisible_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->IsDashboardVisible( ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_IsActiveDashboardOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_028_IsActiveDashboardOverlay_params *params = (struct IVROverlay_IVROverlay_028_IsActiveDashboardOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->IsActiveDashboardOverlay( params->ulOverlayHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_IsActiveDashboardOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_IsActiveDashboardOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_028_IsActiveDashboardOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->IsActiveDashboardOverlay( params->ulOverlayHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess_params *params = (struct IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetDashboardOverlaySceneProcess( params->ulOverlayHandle, params->unProcessId ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->SetDashboardOverlaySceneProcess( params->ulOverlayHandle, params->unProcessId ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess_params *params = (struct IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetDashboardOverlaySceneProcess( params->ulOverlayHandle, params->punProcessId ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetDashboardOverlaySceneProcess( params->ulOverlayHandle, params->punProcessId ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_ShowDashboard( void *args ) +{ + struct IVROverlay_IVROverlay_028_ShowDashboard_params *params = (struct IVROverlay_IVROverlay_028_ShowDashboard_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + iface->ShowDashboard( params->pchOverlayToShow ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_ShowDashboard( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_ShowDashboard_params *params = (struct wow64_IVROverlay_IVROverlay_028_ShowDashboard_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + iface->ShowDashboard( params->pchOverlayToShow ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetPrimaryDashboardDevice( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetPrimaryDashboardDevice_params *params = (struct IVROverlay_IVROverlay_028_GetPrimaryDashboardDevice_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetPrimaryDashboardDevice( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetPrimaryDashboardDevice( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetPrimaryDashboardDevice_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetPrimaryDashboardDevice_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetPrimaryDashboardDevice( ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_ShowKeyboard( void *args ) +{ + struct IVROverlay_IVROverlay_028_ShowKeyboard_params *params = (struct IVROverlay_IVROverlay_028_ShowKeyboard_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->ShowKeyboard( params->eInputMode, params->eLineInputMode, params->unFlags, params->pchDescription, params->unCharMax, params->pchExistingText, params->uUserValue ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_ShowKeyboard( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_ShowKeyboard_params *params = (struct wow64_IVROverlay_IVROverlay_028_ShowKeyboard_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->ShowKeyboard( params->eInputMode, params->eLineInputMode, params->unFlags, params->pchDescription, params->unCharMax, params->pchExistingText, params->uUserValue ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_ShowKeyboardForOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_028_ShowKeyboardForOverlay_params *params = (struct IVROverlay_IVROverlay_028_ShowKeyboardForOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->ShowKeyboardForOverlay( params->ulOverlayHandle, params->eInputMode, params->eLineInputMode, params->unFlags, params->pchDescription, params->unCharMax, params->pchExistingText, params->uUserValue ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_ShowKeyboardForOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_ShowKeyboardForOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_028_ShowKeyboardForOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->ShowKeyboardForOverlay( params->ulOverlayHandle, params->eInputMode, params->eLineInputMode, params->unFlags, params->pchDescription, params->unCharMax, params->pchExistingText, params->uUserValue ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_GetKeyboardText( void *args ) +{ + struct IVROverlay_IVROverlay_028_GetKeyboardText_params *params = (struct IVROverlay_IVROverlay_028_GetKeyboardText_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetKeyboardText( params->pchText, params->cchText ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetKeyboardText( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_GetKeyboardText_params *params = (struct wow64_IVROverlay_IVROverlay_028_GetKeyboardText_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->GetKeyboardText( params->pchText, params->cchText ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_HideKeyboard( void *args ) +{ + struct IVROverlay_IVROverlay_028_HideKeyboard_params *params = (struct IVROverlay_IVROverlay_028_HideKeyboard_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + iface->HideKeyboard( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_HideKeyboard( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_HideKeyboard_params *params = (struct wow64_IVROverlay_IVROverlay_028_HideKeyboard_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + iface->HideKeyboard( ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute_params *params = (struct IVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + iface->SetKeyboardTransformAbsolute( params->eTrackingOrigin, params->pmatTrackingOriginToKeyboardTransform ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + iface->SetKeyboardTransformAbsolute( params->eTrackingOrigin, params->pmatTrackingOriginToKeyboardTransform ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay_params *params = (struct IVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + iface->SetKeyboardPositionForOverlay( params->ulOverlayHandle, params->avoidRect ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + iface->SetKeyboardPositionForOverlay( params->ulOverlayHandle, params->avoidRect ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_ShowMessageOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_028_ShowMessageOverlay_params *params = (struct IVROverlay_IVROverlay_028_ShowMessageOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->ShowMessageOverlay( params->pchText, params->pchCaption, params->pchButton0Text, params->pchButton1Text, params->pchButton2Text, params->pchButton3Text ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_ShowMessageOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_ShowMessageOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_028_ShowMessageOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + params->_ret = iface->ShowMessageOverlay( params->pchText, params->pchCaption, params->pchButton0Text, params->pchButton1Text, params->pchButton2Text, params->pchButton3Text ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_028_CloseMessageOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_028_CloseMessageOverlay_params *params = (struct IVROverlay_IVROverlay_028_CloseMessageOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + iface->CloseMessageOverlay( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_028_CloseMessageOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_028_CloseMessageOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_028_CloseMessageOverlay_params *)args; + struct u_IVROverlay_IVROverlay_028 *iface = (struct u_IVROverlay_IVROverlay_028 *)params->u_iface; + iface->CloseMessageOverlay( ); + return 0; +} +#endif + diff --git a/vrclient_x64/gen_wrapper.py b/vrclient_x64/gen_wrapper.py index f4a67633f7..c7f88b9eee 100755 --- a/vrclient_x64/gen_wrapper.py +++ b/vrclient_x64/gen_wrapper.py @@ -11,6 +11,7 @@ import re SDK_VERSIONS = [ + "v2.7.1", "v2.5.1", "v2.2.3", "v2.0.10", diff --git a/vrclient_x64/openvr_v2.7.1/ivrclientcore.h b/vrclient_x64/openvr_v2.7.1/ivrclientcore.h new file mode 100644 index 0000000000..873bd600d0 --- /dev/null +++ b/vrclient_x64/openvr_v2.7.1/ivrclientcore.h @@ -0,0 +1,35 @@ +//========= Copyright Valve Corporation ============// +#include "openvr.h" + +namespace vr +{ + +class IVRClientCore +{ +public: + /** Initializes the system */ + virtual EVRInitError Init( vr::EVRApplicationType eApplicationType, const char *pStartupInfo ) = 0; + + /** cleans up everything in vrclient.dll and prepares the DLL to be unloaded */ + virtual void Cleanup() = 0; + + /** checks to see if the specified interface/version is supported in this vrclient.dll */ + virtual EVRInitError IsInterfaceVersionValid( const char *pchInterfaceVersion ) = 0; + + /** Retrieves any interface from vrclient.dll */ + virtual void *GetGenericInterface( const char *pchNameAndVersion, EVRInitError *peError ) = 0; + + /** Returns true if any driver has an HMD attached. Can be called outside of Init/Cleanup */ + virtual bool BIsHmdPresent() = 0; + + /** Returns an English error string from inside vrclient.dll which might be newer than the API DLL */ + virtual const char *GetEnglishStringForHmdError( vr::EVRInitError eError ) = 0; + + /** Returns an error symbol from inside vrclient.dll which might be newer than the API DLL */ + virtual const char *GetIDForVRInitError( vr::EVRInitError eError ) = 0; +}; + +static const char * const IVRClientCore_Version = "IVRClientCore_003"; + + +} diff --git a/vrclient_x64/openvr_v2.7.1/openvr.h b/vrclient_x64/openvr_v2.7.1/openvr.h new file mode 100644 index 0000000000..3ecf804a83 --- /dev/null +++ b/vrclient_x64/openvr_v2.7.1/openvr.h @@ -0,0 +1,5977 @@ +// openvr.h +//========= Copyright Valve Corporation ============// +// Dynamically generated file. Do not modify this file directly. + +#ifndef _OPENVR_API +#define _OPENVR_API + +#include + + + +// version.h + +namespace vr +{ + static const uint32_t k_nSteamVRVersionMajor = 2; + static const uint32_t k_nSteamVRVersionMinor = 7; + static const uint32_t k_nSteamVRVersionBuild = 1; +} // namespace vr + +// public_vrtypes.h + +#ifndef _INCLUDE_CORE_VRTYPES_PUBLIC_H +#define _INCLUDE_CORE_VRTYPES_PUBLIC_H + +namespace vr +{ +#pragma pack( push, 8 ) + +typedef uint32_t PropertyTypeTag_t; + +// right-handed system +// +y is up +// +x is to the right +// -z is forward +// Distance unit is meters +struct HmdMatrix34_t +{ + float m[3][4]; +}; + +struct HmdMatrix33_t +{ + float m[3][3]; +}; + +struct HmdMatrix44_t +{ + float m[4][4]; +}; + +struct HmdVector3_t +{ + float v[3]; +}; + +struct HmdVector4_t +{ + float v[4]; +}; + +struct HmdVector3d_t +{ + double v[3]; +}; + +struct HmdVector2_t +{ + float v[2]; +}; + +struct HmdQuaternion_t +{ + double w, x, y, z; +}; + +struct HmdQuaternionf_t +{ + float w, x, y, z; +}; + +struct HmdColor_t +{ + float r, g, b, a; +}; + +struct HmdQuad_t +{ + HmdVector3_t vCorners[ 4 ]; +}; + +struct HmdRect2_t +{ + HmdVector2_t vTopLeft; + HmdVector2_t vBottomRight; +}; + +/** Holds the transform for a single bone */ +struct VRBoneTransform_t +{ + HmdVector4_t position; + HmdQuaternionf_t orientation; +}; + +/** Used to return the post-distortion UVs for each color channel. +* UVs range from 0 to 1 with 0,0 in the upper left corner of the +* source render target. The 0,0 to 1,1 range covers a single eye. */ +struct DistortionCoordinates_t +{ + float rfRed[2]; + float rfGreen[2]; + float rfBlue[2]; +}; + +enum EVREye +{ + Eye_Left = 0, + Eye_Right = 1 +}; + +enum ETextureType +{ + TextureType_Invalid = -1, // Handle has been invalidated + TextureType_DirectX = 0, // Handle is an ID3D11Texture + TextureType_OpenGL = 1, // Handle is an OpenGL texture name or an OpenGL render buffer name, depending on submit flags + TextureType_Vulkan = 2, // Handle is a pointer to a VRVulkanTextureData_t structure + TextureType_IOSurface = 3, // Handle is a macOS cross-process-sharable IOSurfaceRef, deprecated in favor of TextureType_Metal on supported platforms + TextureType_DirectX12 = 4, // Handle is a pointer to a D3D12TextureData_t structure + TextureType_DXGISharedHandle = 5, // Handle is a HANDLE DXGI share handle, only supported for Overlay render targets. + // this texture is used directly by our renderer, so only perform atomic (copyresource or resolve) on it + TextureType_Metal = 6, // Handle is a MTLTexture conforming to the MTLSharedTexture protocol. Textures submitted to IVRCompositor::Submit which + // are of type MTLTextureType2DArray assume layer 0 is the left eye texture (vr::EVREye::Eye_left), layer 1 is the right + // eye texture (vr::EVREye::Eye_Right) + + TextureType_Reserved = 7, + TextureType_SharedTextureHandle = 8, // A pointer to a vr::SharedTextureHandle_t that was imported via, eg. ImportDmabuf. +}; + +enum EColorSpace +{ + ColorSpace_Auto = 0, // Assumes 'gamma' for 8-bit per component formats, otherwise 'linear'. This mirrors the DXGI formats which have _SRGB variants. + ColorSpace_Gamma = 1, // Texture data can be displayed directly on the display without any conversion (a.k.a. display native format). + ColorSpace_Linear = 2, // Same as gamma but has been converted to a linear representation using DXGI's sRGB conversion algorithm. +}; + +struct Texture_t +{ + void* handle; // See ETextureType definition above + ETextureType eType; + EColorSpace eColorSpace; +}; + +/** Allows the application to control what part of the provided texture will be used in the +* frame buffer. */ +struct VRTextureBounds_t +{ + float uMin, vMin; + float uMax, vMax; +}; + +/** Allows specifying pose used to render provided scene texture (if different from value returned by WaitGetPoses). */ +struct VRTextureWithPose_t : public Texture_t +{ + HmdMatrix34_t mDeviceToAbsoluteTracking; // Actual pose used to render scene textures. +}; + +struct VRTextureDepthInfo_t +{ + void* handle; // See ETextureType definition above + HmdMatrix44_t mProjection; + HmdVector2_t vRange; // 0..1 +}; + +struct VRTextureWithDepth_t : public Texture_t +{ + VRTextureDepthInfo_t depth; +}; + +struct VRTextureWithPoseAndDepth_t : public VRTextureWithPose_t +{ + VRTextureDepthInfo_t depth; +}; + +// 64-bit types that are part of public structures +// that are replicated in shared memory. +#if defined(__linux__) || defined(__APPLE__) +typedef uint64_t vrshared_uint64_t __attribute__ ((aligned(8))); +typedef double vrshared_double __attribute__ ((aligned(8))); +#else +typedef uint64_t vrshared_uint64_t; +typedef double vrshared_double; +#endif + +static const uint32_t MaxDmabufPlaneCount = 4; + +struct DmabufPlane_t +{ + uint32_t unOffset; + uint32_t unStride; + int32_t nFd; +}; + +struct DmabufAttributes_t +{ + void *pNext; // MUST be NULL. Unused right now, but could be used to extend this structure in the future. + + uint32_t unWidth; + uint32_t unHeight; + uint32_t unDepth; + uint32_t unMipLevels; + uint32_t unArrayLayers; + uint32_t unSampleCount; + uint32_t unFormat; // DRM_FORMAT_ + uint64_t ulModifier; // DRM_FORMAT_MOD_ + + uint32_t unPlaneCount; + DmabufPlane_t plane[MaxDmabufPlaneCount]; +}; + +#pragma pack( pop ) + +} // namespace vr + +#endif + +// vrtypes.h + +#ifndef _INCLUDE_VRTYPES_H +#define _INCLUDE_VRTYPES_H + +// Forward declarations to avoid requiring vulkan.h +struct VkDevice_T; +struct VkPhysicalDevice_T; +struct VkInstance_T; +struct VkQueue_T; + +// Forward declarations to avoid requiring d3d12.h +struct ID3D12Resource; +struct ID3D12CommandQueue; + +namespace vr +{ +#pragma pack( push, 8 ) + +/** A handle for a spatial anchor. This handle is only valid during the session it was created in. +* Anchors that live beyond one session should be saved by their string descriptors. */ +typedef uint32_t SpatialAnchorHandle_t; + +typedef void* glSharedTextureHandle_t; +typedef int32_t glInt_t; +typedef uint32_t glUInt_t; + + +// Handle to a shared texture (HANDLE on Windows obtained using OpenSharedResource). +typedef uint64_t SharedTextureHandle_t; +#define INVALID_SHARED_TEXTURE_HANDLE ((vr::SharedTextureHandle_t)0) + +enum ETrackingResult +{ + TrackingResult_Uninitialized = 1, + + TrackingResult_Calibrating_InProgress = 100, + TrackingResult_Calibrating_OutOfRange = 101, + + TrackingResult_Running_OK = 200, + TrackingResult_Running_OutOfRange = 201, + + TrackingResult_Fallback_RotationOnly = 300, +}; + +typedef uint32_t DriverId_t; +static const uint32_t k_nDriverNone = 0xFFFFFFFF; + +static const uint32_t k_unMaxDriverDebugResponseSize = 32768; + +/** Used to pass device IDs to API calls */ +typedef uint32_t TrackedDeviceIndex_t; +static const uint32_t k_unTrackedDeviceIndex_Hmd = 0; +static const uint32_t k_unMaxTrackedDeviceCount = 64; +static const uint32_t k_unTrackedDeviceIndexOther = 0xFFFFFFFE; +static const uint32_t k_unTrackedDeviceIndexInvalid = 0xFFFFFFFF; + +/** Describes what kind of object is being tracked at a given ID */ +enum ETrackedDeviceClass +{ + TrackedDeviceClass_Invalid = 0, // the ID was not valid. + TrackedDeviceClass_HMD = 1, // Head-Mounted Displays + TrackedDeviceClass_Controller = 2, // Tracked controllers + TrackedDeviceClass_GenericTracker = 3, // Generic trackers, similar to controllers + TrackedDeviceClass_TrackingReference = 4, // Camera and base stations that serve as tracking reference points + TrackedDeviceClass_DisplayRedirect = 5, // Accessories that aren't necessarily tracked themselves, but may redirect video output from other tracked devices + + TrackedDeviceClass_Max +}; + + +/** Describes what specific role associated with a tracked device */ +enum ETrackedControllerRole +{ + TrackedControllerRole_Invalid = 0, // Invalid value for controller type + TrackedControllerRole_LeftHand = 1, // Tracked device associated with the left hand + TrackedControllerRole_RightHand = 2, // Tracked device associated with the right hand + TrackedControllerRole_OptOut = 3, // Tracked device is opting out of left/right hand selection + TrackedControllerRole_Treadmill = 4, // Tracked device is a treadmill or other locomotion device + TrackedControllerRole_Stylus = 5, // Tracked device is a stylus + TrackedControllerRole_Max = 5 +}; + + +/** Returns true if the tracked controller role is allowed to be a hand */ +inline bool IsRoleAllowedAsHand( ETrackedControllerRole eRole ) +{ + switch ( eRole ) + { + case TrackedControllerRole_Invalid: + case TrackedControllerRole_LeftHand: + case TrackedControllerRole_RightHand: + return true; + default: + return false; + } +} + + +/** describes a single pose for a tracked object */ +struct TrackedDevicePose_t +{ + HmdMatrix34_t mDeviceToAbsoluteTracking; + HmdVector3_t vVelocity; // velocity in tracker space in m/s + HmdVector3_t vAngularVelocity; // angular velocity in radians/s (?) + ETrackingResult eTrackingResult; + bool bPoseIsValid; + + // This indicates that there is a device connected for this spot in the pose array. + // It could go from true to false if the user unplugs the device. + bool bDeviceIsConnected; +}; + +/** Identifies which style of tracking origin the application wants to use +* for the poses it is requesting */ +enum ETrackingUniverseOrigin +{ + TrackingUniverseSeated = 0, // Poses are provided relative to the seated zero pose + TrackingUniverseStanding = 1, // Poses are provided relative to the safe bounds configured by the user + TrackingUniverseRawAndUncalibrated = 2, // Poses are provided in the coordinate system defined by the driver. It has Y up and is unified for devices of the same driver. You usually don't want this one. +}; + +enum EAdditionalRadioFeatures +{ + AdditionalRadioFeatures_None = 0x00000000, + AdditionalRadioFeatures_HTCLinkBox = 0x00000001, + AdditionalRadioFeatures_InternalDongle = 0x00000002, + AdditionalRadioFeatures_ExternalDongle = 0x00000004, +}; + +typedef uint64_t WebConsoleHandle_t; +#define INVALID_WEB_CONSOLE_HANDLE ((vr::WebConsoleHandle_t)0) + +// Refers to a single container of properties +typedef uint64_t PropertyContainerHandle_t; +typedef uint32_t PropertyTypeTag_t; + +static const PropertyContainerHandle_t k_ulInvalidPropertyContainer = 0; +static const PropertyTypeTag_t k_unInvalidPropertyTag = 0; + +typedef PropertyContainerHandle_t DriverHandle_t; +static const PropertyContainerHandle_t k_ulInvalidDriverHandle = 0; + +// Use these tags to set/get common types as struct properties +static const PropertyTypeTag_t k_unFloatPropertyTag = 1; +static const PropertyTypeTag_t k_unInt32PropertyTag = 2; +static const PropertyTypeTag_t k_unUint64PropertyTag = 3; +static const PropertyTypeTag_t k_unBoolPropertyTag = 4; +static const PropertyTypeTag_t k_unStringPropertyTag = 5; +static const PropertyTypeTag_t k_unErrorPropertyTag = 6; +static const PropertyTypeTag_t k_unDoublePropertyTag = 7; + +static const PropertyTypeTag_t k_unHmdMatrix34PropertyTag = 20; +static const PropertyTypeTag_t k_unHmdMatrix44PropertyTag = 21; +static const PropertyTypeTag_t k_unHmdVector3PropertyTag = 22; +static const PropertyTypeTag_t k_unHmdVector4PropertyTag = 23; +static const PropertyTypeTag_t k_unHmdVector2PropertyTag = 24; +static const PropertyTypeTag_t k_unHmdQuadPropertyTag = 25; + +static const PropertyTypeTag_t k_unHiddenAreaPropertyTag = 30; +static const PropertyTypeTag_t k_unPathHandleInfoTag = 31; +static const PropertyTypeTag_t k_unActionPropertyTag = 32; +static const PropertyTypeTag_t k_unInputValuePropertyTag = 33; +static const PropertyTypeTag_t k_unWildcardPropertyTag = 34; +static const PropertyTypeTag_t k_unHapticVibrationPropertyTag = 35; +static const PropertyTypeTag_t k_unSkeletonPropertyTag = 36; + +static const PropertyTypeTag_t k_unSpatialAnchorPosePropertyTag = 40; +static const PropertyTypeTag_t k_unJsonPropertyTag = 41; +static const PropertyTypeTag_t k_unActiveActionSetPropertyTag = 42; + +static const PropertyTypeTag_t k_unOpenVRInternalReserved_Start = 1000; +static const PropertyTypeTag_t k_unOpenVRInternalReserved_End = 10000; + + +/** Each entry in this enum represents a property that can be retrieved about a +* tracked device. Many fields are only valid for one ETrackedDeviceClass. */ +enum ETrackedDeviceProperty +{ + Prop_Invalid = 0, + + // general properties that apply to all device classes + Prop_TrackingSystemName_String = 1000, + Prop_ModelNumber_String = 1001, + Prop_SerialNumber_String = 1002, + Prop_RenderModelName_String = 1003, + Prop_WillDriftInYaw_Bool = 1004, + Prop_ManufacturerName_String = 1005, + Prop_TrackingFirmwareVersion_String = 1006, + Prop_HardwareRevision_String = 1007, + Prop_AllWirelessDongleDescriptions_String = 1008, + Prop_ConnectedWirelessDongle_String = 1009, + Prop_DeviceIsWireless_Bool = 1010, + Prop_DeviceIsCharging_Bool = 1011, + Prop_DeviceBatteryPercentage_Float = 1012, // 0 is empty, 1 is full + Prop_StatusDisplayTransform_Matrix34 = 1013, + Prop_Firmware_UpdateAvailable_Bool = 1014, + Prop_Firmware_ManualUpdate_Bool = 1015, + Prop_Firmware_ManualUpdateURL_String = 1016, + Prop_HardwareRevision_Uint64 = 1017, + Prop_FirmwareVersion_Uint64 = 1018, + Prop_FPGAVersion_Uint64 = 1019, + Prop_VRCVersion_Uint64 = 1020, + Prop_RadioVersion_Uint64 = 1021, + Prop_DongleVersion_Uint64 = 1022, + Prop_BlockServerShutdown_Bool = 1023, + Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024, + Prop_ContainsProximitySensor_Bool = 1025, + Prop_DeviceProvidesBatteryStatus_Bool = 1026, + Prop_DeviceCanPowerOff_Bool = 1027, + Prop_Firmware_ProgrammingTarget_String = 1028, + Prop_DeviceClass_Int32 = 1029, + Prop_HasCamera_Bool = 1030, + Prop_DriverVersion_String = 1031, + Prop_Firmware_ForceUpdateRequired_Bool = 1032, + Prop_ViveSystemButtonFixRequired_Bool = 1033, + Prop_ParentDriver_Uint64 = 1034, + Prop_ResourceRoot_String = 1035, + Prop_RegisteredDeviceType_String = 1036, + Prop_InputProfilePath_String = 1037, // input profile to use for this device in the input system. Will default to tracking system name if this isn't provided + Prop_NeverTracked_Bool = 1038, // Used for devices that will never have a valid pose by design + Prop_NumCameras_Int32 = 1039, + Prop_CameraFrameLayout_Int32 = 1040, // EVRTrackedCameraFrameLayout value + Prop_CameraStreamFormat_Int32 = 1041, // ECameraVideoStreamFormat value + Prop_AdditionalDeviceSettingsPath_String = 1042, // driver-relative path to additional device and global configuration settings + Prop_Identifiable_Bool = 1043, // Whether device supports being identified from vrmonitor (e.g. blink LED, vibrate haptics, etc) + Prop_BootloaderVersion_Uint64 = 1044, + Prop_AdditionalSystemReportData_String = 1045, // additional string to include in system reports about a tracked device + Prop_CompositeFirmwareVersion_String = 1046, // additional FW components from a device that gets propagated into reports + Prop_Firmware_RemindUpdate_Bool = 1047, + Prop_PeripheralApplicationVersion_Uint64 = 1048, + Prop_ManufacturerSerialNumber_String = 1049, + Prop_ComputedSerialNumber_String = 1050, + Prop_EstimatedDeviceFirstUseTime_Int32 = 1051, + Prop_DevicePowerUsage_Float = 1052, + Prop_IgnoreMotionForStandby_Bool = 1053, + Prop_ActualTrackingSystemName_String = 1054, // the literal local driver name in case someone is playing games with prop 1000 + + // Properties that are unique to TrackedDeviceClass_HMD + Prop_ReportsTimeSinceVSync_Bool = 2000, + Prop_SecondsFromVsyncToPhotons_Float = 2001, + Prop_DisplayFrequency_Float = 2002, + Prop_UserIpdMeters_Float = 2003, + Prop_CurrentUniverseId_Uint64 = 2004, + Prop_PreviousUniverseId_Uint64 = 2005, + Prop_DisplayFirmwareVersion_Uint64 = 2006, + Prop_IsOnDesktop_Bool = 2007, + Prop_DisplayMCType_Int32 = 2008, + Prop_DisplayMCOffset_Float = 2009, + Prop_DisplayMCScale_Float = 2010, + Prop_EdidVendorID_Int32 = 2011, + Prop_DisplayMCImageLeft_String = 2012, + Prop_DisplayMCImageRight_String = 2013, + Prop_DisplayGCBlackClamp_Float = 2014, + Prop_EdidProductID_Int32 = 2015, + Prop_CameraToHeadTransform_Matrix34 = 2016, + Prop_DisplayGCType_Int32 = 2017, + Prop_DisplayGCOffset_Float = 2018, + Prop_DisplayGCScale_Float = 2019, + Prop_DisplayGCPrescale_Float = 2020, + Prop_DisplayGCImage_String = 2021, + Prop_LensCenterLeftU_Float = 2022, + Prop_LensCenterLeftV_Float = 2023, + Prop_LensCenterRightU_Float = 2024, + Prop_LensCenterRightV_Float = 2025, + Prop_UserHeadToEyeDepthMeters_Float = 2026, + Prop_CameraFirmwareVersion_Uint64 = 2027, + Prop_CameraFirmwareDescription_String = 2028, + Prop_DisplayFPGAVersion_Uint64 = 2029, + Prop_DisplayBootloaderVersion_Uint64 = 2030, + Prop_DisplayHardwareVersion_Uint64 = 2031, + Prop_AudioFirmwareVersion_Uint64 = 2032, + Prop_CameraCompatibilityMode_Int32 = 2033, + Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034, + Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035, + Prop_DisplaySuppressed_Bool = 2036, + Prop_DisplayAllowNightMode_Bool = 2037, + Prop_DisplayMCImageWidth_Int32 = 2038, + Prop_DisplayMCImageHeight_Int32 = 2039, + Prop_DisplayMCImageNumChannels_Int32 = 2040, + Prop_DisplayMCImageData_Binary = 2041, + Prop_SecondsFromPhotonsToVblank_Float = 2042, + Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043, + Prop_DisplayDebugMode_Bool = 2044, + Prop_GraphicsAdapterLuid_Uint64 = 2045, + Prop_DriverProvidedChaperonePath_String = 2048, + Prop_ExpectedTrackingReferenceCount_Int32 = 2049, // expected number of sensors or basestations to reserve UI space for + Prop_ExpectedControllerCount_Int32 = 2050, // expected number of tracked controllers to reserve UI space for + Prop_NamedIconPathControllerLeftDeviceOff_String = 2051, // placeholder icon for "left" controller if not yet detected/loaded + Prop_NamedIconPathControllerRightDeviceOff_String = 2052, // placeholder icon for "right" controller if not yet detected/loaded + Prop_NamedIconPathTrackingReferenceDeviceOff_String = 2053, // placeholder icon for sensor/base if not yet detected/loaded + Prop_DoNotApplyPrediction_Bool = 2054, // currently no effect. was used to disable HMD pose prediction on MR, which is now done by MR driver setting velocity=0 + Prop_CameraToHeadTransforms_Matrix34_Array = 2055, + Prop_DistortionMeshResolution_Int32 = 2056, // custom resolution of compositor calls to IVRSystem::ComputeDistortion + Prop_DriverIsDrawingControllers_Bool = 2057, + Prop_DriverRequestsApplicationPause_Bool = 2058, + Prop_DriverRequestsReducedRendering_Bool = 2059, + Prop_MinimumIpdStepMeters_Float = 2060, + Prop_AudioBridgeFirmwareVersion_Uint64 = 2061, + Prop_ImageBridgeFirmwareVersion_Uint64 = 2062, + Prop_ImuToHeadTransform_Matrix34 = 2063, + Prop_ImuFactoryGyroBias_Vector3 = 2064, + Prop_ImuFactoryGyroScale_Vector3 = 2065, + Prop_ImuFactoryAccelerometerBias_Vector3 = 2066, + Prop_ImuFactoryAccelerometerScale_Vector3 = 2067, + // reserved 2068 + Prop_ConfigurationIncludesLighthouse20Features_Bool = 2069, + Prop_AdditionalRadioFeatures_Uint64 = 2070, + Prop_CameraWhiteBalance_Vector4_Array = 2071, // Prop_NumCameras_Int32-sized array of float[4] RGBG white balance calibration data (max size is vr::k_unMaxCameras) + Prop_CameraDistortionFunction_Int32_Array = 2072, // Prop_NumCameras_Int32-sized array of vr::EVRDistortionFunctionType values (max size is vr::k_unMaxCameras) + Prop_CameraDistortionCoefficients_Float_Array = 2073, // Prop_NumCameras_Int32-sized array of double[vr::k_unMaxDistortionFunctionParameters] (max size is vr::k_unMaxCameras) + Prop_ExpectedControllerType_String = 2074, + Prop_HmdTrackingStyle_Int32 = 2075, // one of EHmdTrackingStyle + Prop_DriverProvidedChaperoneVisibility_Bool = 2076, + Prop_HmdColumnCorrectionSettingPrefix_String = 2077, + Prop_CameraSupportsCompatibilityModes_Bool = 2078, + Prop_SupportsRoomViewDepthProjection_Bool = 2079, + Prop_DisplayAvailableFrameRates_Float_Array = 2080, // populated by compositor from actual EDID list when available from GPU driver + Prop_DisplaySupportsMultipleFramerates_Bool = 2081, // if this is true but Prop_DisplayAvailableFrameRates_Float_Array is empty, explain to user + Prop_DisplayColorMultLeft_Vector3 = 2082, + Prop_DisplayColorMultRight_Vector3 = 2083, + Prop_DisplaySupportsRuntimeFramerateChange_Bool = 2084, + Prop_DisplaySupportsAnalogGain_Bool = 2085, + Prop_DisplayMinAnalogGain_Float = 2086, + Prop_DisplayMaxAnalogGain_Float = 2087, + Prop_CameraExposureTime_Float = 2088, + Prop_CameraGlobalGain_Float = 2089, + // Prop_DashboardLayoutPathName_String = 2090, // DELETED + Prop_DashboardScale_Float = 2091, + Prop_PeerButtonInfo_String = 2092, + Prop_Hmd_SupportsHDR10_Bool = 2093, + Prop_Hmd_EnableParallelRenderCameras_Bool = 2094, + Prop_DriverProvidedChaperoneJson_String = 2095, // higher priority than Prop_DriverProvidedChaperonePath_String + Prop_ForceSystemLayerUseAppPoses_Bool = 2096, + + Prop_IpdUIRangeMinMeters_Float = 2100, + Prop_IpdUIRangeMaxMeters_Float = 2101, + Prop_Hmd_SupportsHDCP14LegacyCompat_Bool = 2102, + Prop_Hmd_SupportsMicMonitoring_Bool = 2103, + Prop_Hmd_SupportsDisplayPortTrainingMode_Bool = 2104, + Prop_Hmd_SupportsRoomViewDirect_Bool = 2105, + Prop_Hmd_SupportsAppThrottling_Bool = 2106, + Prop_Hmd_SupportsGpuBusMonitoring_Bool = 2107, + Prop_DriverDisplaysIPDChanges_Bool = 2108, + Prop_Driver_Reserved_01 = 2109, + Prop_Driver_Reserved_02 = 2110, + + Prop_DSCVersion_Int32 = 2110, + Prop_DSCSliceCount_Int32 = 2111, + Prop_DSCBPPx16_Int32 = 2112, + + Prop_Hmd_MaxDistortedTextureWidth_Int32 = 2113, + Prop_Hmd_MaxDistortedTextureHeight_Int32 = 2114, + Prop_Hmd_AllowSupersampleFiltering_Bool = 2115, + + // Driver requested mura correction properties + Prop_DriverRequestedMuraCorrectionMode_Int32 = 2200, + Prop_DriverRequestedMuraFeather_InnerLeft_Int32 = 2201, + Prop_DriverRequestedMuraFeather_InnerRight_Int32 = 2202, + Prop_DriverRequestedMuraFeather_InnerTop_Int32 = 2203, + Prop_DriverRequestedMuraFeather_InnerBottom_Int32 = 2204, + Prop_DriverRequestedMuraFeather_OuterLeft_Int32 = 2205, + Prop_DriverRequestedMuraFeather_OuterRight_Int32 = 2206, + Prop_DriverRequestedMuraFeather_OuterTop_Int32 = 2207, + Prop_DriverRequestedMuraFeather_OuterBottom_Int32 = 2208, + + Prop_Audio_DefaultPlaybackDeviceId_String = 2300, + Prop_Audio_DefaultRecordingDeviceId_String = 2301, + Prop_Audio_DefaultPlaybackDeviceVolume_Float = 2302, + Prop_Audio_SupportsDualSpeakerAndJackOutput_Bool = 2303, + Prop_Audio_DriverManagesPlaybackVolumeControl_Bool = 2304, + Prop_Audio_DriverPlaybackVolume_Float = 2305, + Prop_Audio_DriverPlaybackMute_Bool = 2306, + Prop_Audio_DriverManagesRecordingVolumeControl_Bool = 2307, + Prop_Audio_DriverRecordingVolume_Float = 2308, + Prop_Audio_DriverRecordingMute_Bool = 2309, + + // Properties that are unique to TrackedDeviceClass_Controller + Prop_AttachedDeviceId_String = 3000, + Prop_SupportedButtons_Uint64 = 3001, + Prop_Axis0Type_Int32 = 3002, // Return value is of type EVRControllerAxisType + Prop_Axis1Type_Int32 = 3003, // Return value is of type EVRControllerAxisType + Prop_Axis2Type_Int32 = 3004, // Return value is of type EVRControllerAxisType + Prop_Axis3Type_Int32 = 3005, // Return value is of type EVRControllerAxisType + Prop_Axis4Type_Int32 = 3006, // Return value is of type EVRControllerAxisType + Prop_ControllerRoleHint_Int32 = 3007, // Return value is of type ETrackedControllerRole + + // Properties that are unique to TrackedDeviceClass_TrackingReference + Prop_FieldOfViewLeftDegrees_Float = 4000, + Prop_FieldOfViewRightDegrees_Float = 4001, + Prop_FieldOfViewTopDegrees_Float = 4002, + Prop_FieldOfViewBottomDegrees_Float = 4003, + Prop_TrackingRangeMinimumMeters_Float = 4004, + Prop_TrackingRangeMaximumMeters_Float = 4005, + Prop_ModeLabel_String = 4006, + Prop_CanWirelessIdentify_Bool = 4007, // volatile, based on radio presence and fw discovery + Prop_Nonce_Int32 = 4008, + + // Properties that are used for user interface like icons names + Prop_IconPathName_String = 5000, // DEPRECATED. Value not referenced. Now expected to be part of icon path properties. + Prop_NamedIconPathDeviceOff_String = 5001, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others + Prop_NamedIconPathDeviceSearching_String = 5002, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others + Prop_NamedIconPathDeviceSearchingAlert_String = 5003, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others + Prop_NamedIconPathDeviceReady_String = 5004, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others + Prop_NamedIconPathDeviceReadyAlert_String = 5005, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others + Prop_NamedIconPathDeviceNotReady_String = 5006, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others + Prop_NamedIconPathDeviceStandby_String = 5007, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others + Prop_NamedIconPathDeviceAlertLow_String = 5008, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others + Prop_NamedIconPathDeviceStandbyAlert_String = 5009, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others + + // Properties that are used by helpers, but are opaque to applications + Prop_DisplayHiddenArea_Binary_Start = 5100, + Prop_DisplayHiddenArea_Binary_End = 5150, + Prop_ParentContainer = 5151, + Prop_OverrideContainer_Uint64 = 5152, + + // Properties that are unique to drivers + Prop_UserConfigPath_String = 6000, + Prop_InstallPath_String = 6001, + Prop_HasDisplayComponent_Bool = 6002, + Prop_HasControllerComponent_Bool = 6003, + Prop_HasCameraComponent_Bool = 6004, + Prop_HasDriverDirectModeComponent_Bool = 6005, + Prop_HasVirtualDisplayComponent_Bool = 6006, + Prop_HasSpatialAnchorsSupport_Bool = 6007, + Prop_SupportsXrTextureSets_Bool = 6008, + + // Properties that are set internally based on other information provided by drivers + Prop_ControllerType_String = 7000, + //Prop_LegacyInputProfile_String = 7001, // This is no longer used. See "legacy_binding" in the input profile instead. + Prop_ControllerHandSelectionPriority_Int32 = 7002, // Allows hand assignments to prefer some controllers over others. High numbers are selected over low numbers + + // Vendors are free to expose private debug data in this reserved region + Prop_VendorSpecific_Reserved_Start = 10000, + Prop_VendorSpecific_Reserved_End = 10999, + + Prop_TrackedDeviceProperty_Max = 1000000, +}; + +/** No string property will ever be longer than this length */ +static const uint32_t k_unMaxPropertyStringSize = 32 * 1024; + +/** Used to return errors that occur when reading properties. */ +enum ETrackedPropertyError +{ + TrackedProp_Success = 0, + TrackedProp_WrongDataType = 1, + TrackedProp_WrongDeviceClass = 2, + TrackedProp_BufferTooSmall = 3, + TrackedProp_UnknownProperty = 4, // Driver has not set the property (and may not ever). + TrackedProp_InvalidDevice = 5, + TrackedProp_CouldNotContactServer = 6, + TrackedProp_ValueNotProvidedByDevice = 7, + TrackedProp_StringExceedsMaximumLength = 8, + TrackedProp_NotYetAvailable = 9, // The property value isn't known yet, but is expected soon. Call again later. + TrackedProp_PermissionDenied = 10, + TrackedProp_InvalidOperation = 11, + TrackedProp_CannotWriteToWildcards = 12, + TrackedProp_IPCReadFailure = 13, + TrackedProp_OutOfMemory = 14, + TrackedProp_InvalidContainer = 15, +}; + +/** Used to drive certain text in the UI when talking about the tracking system for the HMD */ +enum EHmdTrackingStyle +{ + HmdTrackingStyle_Unknown = 0, + + HmdTrackingStyle_Lighthouse = 1, // base stations and lasers + HmdTrackingStyle_OutsideInCameras = 2, // Cameras and LED, Rift 1 style + HmdTrackingStyle_InsideOutCameras = 3, // Cameras on HMD looking at the world +}; + +typedef uint64_t VRActionHandle_t; +typedef uint64_t VRActionSetHandle_t; +typedef uint64_t VRInputValueHandle_t; + +static const VRActionHandle_t k_ulInvalidActionHandle = 0; +static const VRActionSetHandle_t k_ulInvalidActionSetHandle = 0; +static const VRInputValueHandle_t k_ulInvalidInputValueHandle = 0; + + +/** Allows the application to control how scene textures are used by the compositor when calling Submit. */ +enum EVRSubmitFlags +{ + // Simple render path. App submits rendered left and right eye images with no lens distortion correction applied. + Submit_Default = 0x00, + + // App submits final left and right eye images with lens distortion already applied (lens distortion makes the images appear + // barrel distorted with chromatic aberration correction applied). The app would have used the data returned by + // vr::IVRSystem::ComputeDistortion() to apply the correct distortion to the rendered images before calling Submit(). + Submit_LensDistortionAlreadyApplied = 0x01, + + // If the texture pointer passed in is actually a renderbuffer (e.g. for MSAA in OpenGL) then set this flag. + Submit_GlRenderBuffer = 0x02, + + // Do not use + Submit_Reserved = 0x04, + + // Set to indicate that pTexture is a pointer to a VRTextureWithPose_t. + // This flag can be combined with Submit_TextureWithDepth to pass a VRTextureWithPoseAndDepth_t. + Submit_TextureWithPose = 0x08, + + // Set to indicate that pTexture is a pointer to a VRTextureWithDepth_t. + // This flag can be combined with Submit_TextureWithPose to pass a VRTextureWithPoseAndDepth_t. + Submit_TextureWithDepth = 0x10, + + // Set to indicate a discontinuity between this and the last frame. + // This will prevent motion smoothing from attempting to extrapolate using the pair. + Submit_FrameDiscontinuity = 0x20, + + // Set to indicate that pTexture->handle is a contains VRVulkanTextureArrayData_t + Submit_VulkanTextureWithArrayData = 0x40, + + // If the texture pointer passed in is an OpenGL Array texture, set this flag + Submit_GlArrayTexture = 0x80, + + // If the texture is an EGL texture and not an glX/wGL texture (Linux only, currently) + Submit_IsEgl = 0x100, + + // Do not use + Submit_Reserved2 = 0x08000, + Submit_Reserved3 = 0x10000, + +}; + +/** Data required for passing Vulkan textures to IVRCompositor::Submit. +* Be sure to call OpenVR_Shutdown before destroying these resources. +* Please see https://github.com/ValveSoftware/openvr/wiki/Vulkan for Vulkan-specific documentation */ +struct VRVulkanTextureData_t +{ + uint64_t m_nImage; // VkImage + VkDevice_T *m_pDevice; + VkPhysicalDevice_T *m_pPhysicalDevice; + VkInstance_T *m_pInstance; + VkQueue_T *m_pQueue; + uint32_t m_nQueueFamilyIndex; + uint32_t m_nWidth, m_nHeight, m_nFormat, m_nSampleCount; +}; + +/** Data required for passing Vulkan texture arrays to IVRCompositor::Submit. +* Be sure to call OpenVR_Shutdown before destroying these resources. +* Please see https://github.com/ValveSoftware/openvr/wiki/Vulkan for Vulkan-specific documentation */ +struct VRVulkanTextureArrayData_t : public VRVulkanTextureData_t +{ + uint32_t m_unArrayIndex; + uint32_t m_unArraySize; +}; + +/** Data required for passing D3D12 textures to IVRCompositor::Submit. +* Be sure to call OpenVR_Shutdown before destroying these resources. */ +struct D3D12TextureData_t +{ + ID3D12Resource *m_pResource; + ID3D12CommandQueue *m_pCommandQueue; + uint32_t m_nNodeMask; +}; + +/** Status of the overall system or tracked objects */ +enum EVRState +{ + VRState_Undefined = -1, + VRState_Off = 0, + VRState_Searching = 1, + VRState_Searching_Alert = 2, + VRState_Ready = 3, + VRState_Ready_Alert = 4, + VRState_NotReady = 5, + VRState_Standby = 6, + VRState_Ready_Alert_Low = 7, +}; + +/** The types of events that could be posted (and what the parameters mean for each event type) */ +enum EVREventType +{ + VREvent_None = 0, + + VREvent_TrackedDeviceActivated = 100, + VREvent_TrackedDeviceDeactivated = 101, + VREvent_TrackedDeviceUpdated = 102, + VREvent_TrackedDeviceUserInteractionStarted = 103, + VREvent_TrackedDeviceUserInteractionEnded = 104, + VREvent_IpdChanged = 105, + VREvent_EnterStandbyMode = 106, + VREvent_LeaveStandbyMode = 107, + VREvent_TrackedDeviceRoleChanged = 108, + VREvent_WatchdogWakeUpRequested = 109, + VREvent_LensDistortionChanged = 110, + VREvent_PropertyChanged = 111, + VREvent_WirelessDisconnect = 112, + VREvent_WirelessReconnect = 113, + VREvent_Reserved_01 = 114, + VREvent_Reserved_02 = 115, + + VREvent_ButtonPress = 200, // data is controller + VREvent_ButtonUnpress = 201, // data is controller + VREvent_ButtonTouch = 202, // data is controller + VREvent_ButtonUntouch = 203, // data is controller + + // VREvent_DualAnalog_Press = 250, // No longer sent + // VREvent_DualAnalog_Unpress = 251, // No longer sent + // VREvent_DualAnalog_Touch = 252, // No longer sent + // VREvent_DualAnalog_Untouch = 253, // No longer sent + // VREvent_DualAnalog_Move = 254, // No longer sent + // VREvent_DualAnalog_ModeSwitch1 = 255, // No longer sent + // VREvent_DualAnalog_ModeSwitch2 = 256, // No longer sent + VREvent_Modal_Cancel = 257, // Sent to overlays with the + + VREvent_MouseMove = 300, // data is mouse + VREvent_MouseButtonDown = 301, // data is mouse + VREvent_MouseButtonUp = 302, // data is mouse + VREvent_FocusEnter = 303, // data is overlay + VREvent_FocusLeave = 304, // data is overlay + VREvent_ScrollDiscrete = 305, // data is scroll + VREvent_TouchPadMove = 306, // data is mouse + VREvent_OverlayFocusChanged = 307, // data is overlay, global event + VREvent_ReloadOverlays = 308, + VREvent_ScrollSmooth = 309, // data is scroll + VREvent_LockMousePosition = 310, // data is mouse + VREvent_UnlockMousePosition = 311, // data is mouse + + VREvent_InputFocusCaptured = 400, // data is process DEPRECATED + VREvent_InputFocusReleased = 401, // data is process DEPRECATED + // VREvent_SceneFocusLost = 402, // data is process + // VREvent_SceneFocusGained = 403, // data is process + VREvent_SceneApplicationChanged = 404, // data is process - The App actually drawing the scene changed (usually to or from the compositor) + // VREvent_SceneFocusChanged = 405, // data is process - This is defunct and will not be called. + VREvent_InputFocusChanged = 406, // data is process + // VREvent_SceneApplicationSecondaryRenderingStarted = 407, + VREvent_SceneApplicationUsingWrongGraphicsAdapter = 408, // data is process + VREvent_ActionBindingReloaded = 409, // data is process - The App that action binds reloaded for + + VREvent_HideRenderModels = 410, // Sent to the scene application to request hiding render models temporarily + VREvent_ShowRenderModels = 411, // Sent to the scene application to request restoring render model visibility + + VREvent_SceneApplicationStateChanged = 412, // No data; but query VRApplications()->GetSceneApplicationState(); + + VREvent_SceneAppPipeDisconnected = 413, // data is process - Called when the scene app's pipe has been closed. + + VREvent_ConsoleOpened = 420, + VREvent_ConsoleClosed = 421, + + VREvent_OverlayShown = 500, // Indicates that an overlay is now visible to someone and should be rendering normally. Reflects IVROverlay::IsOverlayVisible() becoming true. + VREvent_OverlayHidden = 501, // Indicates that an overlay is no longer visible to someone and doesn't need to render frames. Reflects IVROverlay::IsOverlayVisible() becoming false. + VREvent_DashboardActivated = 502, + VREvent_DashboardDeactivated = 503, + //VREvent_DashboardThumbSelected = 504, // Sent to the overlay manager - data is overlay - No longer sent + VREvent_DashboardRequested = 505, // Sent to the overlay manager - data is overlay + VREvent_ResetDashboard = 506, // Send to the overlay manager + //VREvent_RenderToast = 507, // Send to the dashboard to render a toast - data is the notification ID -- no longer sent + VREvent_ImageLoaded = 508, // Sent to overlays when a SetOverlayRaw or SetOverlayFromFile call finishes loading + VREvent_ShowKeyboard = 509, // Sent to keyboard renderer in the dashboard to invoke it + VREvent_HideKeyboard = 510, // Sent to keyboard renderer in the dashboard to hide it + VREvent_OverlayGamepadFocusGained = 511, // Sent to an overlay when IVROverlay::SetFocusOverlay is called on it + VREvent_OverlayGamepadFocusLost = 512, // Send to an overlay when it previously had focus and IVROverlay::SetFocusOverlay is called on something else + VREvent_OverlaySharedTextureChanged = 513, + //VREvent_DashboardGuideButtonDown = 514, // These are no longer sent + //VREvent_DashboardGuideButtonUp = 515, + VREvent_ScreenshotTriggered = 516, // Screenshot button combo was pressed, Dashboard should request a screenshot + VREvent_ImageFailed = 517, // Sent to overlays when a SetOverlayRaw or SetOverlayfromFail fails to load + VREvent_DashboardOverlayCreated = 518, + VREvent_SwitchGamepadFocus = 519, + + // Screenshot API + VREvent_RequestScreenshot = 520, // Sent by vrclient application to compositor to take a screenshot + VREvent_ScreenshotTaken = 521, // Sent by compositor to the application that the screenshot has been taken + VREvent_ScreenshotFailed = 522, // Sent by compositor to the application that the screenshot failed to be taken + VREvent_SubmitScreenshotToDashboard = 523, // Sent by compositor to the dashboard that a completed screenshot was submitted + VREvent_ScreenshotProgressToDashboard = 524, // Sent by compositor to the dashboard that a completed screenshot was submitted + + VREvent_PrimaryDashboardDeviceChanged = 525, + VREvent_RoomViewShown = 526, // Sent by compositor whenever room-view is enabled + VREvent_RoomViewHidden = 527, // Sent by compositor whenever room-view is disabled + VREvent_ShowUI = 528, // data is showUi + VREvent_ShowDevTools = 529, // data is showDevTools + VREvent_DesktopViewUpdating = 530, + VREvent_DesktopViewReady = 531, + + VREvent_StartDashboard = 532, + VREvent_ElevatePrism = 533, + + VREvent_OverlayClosed = 534, + + VREvent_DashboardThumbChanged = 535, // Sent when a dashboard thumbnail image changes + + VREvent_DesktopMightBeVisible = 536, // Sent when any known desktop related overlay is visible + VREvent_DesktopMightBeHidden = 537, // Sent when all known desktop related overlays are hidden + + VREvent_MutualSteamCapabilitiesChanged = 538, // Sent when the set of capabilities common between both Steam and SteamVR have changed. + + VREvent_OverlayCreated = 539, // An OpenVR overlay of any sort was created. Data is overlay. + VREvent_OverlayDestroyed = 540, // An OpenVR overlay of any sort was destroyed. Data is overlay. + + VREvent_Notification_Shown = 600, + VREvent_Notification_Hidden = 601, + VREvent_Notification_BeginInteraction = 602, + VREvent_Notification_Destroyed = 603, + + VREvent_Quit = 700, // data is process + VREvent_ProcessQuit = 701, // data is process + //VREvent_QuitAborted_UserPrompt = 702, // data is process + VREvent_QuitAcknowledged = 703, // data is process + VREvent_DriverRequestedQuit = 704, // The driver has requested that SteamVR shut down + VREvent_RestartRequested = 705, // A driver or other component wants the user to restart SteamVR + VREvent_InvalidateSwapTextureSets = 706, + + VREvent_ChaperoneDataHasChanged = 800, // this will never happen with the new chaperone system + VREvent_ChaperoneUniverseHasChanged = 801, + VREvent_ChaperoneTempDataHasChanged = 802, // this will never happen with the new chaperone system + VREvent_ChaperoneSettingsHaveChanged = 803, + VREvent_SeatedZeroPoseReset = 804, + VREvent_ChaperoneFlushCache = 805, // Sent when the process needs to reload any cached data it retrieved from VRChaperone() + VREvent_ChaperoneRoomSetupStarting = 806, // Triggered by CVRChaperoneClient::RoomSetupStarting + VREvent_ChaperoneRoomSetupFinished = 807, // Triggered by CVRChaperoneClient::CommitWorkingCopy + VREvent_StandingZeroPoseReset = 808, + + VREvent_AudioSettingsHaveChanged = 820, + + VREvent_BackgroundSettingHasChanged = 850, + VREvent_CameraSettingsHaveChanged = 851, + VREvent_ReprojectionSettingHasChanged = 852, + VREvent_ModelSkinSettingsHaveChanged = 853, + VREvent_EnvironmentSettingsHaveChanged = 854, + VREvent_PowerSettingsHaveChanged = 855, + VREvent_EnableHomeAppSettingsHaveChanged = 856, + VREvent_SteamVRSectionSettingChanged = 857, + VREvent_LighthouseSectionSettingChanged = 858, + VREvent_NullSectionSettingChanged = 859, + VREvent_UserInterfaceSectionSettingChanged = 860, + VREvent_NotificationsSectionSettingChanged = 861, + VREvent_KeyboardSectionSettingChanged = 862, + VREvent_PerfSectionSettingChanged = 863, + VREvent_DashboardSectionSettingChanged = 864, + VREvent_WebInterfaceSectionSettingChanged = 865, + VREvent_TrackersSectionSettingChanged = 866, + VREvent_LastKnownSectionSettingChanged = 867, + VREvent_DismissedWarningsSectionSettingChanged = 868, + VREvent_GpuSpeedSectionSettingChanged = 869, + VREvent_WindowsMRSectionSettingChanged = 870, + VREvent_OtherSectionSettingChanged = 871, + VREvent_AnyDriverSettingsChanged = 872, + + VREvent_StatusUpdate = 900, + + VREvent_WebInterface_InstallDriverCompleted = 950, + + VREvent_MCImageUpdated = 1000, + + VREvent_FirmwareUpdateStarted = 1100, + VREvent_FirmwareUpdateFinished = 1101, + + VREvent_KeyboardClosed = 1200, // DEPRECATED: Sent only to the overlay it closed for, or globally if it was closed for a scene app + VREvent_KeyboardCharInput = 1201, + VREvent_KeyboardDone = 1202, // Sent when DONE button clicked on keyboard + VREvent_KeyboardOpened_Global = 1203, // Sent globally when the keyboard is opened. data.keyboard.overlayHandle is who it was opened for (scene app if k_ulOverlayHandleInvalid) + VREvent_KeyboardClosed_Global = 1204, // Sent globally when the keyboard is closed. data.keyboard.overlayHandle is who it was opened for (scene app if k_ulOverlayHandleInvalid) + + //VREvent_ApplicationTransitionStarted = 1300, + //VREvent_ApplicationTransitionAborted = 1301, + //VREvent_ApplicationTransitionNewAppStarted = 1302, + VREvent_ApplicationListUpdated = 1303, + VREvent_ApplicationMimeTypeLoad = 1304, + // VREvent_ApplicationTransitionNewAppLaunchComplete = 1305, + VREvent_ProcessConnected = 1306, + VREvent_ProcessDisconnected = 1307, + + //VREvent_Compositor_MirrorWindowShown = 1400, // DEPRECATED + //VREvent_Compositor_MirrorWindowHidden = 1401, // DEPRECATED + VREvent_Compositor_ChaperoneBoundsShown = 1410, + VREvent_Compositor_ChaperoneBoundsHidden = 1411, + VREvent_Compositor_DisplayDisconnected = 1412, + VREvent_Compositor_DisplayReconnected = 1413, + VREvent_Compositor_HDCPError = 1414, // data is hdcpError + VREvent_Compositor_ApplicationNotResponding = 1415, + VREvent_Compositor_ApplicationResumed = 1416, + VREvent_Compositor_OutOfVideoMemory = 1417, + VREvent_Compositor_DisplayModeNotSupported = 1418, // k_pch_SteamVR_PreferredRefreshRate + VREvent_Compositor_StageOverrideReady = 1419, + VREvent_Compositor_RequestDisconnectReconnect = 1420, + + VREvent_TrackedCamera_StartVideoStream = 1500, + VREvent_TrackedCamera_StopVideoStream = 1501, + VREvent_TrackedCamera_PauseVideoStream = 1502, + VREvent_TrackedCamera_ResumeVideoStream = 1503, + VREvent_TrackedCamera_EditingSurface = 1550, + + VREvent_PerformanceTest_EnableCapture = 1600, + VREvent_PerformanceTest_DisableCapture = 1601, + VREvent_PerformanceTest_FidelityLevel = 1602, + + VREvent_MessageOverlay_Closed = 1650, + VREvent_MessageOverlayCloseRequested = 1651, + + VREvent_Input_HapticVibration = 1700, // data is hapticVibration + VREvent_Input_BindingLoadFailed = 1701, // data is inputBinding + VREvent_Input_BindingLoadSuccessful = 1702, // data is inputBinding + VREvent_Input_ActionManifestReloaded = 1703, // no data + VREvent_Input_ActionManifestLoadFailed = 1704, // data is actionManifest + VREvent_Input_ProgressUpdate = 1705, // data is progressUpdate + VREvent_Input_TrackerActivated = 1706, + VREvent_Input_BindingsUpdated = 1707, + VREvent_Input_BindingSubscriptionChanged = 1708, + + VREvent_SpatialAnchors_PoseUpdated = 1800, // data is spatialAnchor. broadcast + VREvent_SpatialAnchors_DescriptorUpdated = 1801, // data is spatialAnchor. broadcast + VREvent_SpatialAnchors_RequestPoseUpdate = 1802, // data is spatialAnchor. sent to specific driver + VREvent_SpatialAnchors_RequestDescriptorUpdate = 1803, // data is spatialAnchor. sent to specific driver + + VREvent_SystemReport_Started = 1900, // user or system initiated generation of a system report. broadcast + + VREvent_Monitor_ShowHeadsetView = 2000, // data is process + VREvent_Monitor_HideHeadsetView = 2001, // data is process + + VREvent_Audio_SetSpeakersVolume = 2100, + VREvent_Audio_SetSpeakersMute = 2101, + VREvent_Audio_SetMicrophoneVolume = 2102, + VREvent_Audio_SetMicrophoneMute = 2103, + + // Vendors are free to expose private events in this reserved region + VREvent_VendorSpecific_Reserved_Start = 10000, + VREvent_VendorSpecific_Reserved_End = 19999, +}; + + +/** Level of Hmd activity */ +// UserInteraction_Timeout means the device is in the process of timing out. +// InUse = ( k_EDeviceActivityLevel_UserInteraction || k_EDeviceActivityLevel_UserInteraction_Timeout ) +// VREvent_TrackedDeviceUserInteractionStarted fires when the devices transitions from Standby -> UserInteraction or Idle -> UserInteraction. +// VREvent_TrackedDeviceUserInteractionEnded fires when the devices transitions from UserInteraction_Timeout -> Idle +enum EDeviceActivityLevel +{ + k_EDeviceActivityLevel_Unknown = -1, + k_EDeviceActivityLevel_Idle = 0, // No activity for the last 10 seconds + k_EDeviceActivityLevel_UserInteraction = 1, // Activity (movement or prox sensor) is happening now + k_EDeviceActivityLevel_UserInteraction_Timeout = 2, // No activity for the last 0.5 seconds + k_EDeviceActivityLevel_Standby = 3, // Idle for at least 5 seconds (configurable in Settings -> Power Management) + k_EDeviceActivityLevel_Idle_Timeout = 4, +}; + + +/** VR controller button and axis IDs */ +enum EVRButtonId +{ + k_EButton_System = 0, + k_EButton_ApplicationMenu = 1, + k_EButton_Grip = 2, + k_EButton_DPad_Left = 3, + k_EButton_DPad_Up = 4, + k_EButton_DPad_Right = 5, + k_EButton_DPad_Down = 6, + k_EButton_A = 7, + + k_EButton_ProximitySensor = 31, + + k_EButton_Axis0 = 32, + k_EButton_Axis1 = 33, + k_EButton_Axis2 = 34, + k_EButton_Axis3 = 35, + k_EButton_Axis4 = 36, + + // aliases for well known controllers + k_EButton_SteamVR_Touchpad = k_EButton_Axis0, + k_EButton_SteamVR_Trigger = k_EButton_Axis1, + + k_EButton_Dashboard_Back = k_EButton_Grip, + + k_EButton_IndexController_A = k_EButton_Grip, + k_EButton_IndexController_B = k_EButton_ApplicationMenu, + k_EButton_IndexController_JoyStick = k_EButton_Axis3, + + k_EButton_Reserved0 = 50, + k_EButton_Reserved1 = 51, + + k_EButton_Max = 64 +}; + +inline uint64_t ButtonMaskFromId( EVRButtonId id ) { return 1ull << id; } + +/** used for controller button events */ +struct VREvent_Controller_t +{ + uint32_t button; // EVRButtonId enum +}; + + +/** used for simulated mouse events in overlay space */ +enum EVRMouseButton +{ + VRMouseButton_Left = 0x0001, + VRMouseButton_Right = 0x0002, + VRMouseButton_Middle = 0x0004, +}; + + +/** used for simulated mouse events in overlay space */ +struct VREvent_Mouse_t +{ + float x, y; // co-ords are in GL space, bottom left of the texture is 0,0 + uint32_t button; // EVRMouseButton enum + + // if from an event triggered by cursor input on an overlay that supports multiple cursors, this is the index of + // which tracked cursor the event is for + uint32_t cursorIndex; +}; + +/** used for simulated mouse wheel scroll */ +struct VREvent_Scroll_t +{ + float xdelta, ydelta; + uint32_t unused; + float viewportscale; // For scrolling on an overlay with laser mouse, this is the overlay's vertical size relative to the overlay height. Range: [0,1] + + // if from an event triggered by cursor input on an overlay that supports multiple cursors, this is the index of + // which tracked cursor the event is for + uint32_t cursorIndex; +}; + +/** when in mouse input mode you can receive data from the touchpad, these events are only sent if the users finger + is on the touchpad (or just released from it). These events are sent to overlays with the VROverlayFlags_SendVRTouchpadEvents + flag set. +**/ +struct VREvent_TouchPadMove_t +{ + // true if the users finger is detected on the touch pad + bool bFingerDown; + + // How long the finger has been down in seconds + float flSecondsFingerDown; + + // These values indicate the starting finger position (so you can do some basic swipe stuff) + float fValueXFirst; + float fValueYFirst; + + // This is the raw sampled coordinate without deadzoning + float fValueXRaw; + float fValueYRaw; +}; + +/** notification related events. Details will still change at this point */ +struct VREvent_Notification_t +{ + uint64_t ulUserValue; + uint32_t notificationId; +}; + +/** Used for events about processes */ +struct VREvent_Process_t +{ + uint32_t pid; + uint32_t oldPid; + bool bForced; + // If the associated event was triggered by a connection loss + bool bConnectionLost; +}; + + +/** Used for a few events about overlays */ +struct VREvent_Overlay_t +{ + uint64_t overlayHandle; // VROverlayHandle_t + uint64_t devicePath; + uint64_t memoryBlockId; + + // if from an event triggered by cursor input on an overlay that supports multiple cursors, this is the index of + // which tracked cursor the event is for + uint32_t cursorIndex; +}; + + +/** Used for a few events about overlays */ +struct VREvent_Status_t +{ + uint32_t statusState; // EVRState enum +}; + +/** Used for keyboard events */ +struct VREvent_Keyboard_t +{ + char cNewInput[8]; // 7 bytes of utf8 + null + uint64_t uUserValue; // caller specified opaque token + uint64_t overlayHandle; // VROverlayHandle_t +}; + +struct VREvent_Ipd_t +{ + float ipdMeters; +}; + +struct VREvent_Chaperone_t +{ + uint64_t m_nPreviousUniverse; + uint64_t m_nCurrentUniverse; +}; + +/** Not actually used for any events */ +struct VREvent_Reserved_t +{ + uint64_t reserved0; + uint64_t reserved1; + uint64_t reserved2; + uint64_t reserved3; + uint64_t reserved4; + uint64_t reserved5; +}; + +struct VREvent_PerformanceTest_t +{ + uint32_t m_nFidelityLevel; +}; + +struct VREvent_SeatedZeroPoseReset_t +{ + bool bResetBySystemMenu; +}; + +struct VREvent_Screenshot_t +{ + uint32_t handle; + uint32_t type; +}; + +struct VREvent_ScreenshotProgress_t +{ + float progress; +}; + +struct VREvent_ApplicationLaunch_t +{ + uint32_t pid; + uint32_t unArgsHandle; +}; + +struct VREvent_EditingCameraSurface_t +{ + uint64_t overlayHandle; + uint32_t nVisualMode; +}; + +struct VREvent_MessageOverlay_t +{ + uint32_t unVRMessageOverlayResponse; // vr::VRMessageOverlayResponse enum +}; + +struct VREvent_Property_t +{ + PropertyContainerHandle_t container; + ETrackedDeviceProperty prop; +}; + +struct VREvent_HapticVibration_t +{ + uint64_t containerHandle; // property container handle of the device with the haptic component + uint64_t componentHandle; // Which haptic component needs to vibrate + float fDurationSeconds; + float fFrequency; + float fAmplitude; +}; + +struct VREvent_WebConsole_t +{ + WebConsoleHandle_t webConsoleHandle; +}; + +struct VREvent_InputBindingLoad_t +{ + vr::PropertyContainerHandle_t ulAppContainer; + uint64_t pathMessage; + uint64_t pathUrl; + uint64_t pathControllerType; +}; + +struct VREvent_InputActionManifestLoad_t +{ + uint64_t pathAppKey; + uint64_t pathMessage; + uint64_t pathMessageParam; + uint64_t pathManifestPath; +}; + +struct VREvent_SpatialAnchor_t +{ + SpatialAnchorHandle_t unHandle; +}; + +struct VREvent_ProgressUpdate_t +{ + uint64_t ulApplicationPropertyContainer; + uint64_t pathDevice; + uint64_t pathInputSource; + uint64_t pathProgressAction; + uint64_t pathIcon; + float fProgress; +}; + +enum EShowUIType +{ + ShowUI_ControllerBinding = 0, + ShowUI_ManageTrackers = 1, + // ShowUI_QuickStart = 2, // Deprecated + ShowUI_Pairing = 3, + ShowUI_Settings = 4, + ShowUI_DebugCommands = 5, + ShowUI_FullControllerBinding = 6, + ShowUI_ManageDrivers = 7, +}; + +struct VREvent_ShowUI_t +{ + EShowUIType eType; +}; + +struct VREvent_ShowDevTools_t +{ + int32_t nBrowserIdentifier; +}; + +enum EHDCPError +{ + HDCPError_None = 0, + HDCPError_LinkLost = 1, + HDCPError_Tampered = 2, + HDCPError_DeviceRevoked = 3, + HDCPError_Unknown = 4 +}; + +struct VREvent_HDCPError_t +{ + EHDCPError eCode; +}; + +struct VREvent_AudioVolumeControl_t +{ + float fVolumeLevel; +}; + +struct VREvent_AudioMuteControl_t +{ + bool bMute; +}; + +typedef union +{ + VREvent_Reserved_t reserved; + VREvent_Controller_t controller; + VREvent_Mouse_t mouse; + VREvent_Scroll_t scroll; + VREvent_Process_t process; + VREvent_Notification_t notification; + VREvent_Overlay_t overlay; + VREvent_Status_t status; + VREvent_Keyboard_t keyboard; + VREvent_Ipd_t ipd; + VREvent_Chaperone_t chaperone; + VREvent_PerformanceTest_t performanceTest; + VREvent_TouchPadMove_t touchPadMove; + VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset; + VREvent_Screenshot_t screenshot; + VREvent_ScreenshotProgress_t screenshotProgress; + VREvent_ApplicationLaunch_t applicationLaunch; + VREvent_EditingCameraSurface_t cameraSurface; + VREvent_MessageOverlay_t messageOverlay; + VREvent_Property_t property; + VREvent_HapticVibration_t hapticVibration; + VREvent_WebConsole_t webConsole; + VREvent_InputBindingLoad_t inputBinding; + VREvent_InputActionManifestLoad_t actionManifest; + VREvent_SpatialAnchor_t spatialAnchor; + VREvent_ProgressUpdate_t progressUpdate; + VREvent_ShowUI_t showUi; + VREvent_ShowDevTools_t showDevTools; + VREvent_HDCPError_t hdcpError; + VREvent_AudioVolumeControl_t audioVolumeControl; + VREvent_AudioMuteControl_t audioMuteControl; + /** NOTE!!! If you change this you MUST manually update openvr_interop.cs.py and openvr_api_flat.h.py */ +} VREvent_Data_t; + + +#if defined(__linux__) || defined(__APPLE__) +// This structure was originally defined mis-packed on Linux, preserved for +// compatibility. +#pragma pack( push, 4 ) +#endif + +/** An event posted by the server to all running applications */ +struct VREvent_t +{ + uint32_t eventType; // EVREventType enum + TrackedDeviceIndex_t trackedDeviceIndex; + float eventAgeSeconds; + // event data must be the end of the struct as its size is variable + VREvent_Data_t data; +}; + +#if defined(__linux__) || defined(__APPLE__) +#pragma pack( pop ) +#endif + +typedef uint32_t VRComponentProperties; + +enum EVRComponentProperty +{ + VRComponentProperty_IsStatic = (1 << 0), + VRComponentProperty_IsVisible = (1 << 1), + VRComponentProperty_IsTouched = (1 << 2), + VRComponentProperty_IsPressed = (1 << 3), + VRComponentProperty_IsScrolled = (1 << 4), + VRComponentProperty_IsHighlighted = (1 << 5), +}; + + +/** Describes state information about a render-model component, including transforms and other dynamic properties */ +struct RenderModel_ComponentState_t +{ + HmdMatrix34_t mTrackingToComponentRenderModel; // Transform required when drawing the component render model + HmdMatrix34_t mTrackingToComponentLocal; // Transform available for attaching to a local component coordinate system (-Z out from surface ) + VRComponentProperties uProperties; +}; + + +enum EVRInputError +{ + VRInputError_None = 0, + VRInputError_NameNotFound = 1, + VRInputError_WrongType = 2, + VRInputError_InvalidHandle = 3, + VRInputError_InvalidParam = 4, + VRInputError_NoSteam = 5, + VRInputError_MaxCapacityReached = 6, + VRInputError_IPCError = 7, + VRInputError_NoActiveActionSet = 8, + VRInputError_InvalidDevice = 9, + VRInputError_InvalidSkeleton = 10, + VRInputError_InvalidBoneCount = 11, + VRInputError_InvalidCompressedData = 12, + VRInputError_NoData = 13, + VRInputError_BufferTooSmall = 14, + VRInputError_MismatchedActionManifest = 15, + VRInputError_MissingSkeletonData = 16, + VRInputError_InvalidBoneIndex = 17, + VRInputError_InvalidPriority = 18, + VRInputError_PermissionDenied = 19, + VRInputError_InvalidRenderModel = 20, +}; + +enum EVRSpatialAnchorError +{ + VRSpatialAnchorError_Success = 0, + VRSpatialAnchorError_Internal = 1, + VRSpatialAnchorError_UnknownHandle = 2, + VRSpatialAnchorError_ArrayTooSmall = 3, + VRSpatialAnchorError_InvalidDescriptorChar = 4, + VRSpatialAnchorError_NotYetAvailable = 5, + VRSpatialAnchorError_NotAvailableInThisUniverse = 6, + VRSpatialAnchorError_PermanentlyUnavailable = 7, + VRSpatialAnchorError_WrongDriver = 8, + VRSpatialAnchorError_DescriptorTooLong = 9, + VRSpatialAnchorError_Unknown = 10, + VRSpatialAnchorError_NoRoomCalibration = 11, + VRSpatialAnchorError_InvalidArgument = 12, + VRSpatialAnchorError_UnknownDriver = 13, +}; + +/** The mesh to draw into the stencil (or depth) buffer to perform +* early stencil (or depth) kills of pixels that will never appear on the HMD. +* This mesh draws on all the pixels that will be hidden after distortion. +* +* If the HMD does not provide a visible area mesh pVertexData will be +* NULL and unTriangleCount will be 0. */ +struct HiddenAreaMesh_t +{ + const HmdVector2_t *pVertexData; + uint32_t unTriangleCount; +}; + + +enum EHiddenAreaMeshType +{ + k_eHiddenAreaMesh_Standard = 0, + k_eHiddenAreaMesh_Inverse = 1, + k_eHiddenAreaMesh_LineLoop = 2, + + k_eHiddenAreaMesh_Max = 3, +}; + + +/** Identifies what kind of axis is on the controller at index n. Read this type +* with pVRSystem->Get( nControllerDeviceIndex, Prop_Axis0Type_Int32 + n ); +*/ +enum EVRControllerAxisType +{ + k_eControllerAxis_None = 0, + k_eControllerAxis_TrackPad = 1, + k_eControllerAxis_Joystick = 2, + k_eControllerAxis_Trigger = 3, // Analog trigger data is in the X axis +}; + + +/** contains information about one axis on the controller */ +struct VRControllerAxis_t +{ + float x; // Ranges from -1.0 to 1.0 for joysticks and track pads. Ranges from 0.0 to 1.0 for triggers were 0 is fully released. + float y; // Ranges from -1.0 to 1.0 for joysticks and track pads. Is always 0.0 for triggers. +}; + + +/** the number of axes in the controller state */ +static const uint32_t k_unControllerStateAxisCount = 5; + + +#if defined(__linux__) || defined(__APPLE__) +// This structure was originally defined mis-packed on Linux, preserved for +// compatibility. +#pragma pack( push, 4 ) +#endif + +/** Holds all the state of a controller at one moment in time. */ +struct VRControllerState001_t +{ + // If packet num matches that on your prior call, then the controller state hasn't been changed since + // your last call and there is no need to process it + uint32_t unPacketNum; + + // bit flags for each of the buttons. Use ButtonMaskFromId to turn an ID into a mask + uint64_t ulButtonPressed; + uint64_t ulButtonTouched; + + // Axis data for the controller's analog inputs + VRControllerAxis_t rAxis[ k_unControllerStateAxisCount ]; +}; +#if defined(__linux__) || defined(__APPLE__) +#pragma pack( pop ) +#endif + + +typedef VRControllerState001_t VRControllerState_t; + + +/** determines how to provide output to the application of various event processing functions. */ +enum EVRControllerEventOutputType +{ + ControllerEventOutput_OSEvents = 0, + ControllerEventOutput_VREvents = 1, +}; + + + +/** Collision Bounds Style */ +enum ECollisionBoundsStyle +{ + COLLISION_BOUNDS_STYLE_BEGINNER = 0, + COLLISION_BOUNDS_STYLE_INTERMEDIATE, + COLLISION_BOUNDS_STYLE_SQUARES, + COLLISION_BOUNDS_STYLE_ADVANCED, + COLLISION_BOUNDS_STYLE_NONE, + + COLLISION_BOUNDS_STYLE_COUNT +}; + +/** used to refer to a single VR overlay */ +typedef uint64_t VROverlayHandle_t; + +static const VROverlayHandle_t k_ulOverlayHandleInvalid = 0; + +/** Errors that can occur around VR overlays */ +enum EVROverlayError +{ + VROverlayError_None = 0, + + VROverlayError_UnknownOverlay = 10, + VROverlayError_InvalidHandle = 11, + VROverlayError_PermissionDenied = 12, + VROverlayError_OverlayLimitExceeded = 13, // No more overlays could be created because the maximum number already exist + VROverlayError_WrongVisibilityType = 14, + VROverlayError_KeyTooLong = 15, + VROverlayError_NameTooLong = 16, + VROverlayError_KeyInUse = 17, + VROverlayError_WrongTransformType = 18, + VROverlayError_InvalidTrackedDevice = 19, + VROverlayError_InvalidParameter = 20, + VROverlayError_ThumbnailCantBeDestroyed = 21, + VROverlayError_ArrayTooSmall = 22, + VROverlayError_RequestFailed = 23, + VROverlayError_InvalidTexture = 24, + VROverlayError_UnableToLoadFile = 25, + VROverlayError_KeyboardAlreadyInUse = 26, + VROverlayError_NoNeighbor = 27, + VROverlayError_TooManyMaskPrimitives = 29, + VROverlayError_BadMaskPrimitive = 30, + VROverlayError_TextureAlreadyLocked = 31, + VROverlayError_TextureLockCapacityReached = 32, + VROverlayError_TextureNotLocked = 33, + VROverlayError_TimedOut = 34, +}; + +/** enum values to pass in to VR_Init to identify whether the application will +* draw a 3D scene. */ +enum EVRApplicationType +{ + VRApplication_Other = 0, // Some other kind of application that isn't covered by the other entries + VRApplication_Scene = 1, // Application will submit 3D frames + VRApplication_Overlay = 2, // Application only interacts with overlays + VRApplication_Background = 3, // Application should not start SteamVR if it's not already running, and should not + // keep it running if everything else quits. + VRApplication_Utility = 4, // Init should not try to load any drivers. The application needs access to utility + // interfaces (like IVRSettings and IVRApplications) but not hardware. + VRApplication_VRMonitor = 5, // Reserved for vrmonitor + VRApplication_SteamWatchdog = 6,// Reserved for Steam + VRApplication_Bootstrapper = 7, // reserved for vrstartup + VRApplication_WebHelper = 8, // reserved for vrwebhelper + VRApplication_OpenXRInstance = 9, // reserved for openxr (created instance, but not session yet) + VRApplication_OpenXRScene = 10, // reserved for openxr (started session) + VRApplication_OpenXROverlay = 11, // reserved for openxr (started overlay session) + VRApplication_Prism = 12, // reserved for the vrprismhost process + VRApplication_RoomView = 13, // reserved for the RoomView process + + VRApplication_Max +}; + + +/** returns true if the specified application type is one of the +* OpenXR types */ +inline bool IsOpenXRAppType( EVRApplicationType eType ) +{ + return eType == VRApplication_OpenXRInstance + || eType == VRApplication_OpenXRScene + || eType == VRApplication_OpenXROverlay; +} + + +/** returns true if the specified application type submits eye buffers */ +inline bool BAppTypeSubmitsEyeBuffers( EVRApplicationType eType ) +{ + return eType == VRApplication_Scene + || eType == VRApplication_OpenXRScene + || eType == VRApplication_RoomView; +} + + +/** error codes for firmware */ +enum EVRFirmwareError +{ + VRFirmwareError_None = 0, + VRFirmwareError_Success = 1, + VRFirmwareError_Fail = 2, +}; + + +/** error codes for notifications */ +enum EVRNotificationError +{ + VRNotificationError_OK = 0, + VRNotificationError_InvalidNotificationId = 100, + VRNotificationError_NotificationQueueFull = 101, + VRNotificationError_InvalidOverlayHandle = 102, + VRNotificationError_SystemWithUserValueAlreadyExists = 103, + VRNotificationError_ServiceUnavailable = 104, +}; + + +enum EVRSkeletalMotionRange +{ + // The range of motion of the skeleton takes into account any physical limits imposed by + // the controller itself. This will tend to be the most accurate pose compared to the user's + // actual hand pose, but might not allow a closed fist for example + VRSkeletalMotionRange_WithController = 0, + + // Retarget the range of motion provided by the input device to make the hand appear to move + // as if it was not holding a controller. eg: map "hand grasping controller" to "closed fist" + VRSkeletalMotionRange_WithoutController = 1, +}; + +enum EVRSkeletalTrackingLevel +{ + // body part location can't be directly determined by the device. Any skeletal pose provided by + // the device is estimated by assuming the position required to active buttons, triggers, joysticks, + // or other input sensors. + // E.g. Vive Controller, Gamepad + VRSkeletalTracking_Estimated = 0, + + // body part location can be measured directly but with fewer degrees of freedom than the actual body + // part. Certain body part positions may be unmeasured by the device and estimated from other input data. + // E.g. Index Controllers, gloves that only measure finger curl + VRSkeletalTracking_Partial = 1, + + // Body part location can be measured directly throughout the entire range of motion of the body part. + // E.g. Mocap suit for the full body, gloves that measure rotation of each finger segment + VRSkeletalTracking_Full = 2, + + VRSkeletalTrackingLevel_Count, + VRSkeletalTrackingLevel_Max = VRSkeletalTrackingLevel_Count - 1 +}; + + +/** Type used for referring to bones by their index */ +typedef int32_t BoneIndex_t; +const BoneIndex_t k_unInvalidBoneIndex = -1; + + +/** error codes returned by Vr_Init */ + +// Please add adequate error description to https://developer.valvesoftware.com/w/index.php?title=Category:SteamVRHelp +enum EVRInitError +{ + VRInitError_None = 0, + VRInitError_Unknown = 1, + + VRInitError_Init_InstallationNotFound = 100, + VRInitError_Init_InstallationCorrupt = 101, + VRInitError_Init_VRClientDLLNotFound = 102, + VRInitError_Init_FileNotFound = 103, + VRInitError_Init_FactoryNotFound = 104, + VRInitError_Init_InterfaceNotFound = 105, + VRInitError_Init_InvalidInterface = 106, + VRInitError_Init_UserConfigDirectoryInvalid = 107, + VRInitError_Init_HmdNotFound = 108, + VRInitError_Init_NotInitialized = 109, + VRInitError_Init_PathRegistryNotFound = 110, + VRInitError_Init_NoConfigPath = 111, + VRInitError_Init_NoLogPath = 112, + VRInitError_Init_PathRegistryNotWritable = 113, + VRInitError_Init_AppInfoInitFailed = 114, + VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver + VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup + VRInitError_Init_AnotherAppLaunching = 117, + VRInitError_Init_SettingsInitFailed = 118, + VRInitError_Init_ShuttingDown = 119, + VRInitError_Init_TooManyObjects = 120, + VRInitError_Init_NoServerForBackgroundApp = 121, + VRInitError_Init_NotSupportedWithCompositor = 122, + VRInitError_Init_NotAvailableToUtilityApps = 123, + VRInitError_Init_Internal = 124, + VRInitError_Init_HmdDriverIdIsNone = 125, + VRInitError_Init_HmdNotFoundPresenceFailed = 126, + VRInitError_Init_VRMonitorNotFound = 127, + VRInitError_Init_VRMonitorStartupFailed = 128, + VRInitError_Init_LowPowerWatchdogNotSupported = 129, + VRInitError_Init_InvalidApplicationType = 130, + VRInitError_Init_NotAvailableToWatchdogApps = 131, + VRInitError_Init_WatchdogDisabledInSettings = 132, + VRInitError_Init_VRDashboardNotFound = 133, + VRInitError_Init_VRDashboardStartupFailed = 134, + VRInitError_Init_VRHomeNotFound = 135, + VRInitError_Init_VRHomeStartupFailed = 136, + VRInitError_Init_RebootingBusy = 137, + VRInitError_Init_FirmwareUpdateBusy = 138, + VRInitError_Init_FirmwareRecoveryBusy = 139, + VRInitError_Init_USBServiceBusy = 140, + VRInitError_Init_VRWebHelperStartupFailed = 141, + VRInitError_Init_TrackerManagerInitFailed = 142, + VRInitError_Init_AlreadyRunning = 143, + VRInitError_Init_FailedForVrMonitor = 144, + VRInitError_Init_PropertyManagerInitFailed = 145, + VRInitError_Init_WebServerFailed = 146, + VRInitError_Init_IllegalTypeTransition = 147, + VRInitError_Init_MismatchedRuntimes = 148, + VRInitError_Init_InvalidProcessId = 149, + VRInitError_Init_VRServiceStartupFailed = 150, + VRInitError_Init_PrismNeedsNewDrivers = 151, + VRInitError_Init_PrismStartupTimedOut = 152, + VRInitError_Init_CouldNotStartPrism = 153, + VRInitError_Init_PrismClientInitFailed = 154, + VRInitError_Init_PrismClientStartFailed = 155, + VRInitError_Init_PrismExitedUnexpectedly = 156, + VRInitError_Init_BadLuid = 157, + VRInitError_Init_NoServerForAppContainer = 158, + VRInitError_Init_DuplicateBootstrapper = 159, + VRInitError_Init_VRDashboardServicePending = 160, + VRInitError_Init_VRDashboardServiceTimeout = 161, + VRInitError_Init_VRDashboardServiceStopped = 162, + VRInitError_Init_VRDashboardAlreadyStarted = 163, + VRInitError_Init_VRDashboardCopyFailed = 164, + VRInitError_Init_VRDashboardTokenFailure = 165, + VRInitError_Init_VRDashboardEnvironmentFailure = 166, + VRInitError_Init_VRDashboardPathFailure = 167, + + VRInitError_Driver_Failed = 200, + VRInitError_Driver_Unknown = 201, + VRInitError_Driver_HmdUnknown = 202, + VRInitError_Driver_NotLoaded = 203, + VRInitError_Driver_RuntimeOutOfDate = 204, + VRInitError_Driver_HmdInUse = 205, + VRInitError_Driver_NotCalibrated = 206, + VRInitError_Driver_CalibrationInvalid = 207, + VRInitError_Driver_HmdDisplayNotFound = 208, + VRInitError_Driver_TrackedDeviceInterfaceUnknown = 209, + // VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons + VRInitError_Driver_HmdDriverIdOutOfBounds = 211, + VRInitError_Driver_HmdDisplayMirrored = 212, + VRInitError_Driver_HmdDisplayNotFoundLaptop = 213, + VRInitError_Driver_PeerDriverNotInstalled = 214, + VRInitError_Driver_WirelessHmdNotConnected = 215, + + // Never make error 259 because we return it from main and it would conflict with STILL_ACTIVE + + VRInitError_IPC_ServerInitFailed = 300, + VRInitError_IPC_ConnectFailed = 301, + VRInitError_IPC_SharedStateInitFailed = 302, + VRInitError_IPC_CompositorInitFailed = 303, + VRInitError_IPC_MutexInitFailed = 304, + VRInitError_IPC_Failed = 305, + VRInitError_IPC_CompositorConnectFailed = 306, + VRInitError_IPC_CompositorInvalidConnectResponse = 307, + VRInitError_IPC_ConnectFailedAfterMultipleAttempts = 308, + VRInitError_IPC_ConnectFailedAfterTargetExited = 309, + VRInitError_IPC_NamespaceUnavailable = 310, + + VRInitError_Compositor_Failed = 400, + VRInitError_Compositor_D3D11HardwareRequired = 401, + VRInitError_Compositor_FirmwareRequiresUpdate = 402, + VRInitError_Compositor_OverlayInitFailed = 403, + VRInitError_Compositor_ScreenshotsInitFailed = 404, + VRInitError_Compositor_UnableToCreateDevice = 405, + VRInitError_Compositor_SharedStateIsNull = 406, + VRInitError_Compositor_NotificationManagerIsNull = 407, + VRInitError_Compositor_ResourceManagerClientIsNull = 408, + VRInitError_Compositor_MessageOverlaySharedStateInitFailure = 409, + VRInitError_Compositor_PropertiesInterfaceIsNull = 410, + VRInitError_Compositor_CreateFullscreenWindowFailed = 411, + VRInitError_Compositor_SettingsInterfaceIsNull = 412, + VRInitError_Compositor_FailedToShowWindow = 413, + VRInitError_Compositor_DistortInterfaceIsNull = 414, + VRInitError_Compositor_DisplayFrequencyFailure = 415, + VRInitError_Compositor_RendererInitializationFailed = 416, + VRInitError_Compositor_DXGIFactoryInterfaceIsNull = 417, + VRInitError_Compositor_DXGIFactoryCreateFailed = 418, + VRInitError_Compositor_DXGIFactoryQueryFailed = 419, + VRInitError_Compositor_InvalidAdapterDesktop = 420, + VRInitError_Compositor_InvalidHmdAttachment = 421, + VRInitError_Compositor_InvalidOutputDesktop = 422, + VRInitError_Compositor_InvalidDeviceProvided = 423, + VRInitError_Compositor_D3D11RendererInitializationFailed = 424, + VRInitError_Compositor_FailedToFindDisplayMode = 425, + VRInitError_Compositor_FailedToCreateSwapChain = 426, + VRInitError_Compositor_FailedToGetBackBuffer = 427, + VRInitError_Compositor_FailedToCreateRenderTarget = 428, + VRInitError_Compositor_FailedToCreateDXGI2SwapChain = 429, + VRInitError_Compositor_FailedtoGetDXGI2BackBuffer = 430, + VRInitError_Compositor_FailedToCreateDXGI2RenderTarget = 431, + VRInitError_Compositor_FailedToGetDXGIDeviceInterface = 432, + VRInitError_Compositor_SelectDisplayMode = 433, + VRInitError_Compositor_FailedToCreateNvAPIRenderTargets = 434, + VRInitError_Compositor_NvAPISetDisplayMode = 435, + VRInitError_Compositor_FailedToCreateDirectModeDisplay = 436, + VRInitError_Compositor_InvalidHmdPropertyContainer = 437, + VRInitError_Compositor_UpdateDisplayFrequency = 438, + VRInitError_Compositor_CreateRasterizerState = 439, + VRInitError_Compositor_CreateWireframeRasterizerState = 440, + VRInitError_Compositor_CreateSamplerState = 441, + VRInitError_Compositor_CreateClampToBorderSamplerState = 442, + VRInitError_Compositor_CreateAnisoSamplerState = 443, + VRInitError_Compositor_CreateOverlaySamplerState = 444, + VRInitError_Compositor_CreatePanoramaSamplerState = 445, + VRInitError_Compositor_CreateFontSamplerState = 446, + VRInitError_Compositor_CreateNoBlendState = 447, + VRInitError_Compositor_CreateBlendState = 448, + VRInitError_Compositor_CreateAlphaBlendState = 449, + VRInitError_Compositor_CreateBlendStateMaskR = 450, + VRInitError_Compositor_CreateBlendStateMaskG = 451, + VRInitError_Compositor_CreateBlendStateMaskB = 452, + VRInitError_Compositor_CreateDepthStencilState = 453, + VRInitError_Compositor_CreateDepthStencilStateNoWrite = 454, + VRInitError_Compositor_CreateDepthStencilStateNoDepth = 455, + VRInitError_Compositor_CreateFlushTexture = 456, + VRInitError_Compositor_CreateDistortionSurfaces = 457, + VRInitError_Compositor_CreateConstantBuffer = 458, + VRInitError_Compositor_CreateHmdPoseConstantBuffer = 459, + VRInitError_Compositor_CreateHmdPoseStagingConstantBuffer = 460, + VRInitError_Compositor_CreateSharedFrameInfoConstantBuffer = 461, + VRInitError_Compositor_CreateOverlayConstantBuffer = 462, + VRInitError_Compositor_CreateSceneTextureIndexConstantBuffer = 463, + VRInitError_Compositor_CreateReadableSceneTextureIndexConstantBuffer = 464, + VRInitError_Compositor_CreateLayerGraphicsTextureIndexConstantBuffer = 465, + VRInitError_Compositor_CreateLayerComputeTextureIndexConstantBuffer = 466, + VRInitError_Compositor_CreateLayerComputeSceneTextureIndexConstantBuffer = 467, + VRInitError_Compositor_CreateComputeHmdPoseConstantBuffer = 468, + VRInitError_Compositor_CreateGeomConstantBuffer = 469, + VRInitError_Compositor_CreatePanelMaskConstantBuffer = 470, + VRInitError_Compositor_CreatePixelSimUBO = 471, + VRInitError_Compositor_CreateMSAARenderTextures = 472, + VRInitError_Compositor_CreateResolveRenderTextures = 473, + VRInitError_Compositor_CreateComputeResolveRenderTextures = 474, + VRInitError_Compositor_CreateDriverDirectModeResolveTextures = 475, + VRInitError_Compositor_OpenDriverDirectModeResolveTextures = 476, + VRInitError_Compositor_CreateFallbackSyncTexture = 477, + VRInitError_Compositor_ShareFallbackSyncTexture = 478, + VRInitError_Compositor_CreateOverlayIndexBuffer = 479, + VRInitError_Compositor_CreateOverlayVertexBuffer = 480, + VRInitError_Compositor_CreateTextVertexBuffer = 481, + VRInitError_Compositor_CreateTextIndexBuffer = 482, + VRInitError_Compositor_CreateMirrorTextures = 483, + VRInitError_Compositor_CreateLastFrameRenderTexture = 484, + VRInitError_Compositor_CreateMirrorOverlay = 485, + VRInitError_Compositor_FailedToCreateVirtualDisplayBackbuffer = 486, + VRInitError_Compositor_DisplayModeNotSupported = 487, + VRInitError_Compositor_CreateOverlayInvalidCall = 488, + VRInitError_Compositor_CreateOverlayAlreadyInitialized = 489, + VRInitError_Compositor_FailedToCreateMailbox = 490, + VRInitError_Compositor_WindowInterfaceIsNull = 491, + VRInitError_Compositor_SystemLayerCreateInstance = 492, + VRInitError_Compositor_SystemLayerCreateSession = 493, + VRInitError_Compositor_CreateInverseDistortUVs = 494, + VRInitError_Compositor_CreateBackbufferDepth = 495, + VRInitError_Compositor_CannotDRMLeaseDisplay = 496, + VRInitError_Compositor_CannotConnectToDisplayServer = 497, + VRInitError_Compositor_GnomeNoDRMLeasing = 498, + VRInitError_Compositor_FailedToInitializeEncoder = 499, + VRInitError_Compositor_CreateBlurTexture = 500, + + VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000, + VRInitError_VendorSpecific_WindowsNotInDevMode = 1001, + VRInitError_VendorSpecific_OculusLinkNotEnabled = 1002, + + VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101, + VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, + VRInitError_VendorSpecific_HmdFound_NoStoredConfig = 1103, + VRInitError_VendorSpecific_HmdFound_ConfigTooBig = 1104, + VRInitError_VendorSpecific_HmdFound_ConfigTooSmall = 1105, + VRInitError_VendorSpecific_HmdFound_UnableToInitZLib = 1106, + VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107, + VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108, + VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109, + VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110, + VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111, + VRInitError_VendorSpecific_HmdFound_UserDataError = 1112, + VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, + VRInitError_VendorSpecific_OculusRuntimeBadInstall = 1114, + VRInitError_VendorSpecific_HmdFound_UnexpectedConfiguration_1 = 1115, + + VRInitError_Steam_SteamInstallationNotFound = 2000, + + // Strictly a placeholder + VRInitError_LastError +}; + +enum EVRScreenshotType +{ + VRScreenshotType_None = 0, + VRScreenshotType_Mono = 1, // left eye only + VRScreenshotType_Stereo = 2, + VRScreenshotType_Cubemap = 3, + VRScreenshotType_MonoPanorama = 4, + VRScreenshotType_StereoPanorama = 5 +}; + +enum EVRScreenshotPropertyFilenames +{ + VRScreenshotPropertyFilenames_Preview = 0, + VRScreenshotPropertyFilenames_VR = 1, +}; + +enum EVRTrackedCameraError +{ + VRTrackedCameraError_None = 0, + VRTrackedCameraError_OperationFailed = 100, + VRTrackedCameraError_InvalidHandle = 101, + VRTrackedCameraError_InvalidFrameHeaderVersion = 102, + VRTrackedCameraError_OutOfHandles = 103, + VRTrackedCameraError_IPCFailure = 104, + VRTrackedCameraError_NotSupportedForThisDevice = 105, + VRTrackedCameraError_SharedMemoryFailure = 106, + VRTrackedCameraError_FrameBufferingFailure = 107, + VRTrackedCameraError_StreamSetupFailure = 108, + VRTrackedCameraError_InvalidGLTextureId = 109, + VRTrackedCameraError_InvalidSharedTextureHandle = 110, + VRTrackedCameraError_FailedToGetGLTextureId = 111, + VRTrackedCameraError_SharedTextureFailure = 112, + VRTrackedCameraError_NoFrameAvailable = 113, + VRTrackedCameraError_InvalidArgument = 114, + VRTrackedCameraError_InvalidFrameBufferSize = 115, +}; + +enum EVRTrackedCameraFrameLayout +{ + EVRTrackedCameraFrameLayout_Mono = 0x0001, + EVRTrackedCameraFrameLayout_Stereo = 0x0002, + EVRTrackedCameraFrameLayout_VerticalLayout = 0x0010, // Stereo frames are Top/Bottom (left/right) + EVRTrackedCameraFrameLayout_HorizontalLayout = 0x0020, // Stereo frames are Left/Right +}; + +enum EVRTrackedCameraFrameType +{ + VRTrackedCameraFrameType_Distorted = 0, // This is the camera video frame size in pixels, still distorted. + VRTrackedCameraFrameType_Undistorted, // In pixels, an undistorted inscribed rectangle region without invalid regions. This size is subject to changes shortly. + VRTrackedCameraFrameType_MaximumUndistorted, // In pixels, maximum undistorted with invalid regions. Non zero alpha component identifies valid regions. + MAX_CAMERA_FRAME_TYPES +}; + +enum EVRDistortionFunctionType +{ + VRDistortionFunctionType_None, + VRDistortionFunctionType_FTheta, + VRDistortionFunctionType_Extended_FTheta, + MAX_DISTORTION_FUNCTION_TYPES, +}; + +static const uint32_t k_unMaxDistortionFunctionParameters = 8; + +typedef uint64_t TrackedCameraHandle_t; +#define INVALID_TRACKED_CAMERA_HANDLE ((vr::TrackedCameraHandle_t)0) + +struct CameraVideoStreamFrameHeader_t +{ + EVRTrackedCameraFrameType eFrameType; + + uint32_t nWidth; + uint32_t nHeight; + uint32_t nBytesPerPixel; + + uint32_t nFrameSequence; + + TrackedDevicePose_t trackedDevicePose; + + uint64_t ulFrameExposureTime; // mid-point of the exposure of the image in host system ticks +}; + +// Screenshot types +typedef uint32_t ScreenshotHandle_t; + +static const uint32_t k_unScreenshotHandleInvalid = 0; + +/** Compositor frame timing reprojection flags. */ +const uint32_t VRCompositor_ReprojectionReason_Cpu = 0x01; +const uint32_t VRCompositor_ReprojectionReason_Gpu = 0x02; +const uint32_t VRCompositor_ReprojectionAsync = 0x04; // This flag indicates the async reprojection mode is active, + // but does not indicate if reprojection actually happened or not. + // Use the ReprojectionReason flags above to check if reprojection + // was actually applied (i.e. scene texture was reused). + // NumFramePresents > 1 also indicates the scene texture was reused, + // and also the number of times that it was presented in total. + +const uint32_t VRCompositor_ReprojectionMotion = 0x08; // This flag indicates whether or not motion smoothing was triggered for this frame + +const uint32_t VRCompositor_PredictionMask = 0xF0; // The runtime may predict more than one frame ahead if + // it detects the application is taking too long to render. These + // bits will contain the count of additional frames (normally zero). + // Use the VR_COMPOSITOR_ADDITIONAL_PREDICTED_FRAMES macro to read from + // the latest frame timing entry. + +const uint32_t VRCompositor_ThrottleMask = 0xF00; // Number of frames the compositor is throttling the application. + // Use the VR_COMPOSITOR_NUMBER_OF_THROTTLED_FRAMES macro to read from + // the latest frame timing entry. + +#define VR_COMPOSITOR_ADDITIONAL_PREDICTED_FRAMES( timing ) ( ( ( timing ).m_nReprojectionFlags & vr::VRCompositor_PredictionMask ) >> 4 ) +#define VR_COMPOSITOR_NUMBER_OF_THROTTLED_FRAMES( timing ) ( ( ( timing ).m_nReprojectionFlags & vr::VRCompositor_ThrottleMask ) >> 8 ) + +#if defined(__linux__) || defined(__APPLE__) +#pragma pack( push, 4 ) +#endif +/** Provides a single frame's timing information to the app */ +struct Compositor_FrameTiming +{ + uint32_t m_nSize; // Set to sizeof( Compositor_FrameTiming ) + uint32_t m_nFrameIndex; + uint32_t m_nNumFramePresents; // number of times this frame was presented + uint32_t m_nNumMisPresented; // number of times this frame was presented on a vsync other than it was originally predicted to + uint32_t m_nNumDroppedFrames; // number of additional times previous frame was scanned out + uint32_t m_nReprojectionFlags; + + /** Absolute time reference for comparing frames. This aligns with the vsync that running start is relative to. */ + double m_flSystemTimeInSeconds; + + /** These times may include work from other processes due to OS scheduling. + * The fewer packets of work these are broken up into, the less likely this will happen. + * GPU work can be broken up by calling Flush. This can sometimes be useful to get the GPU started + * processing that work earlier in the frame. */ + float m_flPreSubmitGpuMs; // time spent rendering the scene (gpu work submitted between WaitGetPoses and second Submit) + float m_flPostSubmitGpuMs; // additional time spent rendering by application (e.g. companion window) + float m_flTotalRenderGpuMs; // time between work submitted immediately after present (ideally vsync) until the end of compositor submitted work + float m_flCompositorRenderGpuMs; // time spend performing distortion correction, rendering chaperone, overlays, etc. + float m_flCompositorRenderCpuMs; // time spent on cpu submitting the above work for this frame + float m_flCompositorIdleCpuMs; // time spent waiting for running start (application could have used this much more time) + + /** Miscellaneous measured intervals. */ + float m_flClientFrameIntervalMs; // time between calls to WaitGetPoses + float m_flPresentCallCpuMs; // time blocked on call to present (usually 0.0, but can go long) + float m_flWaitForPresentCpuMs; // time spent spin-waiting for frame index to change (not near-zero indicates wait object failure) + float m_flSubmitFrameMs; // time spent in IVRCompositor::Submit (not near-zero indicates driver issue) + + /** The following are all relative to this frame's SystemTimeInSeconds */ + float m_flWaitGetPosesCalledMs; + float m_flNewPosesReadyMs; + float m_flNewFrameReadyMs; // second call to IVRCompositor::Submit + float m_flCompositorUpdateStartMs; + float m_flCompositorUpdateEndMs; + float m_flCompositorRenderStartMs; + + vr::TrackedDevicePose_t m_HmdPose; // pose used by app to render this frame + + uint32_t m_nNumVSyncsReadyForUse; + uint32_t m_nNumVSyncsToFirstView; + + float m_flTransferLatencyMs; +}; +#if defined(__linux__) || defined(__APPLE__) +#pragma pack( pop ) +#endif + +/** Provides compositor benchmark results to the app */ +struct Compositor_BenchmarkResults +{ + float m_flMegaPixelsPerSecond; // Measurement of GPU MP/s performed by compositor benchmark + float m_flHmdRecommendedMegaPixelsPerSecond; // Recommended default MP/s given the HMD resolution, refresh, and panel mask. +}; + +/** Frame timing data provided by direct mode drivers. */ +struct DriverDirectMode_FrameTiming +{ + uint32_t m_nSize; // Set to sizeof( DriverDirectMode_FrameTiming ) + uint32_t m_nNumFramePresents; // number of times frame was presented + uint32_t m_nNumMisPresented; // number of times frame was presented on a vsync other than it was originally predicted to + uint32_t m_nNumDroppedFrames; // number of additional times previous frame was scanned out (i.e. compositor missed vsync) + uint32_t m_nReprojectionFlags; +}; + +/** These flags will be set on DriverDirectMode_FrameTiming::m_nReprojectionFlags when IVRDriverDirectModeComponent::GetFrameTiming is called for drivers to optionally respond to. */ +const uint32_t VRCompositor_ReprojectionMotion_Enabled = 0x100; // Motion Smoothing is enabled in the UI for the currently running application +const uint32_t VRCompositor_ReprojectionMotion_ForcedOn = 0x200; // Motion Smoothing is forced on in the UI for the currently running application +const uint32_t VRCompositor_ReprojectionMotion_AppThrottled = 0x400; // Application is requesting throttling via ForceInterleavedReprojectionOn + + +enum EVSync +{ + VSync_None, + VSync_WaitRender, // block following render work until vsync + VSync_NoWaitRender, // do not block following render work (allow to get started early) +}; + +enum EVRMuraCorrectionMode +{ + EVRMuraCorrectionMode_Default = 0, + EVRMuraCorrectionMode_NoCorrection +}; + +/** raw IMU data provided by IVRIOBuffer from paths to tracked devices with IMUs */ +enum Imu_OffScaleFlags +{ + OffScale_AccelX = 0x01, + OffScale_AccelY = 0x02, + OffScale_AccelZ = 0x04, + OffScale_GyroX = 0x08, + OffScale_GyroY = 0x10, + OffScale_GyroZ = 0x20, +}; + +struct ImuSample_t +{ + double fSampleTime; + HmdVector3d_t vAccel; + HmdVector3d_t vGyro; + uint32_t unOffScaleFlags; +}; + +#pragma pack( pop ) + +// figure out how to import from the VR API dll +#if defined(_WIN32) + + #if !defined(OPENVR_BUILD_STATIC) + #ifdef VR_API_EXPORT + #define VR_INTERFACE extern "C" __declspec( dllexport ) + #else + #define VR_INTERFACE extern "C" __declspec( dllimport ) + #endif + #else + #define VR_INTERFACE extern "C" + #endif + +#elif defined(__GNUC__) || defined(COMPILER_GCC) || defined(__APPLE__) + +#ifdef VR_API_EXPORT + #define VR_INTERFACE extern "C" __attribute__((visibility("default"))) +#else + #define VR_INTERFACE extern "C" +#endif + +#else + #error "Unsupported Platform." +#endif + + +#if defined( _WIN32 ) + #define VR_CALLTYPE __cdecl +#else + #define VR_CALLTYPE +#endif + +} // namespace vr +#endif // _INCLUDE_VRTYPES_H + +// vrannotation.h + +#ifdef API_GEN +# define VR_CLANG_ATTR(ATTR) __attribute__((annotate( ATTR ))) +#else +# define VR_CLANG_ATTR(ATTR) +#endif + +#define VR_METHOD_DESC(DESC) VR_CLANG_ATTR( "desc:" #DESC ";" ) +#define VR_IGNOREATTR() VR_CLANG_ATTR( "ignore" ) +#define VR_OUT_STRUCT() VR_CLANG_ATTR( "out_struct: ;" ) +#define VR_OUT_STRING() VR_CLANG_ATTR( "out_string: ;" ) +#define VR_OUT_ARRAY_CALL(COUNTER,FUNCTION,PARAMS) VR_CLANG_ATTR( "out_array_call:" #COUNTER "," #FUNCTION "," #PARAMS ";" ) +#define VR_OUT_ARRAY_COUNT(COUNTER) VR_CLANG_ATTR( "out_array_count:" #COUNTER ";" ) +#define VR_ARRAY_COUNT(COUNTER) VR_CLANG_ATTR( "array_count:" #COUNTER ";" ) +#define VR_ARRAY_COUNT_D(COUNTER, DESC) VR_CLANG_ATTR( "array_count:" #COUNTER ";desc:" #DESC ) +#define VR_BUFFER_COUNT(COUNTER) VR_CLANG_ATTR( "buffer_count:" #COUNTER ";" ) +#define VR_OUT_BUFFER_COUNT(COUNTER) VR_CLANG_ATTR( "out_buffer_count:" #COUNTER ";" ) +#define VR_OUT_STRING_COUNT(COUNTER) VR_CLANG_ATTR( "out_string_count:" #COUNTER ";" ) + +// ivrsystem.h + +namespace vr +{ + +class IVRSystem +{ +public: + + + // ------------------------------------ + // Display Methods + // ------------------------------------ + + /** Suggested size for the intermediate render target that the distortion pulls from. */ + virtual void GetRecommendedRenderTargetSize( uint32_t *pnWidth, uint32_t *pnHeight ) = 0; + + /** The projection matrix for the specified eye */ + virtual HmdMatrix44_t GetProjectionMatrix( EVREye eEye, float fNearZ, float fFarZ ) = 0; + + /** The components necessary to build your own projection matrix in case your + * application is doing something fancy like infinite Z */ + virtual void GetProjectionRaw( EVREye eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom ) = 0; + + /** Gets the result of the distortion function for the specified eye and input UVs. UVs go from 0,0 in + * the upper left of that eye's viewport and 1,1 in the lower right of that eye's viewport. + * Returns true for success. Otherwise, returns false, and distortion coordinates are not suitable. */ + virtual bool ComputeDistortion( EVREye eEye, float fU, float fV, DistortionCoordinates_t *pDistortionCoordinates ) = 0; + + /** Returns the transform from eye space to the head space. Eye space is the per-eye flavor of head + * space that provides stereo disparity. Instead of Model * View * Projection the sequence is Model * View * Eye^-1 * Projection. + * Normally View and Eye^-1 will be multiplied together and treated as View in your application. + */ + virtual HmdMatrix34_t GetEyeToHeadTransform( EVREye eEye ) = 0; + + /** Returns the number of elapsed seconds since the last recorded vsync event. This + * will come from a vsync timer event in the timer if possible or from the application-reported + * time if that is not available. If no vsync times are available the function will + * return zero for vsync time and frame counter and return false from the method. */ + virtual bool GetTimeSinceLastVsync( float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter ) = 0; + + /** [D3D9 Only] + * Returns the adapter index that the user should pass into CreateDevice to set up D3D9 in such + * a way that it can go full screen exclusive on the HMD. Returns -1 if there was an error. + */ + virtual int32_t GetD3D9AdapterIndex() = 0; + + /** [D3D10/11 Only] + * Returns the adapter index that the user should pass into EnumAdapters to create the device + * and swap chain in DX10 and DX11. If an error occurs the index will be set to -1. + */ + virtual void GetDXGIOutputInfo( int32_t *pnAdapterIndex ) = 0; + + /** + * Returns platform- and texture-type specific adapter identification so that applications and the + * compositor are creating textures and swap chains on the same GPU. If an error occurs the device + * will be set to 0. + * pInstance is an optional parameter that is required only when textureType is TextureType_Vulkan. + * [D3D10/11/12 Only (D3D9 Not Supported)] + * Returns the adapter LUID that identifies the GPU attached to the HMD. The user should + * enumerate all adapters using IDXGIFactory::EnumAdapters and IDXGIAdapter::GetDesc to find + * the adapter with the matching LUID, or use IDXGIFactory4::EnumAdapterByLuid. + * The discovered IDXGIAdapter should be used to create the device and swap chain. + * [Vulkan Only] + * Returns the VkPhysicalDevice that should be used by the application. + * pInstance must be the instance the application will use to query for the VkPhysicalDevice. The application + * must create the VkInstance with extensions returned by IVRCompositor::GetVulkanInstanceExtensionsRequired enabled. + * [macOS Only] + * For TextureType_IOSurface returns the id that should be used by the application. + * On 10.13+ for TextureType_OpenGL returns the 'registryId' of the renderer which should be used + * by the application. See Apple Technical Q&A QA1168 for information on enumerating GL Renderers, and the + * new kCGLRPRegistryIDLow and kCGLRPRegistryIDHigh CGLRendererProperty values in the 10.13 SDK. + * Pre 10.13 for TextureType_OpenGL returns 0, as there is no dependable way to correlate the HMDs MTLDevice + * with a GL Renderer. + */ + virtual void GetOutputDevice( uint64_t *pnDevice, ETextureType textureType, VkInstance_T *pInstance = nullptr ) = 0; + + // ------------------------------------ + // Display Mode methods + // ------------------------------------ + + /** Use to determine if the headset display is part of the desktop (i.e. extended) or hidden (i.e. direct mode). */ + virtual bool IsDisplayOnDesktop() = 0; + + /** Set the display visibility (true = extended, false = direct mode). Return value of true indicates that the change was successful. */ + virtual bool SetDisplayVisibility( bool bIsVisibleOnDesktop ) = 0; + + // ------------------------------------ + // Tracking Methods + // ------------------------------------ + + /** The pose that the tracker thinks that the HMD will be in at the specified number of seconds into the + * future. Pass 0 to get the state at the instant the method is called. Most of the time the application should + * calculate the time until the photons will be emitted from the display and pass that time into the method. + * + * This is roughly analogous to the inverse of the view matrix in most applications, though + * many games will need to do some additional rotation or translation on top of the rotation + * and translation provided by the head pose. + * + * For devices where bPoseIsValid is true the application can use the pose to position the device + * in question. The provided array can be any size up to k_unMaxTrackedDeviceCount. + * + * Seated experiences should call this method with TrackingUniverseSeated and receive poses relative + * to the seated zero pose. Standing experiences should call this method with TrackingUniverseStanding + * and receive poses relative to the Chaperone Play Area. TrackingUniverseRawAndUncalibrated should + * probably not be used unless the application is the Chaperone calibration tool itself, but will provide + * poses relative to the hardware-specific coordinate system in the driver. + */ + virtual void GetDeviceToAbsoluteTrackingPose( ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, VR_ARRAY_COUNT(unTrackedDevicePoseArrayCount) TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount ) = 0; + + /** Returns the transform from the seated zero pose to the standing absolute tracking system. This allows + * applications to represent the seated origin to used or transform object positions from one coordinate + * system to the other. + * + * The seated origin may or may not be inside the Play Area or Collision Bounds returned by IVRChaperone. Its position + * depends on what the user has set from the Dashboard settings and previous calls to ResetSeatedZeroPose. */ + virtual HmdMatrix34_t GetSeatedZeroPoseToStandingAbsoluteTrackingPose() = 0; + + /** Returns the transform from the tracking origin to the standing absolute tracking system. This allows + * applications to convert from raw tracking space to the calibrated standing coordinate system. */ + virtual HmdMatrix34_t GetRawZeroPoseToStandingAbsoluteTrackingPose() = 0; + + /** Get a sorted array of device indices of a given class of tracked devices (e.g. controllers). Devices are sorted right to left + * relative to the specified tracked device (default: hmd -- pass in -1 for absolute tracking space). Returns the number of devices + * in the list, or the size of the array needed if not large enough. */ + virtual uint32_t GetSortedTrackedDeviceIndicesOfClass( ETrackedDeviceClass eTrackedDeviceClass, VR_ARRAY_COUNT(unTrackedDeviceIndexArrayCount) vr::TrackedDeviceIndex_t *punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, vr::TrackedDeviceIndex_t unRelativeToTrackedDeviceIndex = k_unTrackedDeviceIndex_Hmd ) = 0; + + /** Returns the level of activity on the device. */ + virtual EDeviceActivityLevel GetTrackedDeviceActivityLevel( vr::TrackedDeviceIndex_t unDeviceId ) = 0; + + /** Convenience utility to apply the specified transform to the specified pose. + * This properly transforms all pose components, including velocity and angular velocity + */ + virtual void ApplyTransform( TrackedDevicePose_t *pOutputPose, const TrackedDevicePose_t *pTrackedDevicePose, const HmdMatrix34_t *pTransform ) = 0; + + /** Returns the device index associated with a specific role, for example the left hand or the right hand. This function is deprecated in favor of the new IVRInput system. */ + virtual vr::TrackedDeviceIndex_t GetTrackedDeviceIndexForControllerRole( vr::ETrackedControllerRole unDeviceType ) = 0; + + /** Returns the controller type associated with a device index. This function is deprecated in favor of the new IVRInput system. */ + virtual vr::ETrackedControllerRole GetControllerRoleForTrackedDeviceIndex( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; + + // ------------------------------------ + // Property methods + // ------------------------------------ + + /** Returns the device class of a tracked device. If there has not been a device connected in this slot + * since the application started this function will return TrackedDevice_Invalid. For previous detected + * devices the function will return the previously observed device class. + * + * To determine which devices exist on the system, just loop from 0 to k_unMaxTrackedDeviceCount and check + * the device class. Every device with something other than TrackedDevice_Invalid is associated with an + * actual tracked device. */ + virtual ETrackedDeviceClass GetTrackedDeviceClass( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; + + /** Returns true if there is a device connected in this slot. */ + virtual bool IsTrackedDeviceConnected( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; + + /** Returns a bool property. If the device index is not valid or the property is not a bool type this function will return false. */ + virtual bool GetBoolTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; + + /** Returns a float property. If the device index is not valid or the property is not a float type this function will return 0. */ + virtual float GetFloatTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; + + /** Returns an int property. If the device index is not valid or the property is not a int type this function will return 0. */ + virtual int32_t GetInt32TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; + + /** Returns a uint64 property. If the device index is not valid or the property is not a uint64 type this function will return 0. */ + virtual uint64_t GetUint64TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; + + /** Returns a matrix property. If the device index is not valid or the property is not a matrix type, this function will return identity. */ + virtual HmdMatrix34_t GetMatrix34TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; + + /** Returns an array of one type of property. If the device index is not valid or the property is not a single value or an array of the specified type, + * this function will return 0. Otherwise it returns the number of bytes necessary to hold the array of properties. If unBufferSize is + * greater than the returned size and pBuffer is non-NULL, pBuffer is filled with the contents of array of properties. */ + virtual uint32_t GetArrayTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, PropertyTypeTag_t propType, void *pBuffer, uint32_t unBufferSize, ETrackedPropertyError *pError = 0L ) = 0; + + /** Returns a string property. If the device index is not valid or the property is not a string type this function will + * return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing + * null. Strings will always fit in buffers of k_unMaxPropertyStringSize characters. */ + virtual uint32_t GetStringTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, ETrackedPropertyError *pError = 0L ) = 0; + + /** returns a string that corresponds with the specified property error. The string will be the name + * of the error enum value for all valid error codes */ + virtual const char *GetPropErrorNameFromEnum( ETrackedPropertyError error ) = 0; + + // ------------------------------------ + // Event methods + // ------------------------------------ + + /** Returns true and fills the event with the next event on the queue if there is one. If there are no events + * this method returns false. uncbVREvent should be the size in bytes of the VREvent_t struct */ + virtual bool PollNextEvent( VREvent_t *pEvent, uint32_t uncbVREvent ) = 0; + + /** Returns true and fills the event with the next event on the queue if there is one. If there are no events + * this method returns false. Fills in the pose of the associated tracked device in the provided pose struct. + * This pose will always be older than the call to this function and should not be used to render the device. + uncbVREvent should be the size in bytes of the VREvent_t struct */ + virtual bool PollNextEventWithPose( ETrackingUniverseOrigin eOrigin, VREvent_t *pEvent, uint32_t uncbVREvent, vr::TrackedDevicePose_t *pTrackedDevicePose ) = 0; + + /** returns the name of an EVREvent enum value */ + virtual const char *GetEventTypeNameFromEnum( EVREventType eType ) = 0; + + // ------------------------------------ + // Rendering helper methods + // ------------------------------------ + + /** Returns the hidden area mesh for the current HMD. The pixels covered by this mesh will never be seen by the user after the lens distortion is + * applied based on visibility to the panels. If this HMD does not have a hidden area mesh, the vertex data and count will be NULL and 0 respectively. + * This mesh is meant to be rendered into the stencil buffer (or into the depth buffer setting nearz) before rendering each eye's view. + * This will improve performance by letting the GPU early-reject pixels the user will never see before running the pixel shader. + * NOTE: Render this mesh with backface culling disabled since the winding order of the vertices can be different per-HMD or per-eye. + * Setting the bInverse argument to true will produce the visible area mesh that is commonly used in place of full-screen quads. The visible area mesh covers all of the pixels the hidden area mesh does not cover. + * Setting the bLineLoop argument will return a line loop of vertices in HiddenAreaMesh_t->pVertexData with HiddenAreaMesh_t->unTriangleCount set to the number of vertices. + */ + virtual HiddenAreaMesh_t GetHiddenAreaMesh( EVREye eEye, EHiddenAreaMeshType type = k_eHiddenAreaMesh_Standard ) = 0; + + // ------------------------------------ + // Controller methods + // ------------------------------------ + + /** Fills the supplied struct with the current state of the controller. Returns false if the controller index + * is invalid. This function is deprecated in favor of the new IVRInput system. */ + virtual bool GetControllerState( vr::TrackedDeviceIndex_t unControllerDeviceIndex, vr::VRControllerState_t *pControllerState, uint32_t unControllerStateSize ) = 0; + + /** fills the supplied struct with the current state of the controller and the provided pose with the pose of + * the controller when the controller state was updated most recently. Use this form if you need a precise controller + * pose as input to your application when the user presses or releases a button. This function is deprecated in favor of the new IVRInput system. */ + virtual bool GetControllerStateWithPose( ETrackingUniverseOrigin eOrigin, vr::TrackedDeviceIndex_t unControllerDeviceIndex, vr::VRControllerState_t *pControllerState, uint32_t unControllerStateSize, TrackedDevicePose_t *pTrackedDevicePose ) = 0; + + /** Trigger a single haptic pulse on a controller. After this call the application may not trigger another haptic pulse on this controller + * and axis combination for 5ms. This function is deprecated in favor of the new IVRInput system. */ + virtual void TriggerHapticPulse( vr::TrackedDeviceIndex_t unControllerDeviceIndex, uint32_t unAxisId, unsigned short usDurationMicroSec ) = 0; + + /** returns the name of an EVRButtonId enum value. This function is deprecated in favor of the new IVRInput system. */ + virtual const char *GetButtonIdNameFromEnum( EVRButtonId eButtonId ) = 0; + + /** returns the name of an EVRControllerAxisType enum value. This function is deprecated in favor of the new IVRInput system. */ + virtual const char *GetControllerAxisTypeNameFromEnum( EVRControllerAxisType eAxisType ) = 0; + + /** Returns true if this application is receiving input from the system. This would return false if + * system-related functionality is consuming the input stream. */ + virtual bool IsInputAvailable() = 0; + + /** Returns true SteamVR is drawing controllers on top of the application. Applications should consider + * not drawing anything attached to the user's hands in this case. */ + virtual bool IsSteamVRDrawingControllers() = 0; + + /** Returns true if the user has put SteamVR into a mode that is distracting them from the application. + * For applications where this is appropriate, the application should pause ongoing activity. */ + virtual bool ShouldApplicationPause() = 0; + + /** Returns true if SteamVR is doing significant rendering work and the game should do what it can to reduce + * its own workload. One common way to do this is to reduce the size of the render target provided for each eye. */ + virtual bool ShouldApplicationReduceRenderingWork() = 0; + + // ------------------------------------ + // Firmware methods + // ------------------------------------ + + /** Performs the actual firmware update if applicable. + * The following events will be sent, if VRFirmwareError_None was returned: VREvent_FirmwareUpdateStarted, VREvent_FirmwareUpdateFinished + * Use the properties Prop_Firmware_UpdateAvailable_Bool, Prop_Firmware_ManualUpdate_Bool, and Prop_Firmware_ManualUpdateURL_String + * to figure our whether a firmware update is available, and to figure out whether its a manual update + * Prop_Firmware_ManualUpdateURL_String should point to an URL describing the manual update process */ + virtual vr::EVRFirmwareError PerformFirmwareUpdate( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; + + // ------------------------------------ + // Application life cycle methods + // ------------------------------------ + + /** Call this to acknowledge to the system that VREvent_Quit has been received and that the process is exiting. + * This extends the timeout until the process is killed. */ + virtual void AcknowledgeQuit_Exiting() = 0; + + // ------------------------------------- + // App container sandbox methods + // ------------------------------------- + + /** Retrieves a null-terminated, semicolon-delimited list of UTF8 file paths that an application + * must have read access to when running inside of an app container. Returns the number of bytes + * needed to hold the list. */ + virtual uint32_t GetAppContainerFilePaths( VR_OUT_STRING() char *pchBuffer, uint32_t unBufferSize ) = 0; + + // ------------------------------------- + // System methods + // ------------------------------------- + + /** Returns the current version of the SteamVR runtime. The returned string will remain valid until VR_Shutdown is called. + * + * NOTE: Is it not appropriate to use this version to test for the presence of any SteamVR feature. Only use this version + * number for logging or showing to a user, and not to try to detect anything at runtime. When appropriate, feature-specific + * presence information is provided by other APIs. */ + virtual const char *GetRuntimeVersion() = 0; + +}; + +static const char * const IVRSystem_Version = "IVRSystem_022"; + +} + + +// ivrapplications.h + +namespace vr +{ + + /** Used for all errors reported by the IVRApplications interface */ + enum EVRApplicationError + { + VRApplicationError_None = 0, + + VRApplicationError_AppKeyAlreadyExists = 100, // Only one application can use any given key + VRApplicationError_NoManifest = 101, // the running application does not have a manifest + VRApplicationError_NoApplication = 102, // No application is running + VRApplicationError_InvalidIndex = 103, + VRApplicationError_UnknownApplication = 104, // the application could not be found + VRApplicationError_IPCFailed = 105, // An IPC failure caused the request to fail + VRApplicationError_ApplicationAlreadyRunning = 106, + VRApplicationError_InvalidManifest = 107, + VRApplicationError_InvalidApplication = 108, + VRApplicationError_LaunchFailed = 109, // the process didn't start + VRApplicationError_ApplicationAlreadyStarting = 110, // the system was already starting the same application + VRApplicationError_LaunchInProgress = 111, // The system was already starting a different application + VRApplicationError_OldApplicationQuitting = 112, + VRApplicationError_TransitionAborted = 113, + VRApplicationError_IsTemplate = 114, // error when you try to call LaunchApplication() on a template type app (use LaunchTemplateApplication) + VRApplicationError_SteamVRIsExiting = 115, + + VRApplicationError_BufferTooSmall = 200, // The provided buffer was too small to fit the requested data + VRApplicationError_PropertyNotSet = 201, // The requested property was not set + VRApplicationError_UnknownProperty = 202, + VRApplicationError_InvalidParameter = 203, + + VRApplicationError_NotImplemented = 300, // Fcn is not implemented in current interface + }; + + /** The maximum length of an application key */ + static const uint32_t k_unMaxApplicationKeyLength = 128; + + /** these are the properties available on applications. */ + enum EVRApplicationProperty + { + VRApplicationProperty_Name_String = 0, + + VRApplicationProperty_LaunchType_String = 11, + VRApplicationProperty_WorkingDirectory_String = 12, + VRApplicationProperty_BinaryPath_String = 13, + VRApplicationProperty_Arguments_String = 14, + VRApplicationProperty_URL_String = 15, + + VRApplicationProperty_Description_String = 50, + VRApplicationProperty_NewsURL_String = 51, + VRApplicationProperty_ImagePath_String = 52, + VRApplicationProperty_Source_String = 53, + VRApplicationProperty_ActionManifestURL_String = 54, + + VRApplicationProperty_IsDashboardOverlay_Bool = 60, + VRApplicationProperty_IsTemplate_Bool = 61, + VRApplicationProperty_IsInstanced_Bool = 62, + VRApplicationProperty_IsInternal_Bool = 63, + VRApplicationProperty_WantsCompositorPauseInStandby_Bool = 64, + VRApplicationProperty_IsHidden_Bool = 65, + + VRApplicationProperty_LastLaunchTime_Uint64 = 70, + }; + + enum EVRSceneApplicationState + { + EVRSceneApplicationState_None = 0, // Scene Application is not running + EVRSceneApplicationState_Starting = 1, // Scene Application is starting + EVRSceneApplicationState_Quitting = 2, // Scene Application is quitting + EVRSceneApplicationState_Running = 3, // Scene Application is running, and submitting frames, a custom skybox, or a visible overlay + EVRSceneApplicationState_Waiting = 4, // Scene Application is running, but not drawing anything + }; + + struct AppOverrideKeys_t + { + const char *pchKey; + const char *pchValue; + }; + + /** Currently recognized mime types */ + static const char * const k_pch_MimeType_HomeApp = "vr/home"; + static const char * const k_pch_MimeType_GameTheater = "vr/game_theater"; + + class IVRApplications + { + public: + + // --------------- Application management --------------- // + + /** Adds an application manifest to the list to load when building the list of installed applications. + * Temporary manifests are not automatically loaded */ + virtual EVRApplicationError AddApplicationManifest( const char *pchApplicationManifestFullPath, bool bTemporary = false ) = 0; + + /** Removes an application manifest from the list to load when building the list of installed applications. */ + virtual EVRApplicationError RemoveApplicationManifest( const char *pchApplicationManifestFullPath ) = 0; + + /** Returns true if an application is installed */ + virtual bool IsApplicationInstalled( const char *pchAppKey ) = 0; + + /** Returns the number of applications available in the list */ + virtual uint32_t GetApplicationCount() = 0; + + /** Returns the key of the specified application. The index is at least 0 and is less than the return + * value of GetApplicationCount(). The buffer should be at least k_unMaxApplicationKeyLength in order to + * fit the key. */ + virtual EVRApplicationError GetApplicationKeyByIndex( uint32_t unApplicationIndex, VR_OUT_STRING() char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; + + /** Returns the key of the application for the specified Process Id. The buffer should be at least + * k_unMaxApplicationKeyLength in order to fit the key. */ + virtual EVRApplicationError GetApplicationKeyByProcessId( uint32_t unProcessId, VR_OUT_STRING() char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; + + /** Launches the application. The existing scene application will exit and then the new application will start. + * This call is not valid for dashboard overlay applications. */ + virtual EVRApplicationError LaunchApplication( const char *pchAppKey ) = 0; + + /** Launches an instance of an application of type template, with its app key being pchNewAppKey (which must be unique) and optionally override sections + * from the manifest file via AppOverrideKeys_t + */ + virtual EVRApplicationError LaunchTemplateApplication( const char *pchTemplateAppKey, const char *pchNewAppKey, VR_ARRAY_COUNT( unKeys ) const AppOverrideKeys_t *pKeys, uint32_t unKeys ) = 0; + + /** launches the application currently associated with this mime type and passes it the option args, typically the filename or object name of the item being launched */ + virtual vr::EVRApplicationError LaunchApplicationFromMimeType( const char *pchMimeType, const char *pchArgs ) = 0; + + /** Launches the dashboard overlay application if it is not already running. This call is only valid for + * dashboard overlay applications. */ + virtual EVRApplicationError LaunchDashboardOverlay( const char *pchAppKey ) = 0; + + /** Cancel a pending launch for an application */ + virtual bool CancelApplicationLaunch( const char *pchAppKey ) = 0; + + /** Identifies a running application. OpenVR can't always tell which process started in response + * to a URL. This function allows a URL handler (or the process itself) to identify the app key + * for the now running application. Passing a process ID of 0 identifies the calling process. + * The application must be one that's known to the system via a call to AddApplicationManifest. */ + virtual EVRApplicationError IdentifyApplication( uint32_t unProcessId, const char *pchAppKey ) = 0; + + /** Returns the process ID for an application. Return 0 if the application was not found or is not running. */ + virtual uint32_t GetApplicationProcessId( const char *pchAppKey ) = 0; + + /** Returns a string for an applications error */ + virtual const char *GetApplicationsErrorNameFromEnum( EVRApplicationError error ) = 0; + + // --------------- Application properties --------------- // + + /** Returns a value for an application property. The required buffer size to fit this value will be returned. */ + virtual uint32_t GetApplicationPropertyString( const char *pchAppKey, EVRApplicationProperty eProperty, VR_OUT_STRING() char *pchPropertyValueBuffer, uint32_t unPropertyValueBufferLen, EVRApplicationError *peError = nullptr ) = 0; + + /** Returns a bool value for an application property. Returns false in all error cases. */ + virtual bool GetApplicationPropertyBool( const char *pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError *peError = nullptr ) = 0; + + /** Returns a uint64 value for an application property. Returns 0 in all error cases. */ + virtual uint64_t GetApplicationPropertyUint64( const char *pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError *peError = nullptr ) = 0; + + /** Sets the application auto-launch flag. This is only valid for applications which return true for VRApplicationProperty_IsDashboardOverlay_Bool. */ + virtual EVRApplicationError SetApplicationAutoLaunch( const char *pchAppKey, bool bAutoLaunch ) = 0; + + /** Gets the application auto-launch flag. This is only valid for applications which return true for VRApplicationProperty_IsDashboardOverlay_Bool. */ + virtual bool GetApplicationAutoLaunch( const char *pchAppKey ) = 0; + + /** Adds this mime-type to the list of supported mime types for this application*/ + virtual EVRApplicationError SetDefaultApplicationForMimeType( const char *pchAppKey, const char *pchMimeType ) = 0; + + /** return the app key that will open this mime type */ + virtual bool GetDefaultApplicationForMimeType( const char *pchMimeType, VR_OUT_STRING() char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; + + /** Get the list of supported mime types for this application, comma-delimited */ + virtual bool GetApplicationSupportedMimeTypes( const char *pchAppKey, VR_OUT_STRING() char *pchMimeTypesBuffer, uint32_t unMimeTypesBuffer ) = 0; + + /** Get the list of app-keys that support this mime type, comma-delimited, the return value is number of bytes you need to return the full string */ + virtual uint32_t GetApplicationsThatSupportMimeType( const char *pchMimeType, VR_OUT_STRING() char *pchAppKeysThatSupportBuffer, uint32_t unAppKeysThatSupportBuffer ) = 0; + + /** Get the args list from an app launch that had the process already running, you call this when you get a VREvent_ApplicationMimeTypeLoad */ + virtual uint32_t GetApplicationLaunchArguments( uint32_t unHandle, VR_OUT_STRING() char *pchArgs, uint32_t unArgs ) = 0; + + // --------------- Transition methods --------------- // + + /** Returns the app key for the application that is starting up */ + virtual EVRApplicationError GetStartingApplication( VR_OUT_STRING() char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; + + /** Returns the application transition state */ + virtual EVRSceneApplicationState GetSceneApplicationState() = 0; + + /** Returns errors that would prevent the specified application from launching immediately. Calling this function will + * cause the current scene application to quit, so only call it when you are actually about to launch something else. + * What the caller should do about these failures depends on the failure: + * VRApplicationError_OldApplicationQuitting - An existing application has been told to quit. Wait for a VREvent_ProcessQuit + * and try again. + * VRApplicationError_ApplicationAlreadyStarting - This application is already starting. This is a permanent failure. + * VRApplicationError_LaunchInProgress - A different application is already starting. This is a permanent failure. + * VRApplicationError_None - Go ahead and launch. Everything is clear. + */ + virtual EVRApplicationError PerformApplicationPrelaunchCheck( const char *pchAppKey ) = 0; + + /** Returns a string for an application transition state */ + virtual const char *GetSceneApplicationStateNameFromEnum( EVRSceneApplicationState state ) = 0; + + /** Starts a subprocess within the calling application. This + * suppresses all application transition UI and automatically identifies the new executable + * as part of the same application. On success the calling process should exit immediately. + * If working directory is NULL or "" the directory portion of the binary path will be + * the working directory. */ + virtual EVRApplicationError LaunchInternalProcess( const char *pchBinaryPath, const char *pchArguments, const char *pchWorkingDirectory ) = 0; + + /** Returns the current scene process ID according to the application system. A scene process will get scene + * focus once it starts rendering, but it will appear here once it calls VR_Init with the Scene application + * type. */ + virtual uint32_t GetCurrentSceneProcessId() = 0; + }; + + static const char * const IVRApplications_Version = "IVRApplications_007"; + +} // namespace vr + +// ivrsettings.h + +#include + +namespace vr +{ + enum EVRSettingsError + { + VRSettingsError_None = 0, + VRSettingsError_IPCFailed = 1, + VRSettingsError_WriteFailed = 2, + VRSettingsError_ReadFailed = 3, + VRSettingsError_JsonParseFailed = 4, + VRSettingsError_UnsetSettingHasNoDefault = 5, // This will be returned if the setting does not appear in the appropriate default file and has not been set + VRSettingsError_AccessDenied = 6, + }; + + // The maximum length of a settings key + static const uint32_t k_unMaxSettingsKeyLength = 128; + + class IVRSettings + { + public: + virtual const char *GetSettingsErrorNameFromEnum( EVRSettingsError eError ) = 0; + + virtual void SetBool( const char *pchSection, const char *pchSettingsKey, bool bValue, EVRSettingsError *peError = nullptr ) = 0; + virtual void SetInt32( const char *pchSection, const char *pchSettingsKey, int32_t nValue, EVRSettingsError *peError = nullptr ) = 0; + virtual void SetFloat( const char *pchSection, const char *pchSettingsKey, float flValue, EVRSettingsError *peError = nullptr ) = 0; + virtual void SetString( const char *pchSection, const char *pchSettingsKey, const char *pchValue, EVRSettingsError *peError = nullptr ) = 0; + + // Users of the system need to provide a proper default in default.vrsettings in the resources/settings/ directory + // of either the runtime or the driver_xxx directory. Otherwise the default will be false, 0, 0.0 or "" + virtual bool GetBool( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; + virtual int32_t GetInt32( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; + virtual float GetFloat( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; + virtual void GetString( const char *pchSection, const char *pchSettingsKey, VR_OUT_STRING() char *pchValue, uint32_t unValueLen, EVRSettingsError *peError = nullptr ) = 0; + + virtual void RemoveSection( const char *pchSection, EVRSettingsError *peError = nullptr ) = 0; + virtual void RemoveKeyInSection( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; + }; + + //----------------------------------------------------------------------------- + static const char * const IVRSettings_Version = "IVRSettings_003"; + + class CVRSettingHelper + { + IVRSettings *m_pSettings; + public: + CVRSettingHelper( IVRSettings *pSettings ) + { + m_pSettings = pSettings; + } + + const char *GetSettingsErrorNameFromEnum( EVRSettingsError eError ) + { + return m_pSettings->GetSettingsErrorNameFromEnum( eError ); + } + + void SetBool( const char *pchSection, const char *pchSettingsKey, bool bValue, EVRSettingsError *peError = nullptr ) + { + m_pSettings->SetBool( pchSection, pchSettingsKey, bValue, peError ); + } + + void SetInt32( const char *pchSection, const char *pchSettingsKey, int32_t nValue, EVRSettingsError *peError = nullptr ) + { + m_pSettings->SetInt32( pchSection, pchSettingsKey, nValue, peError ); + } + void SetFloat( const char *pchSection, const char *pchSettingsKey, float flValue, EVRSettingsError *peError = nullptr ) + { + m_pSettings->SetFloat( pchSection, pchSettingsKey, flValue, peError ); + } + void SetString( const char *pchSection, const char *pchSettingsKey, const char *pchValue, EVRSettingsError *peError = nullptr ) + { + m_pSettings->SetString( pchSection, pchSettingsKey, pchValue, peError ); + } + void SetString( const std::string & sSection, const std::string & sSettingsKey, const std::string & sValue, EVRSettingsError *peError = nullptr ) + { + m_pSettings->SetString( sSection.c_str(), sSettingsKey.c_str(), sValue.c_str(), peError ); + } + + bool GetBool( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) + { + return m_pSettings->GetBool( pchSection, pchSettingsKey, peError ); + } + int32_t GetInt32( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) + { + return m_pSettings->GetInt32( pchSection, pchSettingsKey, peError ); + } + float GetFloat( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) + { + return m_pSettings->GetFloat( pchSection, pchSettingsKey, peError ); + } + void GetString( const char *pchSection, const char *pchSettingsKey, VR_OUT_STRING() char *pchValue, uint32_t unValueLen, EVRSettingsError *peError = nullptr ) + { + m_pSettings->GetString( pchSection, pchSettingsKey, pchValue, unValueLen, peError ); + } + std::string GetString( const std::string & sSection, const std::string & sSettingsKey, EVRSettingsError *peError = nullptr ) + { + char buf[4096]; + vr::EVRSettingsError eError; + m_pSettings->GetString( sSection.c_str(), sSettingsKey.c_str(), buf, sizeof( buf ), &eError ); + if ( peError ) + *peError = eError; + if ( eError == vr::VRSettingsError_None ) + return buf; + else + return ""; + } + + void RemoveSection( const char *pchSection, EVRSettingsError *peError = nullptr ) + { + m_pSettings->RemoveSection( pchSection, peError ); + } + void RemoveKeyInSection( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) + { + m_pSettings->RemoveKeyInSection( pchSection, pchSettingsKey, peError ); + } + }; + + + //----------------------------------------------------------------------------- + // steamvr keys + static const char * const k_pch_SteamVR_Section = "steamvr"; + static const char * const k_pch_SteamVR_RequireHmd_String = "requireHmd"; + static const char * const k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver"; + static const char * const k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd"; + static const char * const k_pch_SteamVR_DisplayDebug_Bool = "displayDebug"; + static const char * const k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe"; + static const char * const k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX"; + static const char * const k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY"; + static const char * const k_pch_SteamVR_SendSystemButtonToAllApps_Bool= "sendSystemButtonToAllApps"; + static const char * const k_pch_SteamVR_LogLevel_Int32 = "loglevel"; + static const char * const k_pch_SteamVR_IPD_Float = "ipd"; + static const char * const k_pch_SteamVR_Background_String = "background"; + static const char * const k_pch_SteamVR_BackgroundUseDomeProjection_Bool = "backgroundUseDomeProjection"; + static const char * const k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight"; + static const char * const k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius"; + static const char * const k_pch_SteamVR_GridColor_String = "gridColor"; + static const char * const k_pch_SteamVR_PlayAreaColor_String = "playAreaColor"; + static const char * const k_pch_SteamVR_TrackingLossColor_String = "trackingLossColor"; + static const char * const k_pch_SteamVR_ShowStage_Bool = "showStage"; + static const char * const k_pch_SteamVR_DrawTrackingReferences_Bool = "drawTrackingReferences"; + static const char * const k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers"; + static const char * const k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; + static const char * const k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; + static const char * const k_pch_SteamVR_BaseStationPowerManagement_Int32 = "basestationPowerManagement"; + static const char * const k_pch_SteamVR_ShowBaseStationPowerManagementTip_Int32 = "ShowBaseStationPowerManagementTip"; + static const char * const k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; + static const char * const k_pch_SteamVR_SupersampleScale_Float = "supersampleScale"; + static const char * const k_pch_SteamVR_MaxRecommendedResolution_Int32 = "maxRecommendedResolution"; + static const char * const k_pch_SteamVR_MotionSmoothing_Bool = "motionSmoothing"; + static const char * const k_pch_SteamVR_MotionSmoothingOverride_Int32 = "motionSmoothingOverride"; + static const char * const k_pch_SteamVR_FramesToThrottle_Int32 = "framesToThrottle"; + static const char * const k_pch_SteamVR_AdditionalFramesToPredict_Int32 = "additionalFramesToPredict"; + static const char * const k_pch_SteamVR_WorldScale_Float = "worldScale"; + static const char * const k_pch_SteamVR_FovScale_Int32 = "fovScale"; + static const char * const k_pch_SteamVR_FovScaleLetterboxed_Bool = "fovScaleLetterboxed"; + static const char * const k_pch_SteamVR_DisableAsyncReprojection_Bool = "disableAsync"; + static const char * const k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; + static const char * const k_pch_SteamVR_DefaultMirrorView_Int32 = "mirrorView"; + static const char * const k_pch_SteamVR_ShowLegacyMirrorView_Bool = "showLegacyMirrorView"; + static const char * const k_pch_SteamVR_MirrorViewVisibility_Bool = "showMirrorView"; + static const char * const k_pch_SteamVR_MirrorViewDisplayMode_Int32 = "mirrorViewDisplayMode"; + static const char * const k_pch_SteamVR_MirrorViewEye_Int32 = "mirrorViewEye"; + static const char * const k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometry"; + static const char * const k_pch_SteamVR_MirrorViewGeometryMaximized_String = "mirrorViewGeometryMaximized"; + static const char * const k_pch_SteamVR_PerfGraphVisibility_Bool = "showPerfGraph"; + static const char * const k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromAppLaunch"; + static const char * const k_pch_SteamVR_StartCompositorFromAppLaunch_Bool = "startCompositorFromAppLaunch"; + static const char * const k_pch_SteamVR_StartDashboardFromAppLaunch_Bool = "startDashboardFromAppLaunch"; + static const char * const k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool = "startOverlayAppsFromDashboard"; + static const char * const k_pch_SteamVR_EnableHomeApp = "enableHomeApp"; + static const char * const k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBackgroundImageTimeSec"; + static const char * const k_pch_SteamVR_RetailDemo_Bool = "retailDemo"; + static const char * const k_pch_SteamVR_IpdOffset_Float = "ipdOffset"; + static const char * const k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering"; + static const char * const k_pch_SteamVR_SupersampleManualOverride_Bool = "supersampleManualOverride"; + static const char * const k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync"; + static const char * const k_pch_SteamVR_AllowDisplayLockedMode_Bool = "allowDisplayLockedMode"; + static const char * const k_pch_SteamVR_HaveStartedTutorialForNativeChaperoneDriver_Bool = "haveStartedTutorialForNativeChaperoneDriver"; + static const char * const k_pch_SteamVR_ForceWindows32bitVRMonitor = "forceWindows32BitVRMonitor"; + static const char * const k_pch_SteamVR_DebugInputBinding = "debugInputBinding"; + static const char * const k_pch_SteamVR_DoNotFadeToGrid = "doNotFadeToGrid"; + static const char * const k_pch_SteamVR_EnableSharedResourceJournaling = "enableSharedResourceJournaling"; + static const char * const k_pch_SteamVR_EnableSafeMode = "enableSafeMode"; + static const char * const k_pch_SteamVR_PreferredRefreshRate = "preferredRefreshRate"; + static const char * const k_pch_SteamVR_LastVersionNotice = "lastVersionNotice"; + static const char * const k_pch_SteamVR_LastVersionNoticeDate = "lastVersionNoticeDate"; + static const char * const k_pch_SteamVR_HmdDisplayColorGainR_Float = "hmdDisplayColorGainR"; + static const char * const k_pch_SteamVR_HmdDisplayColorGainG_Float = "hmdDisplayColorGainG"; + static const char * const k_pch_SteamVR_HmdDisplayColorGainB_Float = "hmdDisplayColorGainB"; + static const char * const k_pch_SteamVR_CustomIconStyle_String = "customIconStyle"; + static const char * const k_pch_SteamVR_CustomOffIconStyle_String = "customOffIconStyle"; + static const char * const k_pch_SteamVR_CustomIconForceUpdate_String = "customIconForceUpdate"; + static const char * const k_pch_SteamVR_AllowGlobalActionSetPriority = "globalActionSetPriority"; + static const char * const k_pch_SteamVR_OverlayRenderQuality = "overlayRenderQuality_2"; + static const char * const k_pch_SteamVR_BlockOculusSDKOnOpenVRLaunchOption_Bool = "blockOculusSDKOnOpenVRLaunchOption"; + static const char * const k_pch_SteamVR_BlockOculusSDKOnAllLaunches_Bool = "blockOculusSDKOnAllLaunches"; + static const char * const k_pch_SteamVR_HDCPLegacyCompatibility_Bool = "hdcp14legacyCompatibility"; + static const char * const k_pch_SteamVR_DisplayPortTrainingMode_Int = "displayPortTrainingMode"; + static const char * const k_pch_SteamVR_UsePrism_Bool = "usePrism"; + static const char * const k_pch_SteamVR_AllowFallbackMirrorWindowLinux_Bool = "allowFallbackMirrorWindowLinux"; + + //----------------------------------------------------------------------------- + // openxr keys + static const char * const k_pch_OpenXR_Section = "openxr"; + static const char * const k_pch_OpenXR_MetaUnityPluginCompatibility_Int32 = "metaUnityPluginCompatibility"; + + //----------------------------------------------------------------------------- + // direct mode keys + static const char * const k_pch_DirectMode_Section = "direct_mode"; + static const char * const k_pch_DirectMode_Enable_Bool = "enable"; + static const char * const k_pch_DirectMode_Count_Int32 = "count"; + static const char * const k_pch_DirectMode_EdidVid_Int32 = "edidVid"; + static const char * const k_pch_DirectMode_EdidPid_Int32 = "edidPid"; + + //----------------------------------------------------------------------------- + // lighthouse keys + static const char * const k_pch_Lighthouse_Section = "driver_lighthouse"; + static const char * const k_pch_Lighthouse_DisableIMU_Bool = "disableimu"; + static const char * const k_pch_Lighthouse_DisableIMUExceptHMD_Bool = "disableimuexcepthmd"; + static const char * const k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation"; + static const char * const k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug"; + static const char * const k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation"; + static const char * const k_pch_Lighthouse_DBHistory_Bool = "dbhistory"; + static const char * const k_pch_Lighthouse_EnableBluetooth_Bool = "enableBluetooth"; + static const char * const k_pch_Lighthouse_PowerManagedBaseStations_String = "PowerManagedBaseStations"; + static const char * const k_pch_Lighthouse_PowerManagedBaseStations2_String = "PowerManagedBaseStations2"; + static const char * const k_pch_Lighthouse_InactivityTimeoutForBaseStations_Int32 = "InactivityTimeoutForBaseStations"; + static const char * const k_pch_Lighthouse_EnableImuFallback_Bool = "enableImuFallback"; + + //----------------------------------------------------------------------------- + // null keys + static const char * const k_pch_Null_Section = "driver_null"; + static const char * const k_pch_Null_SerialNumber_String = "serialNumber"; + static const char * const k_pch_Null_ModelNumber_String = "modelNumber"; + static const char * const k_pch_Null_WindowX_Int32 = "windowX"; + static const char * const k_pch_Null_WindowY_Int32 = "windowY"; + static const char * const k_pch_Null_WindowWidth_Int32 = "windowWidth"; + static const char * const k_pch_Null_WindowHeight_Int32 = "windowHeight"; + static const char * const k_pch_Null_RenderWidth_Int32 = "renderWidth"; + static const char * const k_pch_Null_RenderHeight_Int32 = "renderHeight"; + static const char * const k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons"; + static const char * const k_pch_Null_DisplayFrequency_Float = "displayFrequency"; + + //----------------------------------------------------------------------------- + // Windows MR keys + static const char * const k_pch_WindowsMR_Section = "driver_holographic"; + + //----------------------------------------------------------------------------- + // user interface keys + static const char * const k_pch_UserInterface_Section = "userinterface"; + static const char * const k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop"; + static const char * const k_pch_UserInterface_MinimizeToTray_Bool = "MinimizeToTray"; + static const char * const k_pch_UserInterface_HidePopupsWhenStatusMinimized_Bool = "HidePopupsWhenStatusMinimized"; + static const char * const k_pch_UserInterface_Screenshots_Bool = "screenshots"; + static const char * const k_pch_UserInterface_ScreenshotType_Int = "screenshotType"; + + //----------------------------------------------------------------------------- + // notification keys + static const char * const k_pch_Notifications_Section = "notifications"; + static const char * const k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb"; + + //----------------------------------------------------------------------------- + // keyboard keys + static const char * const k_pch_Keyboard_Section = "keyboard"; + static const char * const k_pch_Keyboard_TutorialCompletions = "TutorialCompletions"; + static const char * const k_pch_Keyboard_ScaleX = "ScaleX"; + static const char * const k_pch_Keyboard_ScaleY = "ScaleY"; + static const char * const k_pch_Keyboard_OffsetLeftX = "OffsetLeftX"; + static const char * const k_pch_Keyboard_OffsetRightX = "OffsetRightX"; + static const char * const k_pch_Keyboard_OffsetY = "OffsetY"; + static const char * const k_pch_Keyboard_Smoothing = "Smoothing"; + + //----------------------------------------------------------------------------- + // perf keys + static const char * const k_pch_Perf_Section = "perfcheck"; + static const char * const k_pch_Perf_PerfGraphInHMD_Bool = "perfGraphInHMD"; + static const char * const k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore"; + static const char * const k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit"; + static const char * const k_pch_Perf_TestData_Float = "perfTestData"; + static const char * const k_pch_Perf_GPUProfiling_Bool = "GPUProfiling"; + static const char * const k_pch_Perf_GpuBusMonitoring_Bool = "gpuBusMonitoring"; + + //----------------------------------------------------------------------------- + // collision bounds keys + static const char * const k_pch_CollisionBounds_Section = "collisionBounds"; + static const char * const k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle"; + static const char * const k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn"; + static const char * const k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn"; + static const char * const k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn"; + static const char * const k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance"; + static const char * const k_pch_CollisionBounds_WallHeight_Float = "CollisionBoundsWallHeight"; + static const char * const k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR"; + static const char * const k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG"; + static const char * const k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB"; + static const char * const k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA"; + static const char * const k_pch_CollisionBounds_EnableDriverImport = "enableDriverBoundsImport"; + + //----------------------------------------------------------------------------- + // camera keys + static const char * const k_pch_Camera_Section = "camera"; + static const char * const k_pch_Camera_EnableCamera_Bool = "enableCamera"; + static const char * const k_pch_Camera_ShowOnController_Bool = "showOnController"; + static const char * const k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds"; + static const char * const k_pch_Camera_RoomView_Int32 = "roomView"; + static const char * const k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR"; + static const char * const k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG"; + static const char * const k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB"; + static const char * const k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA"; + static const char * const k_pch_Camera_BoundsStrength_Int32 = "cameraBoundsStrength"; + static const char * const k_pch_Camera_RoomViewStyle_Int32 = "roomViewStyle"; + + //----------------------------------------------------------------------------- + // audio keys + static const char * const k_pch_audio_Section = "audio"; + static const char * const k_pch_audio_SetOsDefaultPlaybackDevice_Bool = "setOsDefaultPlaybackDevice"; + static const char * const k_pch_audio_EnablePlaybackDeviceOverride_Bool = "enablePlaybackDeviceOverride"; + static const char * const k_pch_audio_PlaybackDeviceOverride_String = "playbackDeviceOverride"; + static const char * const k_pch_audio_PlaybackDeviceOverrideName_String = "playbackDeviceOverrideName"; + static const char * const k_pch_audio_SetOsDefaultRecordingDevice_Bool = "setOsDefaultRecordingDevice"; + static const char * const k_pch_audio_EnableRecordingDeviceOverride_Bool = "enableRecordingDeviceOverride"; + static const char * const k_pch_audio_RecordingDeviceOverride_String = "recordingDeviceOverride"; + static const char * const k_pch_audio_RecordingDeviceOverrideName_String = "recordingDeviceOverrideName"; + static const char * const k_pch_audio_EnablePlaybackMirror_Bool = "enablePlaybackMirror"; + static const char * const k_pch_audio_PlaybackMirrorDevice_String = "playbackMirrorDevice"; + static const char * const k_pch_audio_PlaybackMirrorDeviceName_String = "playbackMirrorDeviceName"; + static const char * const k_pch_audio_OldPlaybackMirrorDevice_String = "onPlaybackMirrorDevice"; + static const char * const k_pch_audio_ActiveMirrorDevice_String = "activePlaybackMirrorDevice"; + static const char * const k_pch_audio_EnablePlaybackMirrorIndependentVolume_Bool = "enablePlaybackMirrorIndependentVolume"; + static const char * const k_pch_audio_LastHmdPlaybackDeviceId_String = "lastHmdPlaybackDeviceId"; + static const char * const k_pch_audio_VIVEHDMIGain = "viveHDMIGain"; + static const char * const k_pch_audio_DualSpeakerAndJackOutput_Bool = "dualSpeakerAndJackOutput"; + static const char * const k_pch_audio_MuteMicMonitor_Bool = "muteMicMonitor"; + + //----------------------------------------------------------------------------- + // power management keys + static const char * const k_pch_Power_Section = "power"; + static const char * const k_pch_Power_PowerOffOnExit_Bool = "powerOffOnExit"; + static const char * const k_pch_Power_TurnOffScreensTimeout_Float = "turnOffScreensTimeout"; + static const char * const k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout"; + static const char * const k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout"; + static const char * const k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress"; + static const char * const k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby"; + + //----------------------------------------------------------------------------- + // dashboard keys + static const char * const k_pch_Dashboard_Section = "dashboard"; + static const char * const k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard"; + static const char * const k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode"; + static const char * const k_pch_Dashboard_Position = "position"; + static const char * const k_pch_Dashboard_DesktopScale = "desktopScale"; + static const char * const k_pch_Dashboard_DashboardScale = "dashboardScale"; + static const char * const k_pch_Dashboard_UseStandaloneSystemLayer = "standaloneSystemLayer"; + static const char * const k_pch_Dashboard_StickyDashboard = "stickyDashboard"; + static const char * const k_pch_Dashboard_AllowSteamOverlays_Bool = "allowSteamOverlays"; + static const char * const k_pch_Dashboard_AllowVRGamepadUI_Bool = "allowVRGamepadUI"; + static const char * const k_pch_Dashboard_AllowVRGamepadUIViaGamescope_Bool = "allowVRGamepadUIViaGamescope"; + static const char * const k_pch_Dashboard_SteamMatchesHMDFramerate = "steamMatchesHMDFramerate"; + + //----------------------------------------------------------------------------- + // model skin keys + static const char * const k_pch_modelskin_Section = "modelskins"; + + //----------------------------------------------------------------------------- + // driver keys - These could be checked in any driver_ section + static const char * const k_pch_Driver_Enable_Bool = "enable"; + static const char * const k_pch_Driver_BlockedBySafemode_Bool = "blocked_by_safe_mode"; + static const char * const k_pch_Driver_LoadPriority_Int32 = "loadPriority"; + + //----------------------------------------------------------------------------- + // web interface keys + static const char* const k_pch_WebInterface_Section = "WebInterface"; + + //----------------------------------------------------------------------------- + // vrwebhelper keys + static const char* const k_pch_VRWebHelper_Section = "VRWebHelper"; + static const char* const k_pch_VRWebHelper_DebuggerEnabled_Bool = "DebuggerEnabled"; + static const char* const k_pch_VRWebHelper_DebuggerPort_Int32 = "DebuggerPort"; + + //----------------------------------------------------------------------------- + // tracking overrides - keys are device paths, values are the device paths their + // tracking/pose information overrides + static const char* const k_pch_TrackingOverride_Section = "TrackingOverrides"; + + //----------------------------------------------------------------------------- + // per-app keys - the section name for these is the app key itself. Some of these are prefixed by the controller type + static const char* const k_pch_App_BindingAutosaveURLSuffix_String = "AutosaveURL"; + static const char* const k_pch_App_BindingLegacyAPISuffix_String = "_legacy"; + static const char *const k_pch_App_BindingSteamVRInputAPISuffix_String = "_steamvrinput"; + static const char *const k_pch_App_BindingOpenXRAPISuffix_String = "_openxr"; + static const char* const k_pch_App_BindingCurrentURLSuffix_String = "CurrentURL"; + static const char* const k_pch_App_BindingPreviousURLSuffix_String = "PreviousURL"; + static const char* const k_pch_App_NeedToUpdateAutosaveSuffix_Bool = "NeedToUpdateAutosave"; + static const char* const k_pch_App_DominantHand_Int32 = "DominantHand"; + static const char* const k_pch_App_BlockOculusSDK_Bool = "blockOculusSDK"; + + //----------------------------------------------------------------------------- + // configuration for trackers + static const char * const k_pch_Trackers_Section = "trackers"; + + //----------------------------------------------------------------------------- + // configuration for desktop UI windows + static const char * const k_pch_DesktopUI_Section = "DesktopUI"; + + //----------------------------------------------------------------------------- + // Last known keys for righting recovery + static const char * const k_pch_LastKnown_Section = "LastKnown"; + static const char* const k_pch_LastKnown_HMDManufacturer_String = "HMDManufacturer"; + static const char *const k_pch_LastKnown_HMDModel_String = "HMDModel"; + static const char* const k_pch_LastKnown_ActualHMDDriver_String = "ActualHMDDriver"; + + //----------------------------------------------------------------------------- + // Dismissed warnings + static const char * const k_pch_DismissedWarnings_Section = "DismissedWarnings"; + + //----------------------------------------------------------------------------- + // Input Settings + static const char * const k_pch_Input_Section = "input"; + static const char* const k_pch_Input_LeftThumbstickRotation_Float = "leftThumbstickRotation"; + static const char* const k_pch_Input_RightThumbstickRotation_Float = "rightThumbstickRotation"; + static const char* const k_pch_Input_ThumbstickDeadzone_Float = "thumbstickDeadzone"; + + //----------------------------------------------------------------------------- + // Log of GPU performance + static const char * const k_pch_GpuSpeed_Section = "GpuSpeed"; + +} // namespace vr + +// ivrchaperone.h + +namespace vr +{ + +#pragma pack( push, 8 ) + +enum ChaperoneCalibrationState +{ + // OK! + ChaperoneCalibrationState_OK = 1, // Chaperone is fully calibrated and working correctly + + // Warnings + ChaperoneCalibrationState_Warning = 100, + ChaperoneCalibrationState_Warning_BaseStationMayHaveMoved = 101, // A base station thinks that it might have moved + ChaperoneCalibrationState_Warning_BaseStationRemoved = 102, // There are less base stations than when calibrated + ChaperoneCalibrationState_Warning_SeatedBoundsInvalid = 103, // Seated bounds haven't been calibrated for the current tracking center + + // Errors + ChaperoneCalibrationState_Error = 200, // The UniverseID is invalid + ChaperoneCalibrationState_Error_BaseStationUninitialized = 201, // Tracking center hasn't be calibrated for at least one of the base stations + ChaperoneCalibrationState_Error_BaseStationConflict = 202, // Tracking center is calibrated, but base stations disagree on the tracking space + ChaperoneCalibrationState_Error_PlayAreaInvalid = 203, // Play Area hasn't been calibrated for the current tracking center + ChaperoneCalibrationState_Error_CollisionBoundsInvalid = 204, // Collision Bounds haven't been calibrated for the current tracking center +}; + + +/** HIGH LEVEL TRACKING SPACE ASSUMPTIONS: +* 0,0,0 is the preferred standing area center. +* 0Y is the floor height. +* -Z is the preferred forward facing direction. */ +class IVRChaperone +{ +public: + + /** Get the current state of Chaperone calibration. This state can change at any time during a session due to physical base station changes. **/ + virtual ChaperoneCalibrationState GetCalibrationState() = 0; + + /** Returns the width and depth of the Play Area (formerly named Soft Bounds) in X and Z. + * Tracking space center (0,0,0) is the center of the Play Area. **/ + virtual bool GetPlayAreaSize( float *pSizeX, float *pSizeZ ) = 0; + + /** Returns a quad describing the Play Area (formerly named Soft Bounds). + * The corners form a rectangle. + * Corners are in counter-clockwise order, starting at the front-right. + * The positions are given relative to the standing origin. + * The center of the rectangle is the center of the user's calibrated play space, not necessarily the standing + * origin. + * The Play Area's forward direction goes from its center through the mid-point of a line drawn between the + * first and second corner. + * The quad lies on the XZ plane (height = 0y), with 2 sides parallel to the X-axis and two sides parallel + * to the Z-axis of the user's calibrated Play Area. **/ + virtual bool GetPlayAreaRect( HmdQuad_t *rect ) = 0; + + /** Reload Chaperone data from the .vrchap file on disk. */ + virtual void ReloadInfo( void ) = 0; + + /** Optionally give the chaperone system a hit about the color and brightness in the scene **/ + virtual void SetSceneColor( HmdColor_t color ) = 0; + + /** Get the current chaperone bounds draw color and brightness **/ + virtual void GetBoundsColor( HmdColor_t *pOutputColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, HmdColor_t *pOutputCameraColor ) = 0; + + /** Determine whether the bounds are showing right now **/ + virtual bool AreBoundsVisible() = 0; + + /** Force the bounds to show, mostly for utilities **/ + virtual void ForceBoundsVisible( bool bForce ) = 0; + + /** Sets the zero pose for the given tracker coordinate system to the current position and yaw of the HMD. After + * ResetZeroPose all GetDeviceToAbsoluteTrackingPose calls as the origin will be relative to this new zero pose. + * The new zero coordinate system will not change the fact that the Y axis is up in the real world, so the next + * pose returned from GetDeviceToAbsoluteTrackingPose after a call to ResetZeroPose may not be exactly an + * identity matrix. + * + * NOTE: This function overrides the user's previously saved zero pose and should only be called as the result of a user action. + * Users are also able to set their zero pose via the OpenVR Dashboard. + **/ + virtual void ResetZeroPose( ETrackingUniverseOrigin eTrackingUniverseOrigin ) = 0; +}; + +static const char * const IVRChaperone_Version = "IVRChaperone_004"; + +#pragma pack( pop ) + +} + +// ivrchaperonesetup.h + +namespace vr +{ + +enum EChaperoneConfigFile +{ + EChaperoneConfigFile_Live = 1, // The live chaperone config, used by most applications and games + EChaperoneConfigFile_Temp = 2, // The temporary chaperone config, used to live-preview collision bounds in room setup +}; + +enum EChaperoneImportFlags +{ + EChaperoneImport_BoundsOnly = 0x0001, +}; + +/** Manages the working copy of the chaperone info. By default this will be the same as the +* live copy. Any changes made with this interface will stay in the working copy until +* CommitWorkingCopy() is called, at which point the working copy and the live copy will be +* the same again. */ +class IVRChaperoneSetup +{ +public: + + /** Saves the current working copy to disk */ + virtual bool CommitWorkingCopy( EChaperoneConfigFile configFile ) = 0; + + /** Reverts the working copy to match the live chaperone calibration. + * To modify existing data this MUST be do WHILE getting a non-error ChaperoneCalibrationStatus. + * Only after this should you do gets and sets on the existing data. */ + virtual void RevertWorkingCopy() = 0; + + /** Returns the width and depth of the Play Area (formerly named Soft Bounds) in X and Z from the working copy. + * Tracking space center (0,0,0) is the center of the Play Area. */ + virtual bool GetWorkingPlayAreaSize( float *pSizeX, float *pSizeZ ) = 0; + + /** Returns the 4 corner positions of the Play Area (formerly named Soft Bounds) from the working copy. + * Corners are in clockwise order. + * Tracking space center (0,0,0) is the center of the Play Area. + * It's a rectangle. + * 2 sides are parallel to the X axis and 2 sides are parallel to the Z axis. + * Height of every corner is 0Y (on the floor). **/ + virtual bool GetWorkingPlayAreaRect( HmdQuad_t *rect ) = 0; + + /** Returns the number of Quads if the buffer points to null. Otherwise it returns Quads + * into the buffer up to the max specified from the working copy. */ + virtual bool GetWorkingCollisionBoundsInfo( VR_OUT_ARRAY_COUNT(punQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t* punQuadsCount ) = 0; + + /** Returns the number of Quads if the buffer points to null. Otherwise it returns Quads + * into the buffer up to the max specified. */ + virtual bool GetLiveCollisionBoundsInfo( VR_OUT_ARRAY_COUNT(punQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t* punQuadsCount ) = 0; + + /** Returns the preferred seated position from the working copy. */ + virtual bool GetWorkingSeatedZeroPoseToRawTrackingPose( HmdMatrix34_t *pmatSeatedZeroPoseToRawTrackingPose ) = 0; + + /** Returns the standing origin from the working copy. */ + virtual bool GetWorkingStandingZeroPoseToRawTrackingPose( HmdMatrix34_t *pmatStandingZeroPoseToRawTrackingPose ) = 0; + + /** Sets the Play Area in the working copy. */ + virtual void SetWorkingPlayAreaSize( float sizeX, float sizeZ ) = 0; + + /** Sets the Collision Bounds in the working copy. Note: ceiling height is ignored. */ + virtual void SetWorkingCollisionBoundsInfo( VR_ARRAY_COUNT(unQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t unQuadsCount ) = 0; + + /** Sets the Collision Bounds in the working copy. */ + virtual void SetWorkingPerimeter( VR_ARRAY_COUNT( unPointCount ) HmdVector2_t *pPointBuffer, uint32_t unPointCount ) = 0; + + /** Sets the preferred seated position in the working copy. */ + virtual void SetWorkingSeatedZeroPoseToRawTrackingPose( const HmdMatrix34_t *pMatSeatedZeroPoseToRawTrackingPose ) = 0; + + /** Sets the preferred standing position in the working copy. */ + virtual void SetWorkingStandingZeroPoseToRawTrackingPose( const HmdMatrix34_t *pMatStandingZeroPoseToRawTrackingPose ) = 0; + + /** Tear everything down and reload it from the file on disk */ + virtual void ReloadFromDisk( EChaperoneConfigFile configFile ) = 0; + + /** Returns the preferred seated position. */ + virtual bool GetLiveSeatedZeroPoseToRawTrackingPose( HmdMatrix34_t *pmatSeatedZeroPoseToRawTrackingPose ) = 0; + + virtual bool ExportLiveToBuffer( VR_OUT_STRING() char *pBuffer, uint32_t *pnBufferLength ) = 0; + virtual bool ImportFromBufferToWorking( const char *pBuffer, uint32_t nImportFlags ) = 0; + + /** Shows the chaperone data in the working set to preview in the compositor.*/ + virtual void ShowWorkingSetPreview() = 0; + + /** Hides the chaperone data in the working set to preview in the compositor (if it was visible).*/ + virtual void HideWorkingSetPreview() = 0; + + /** Fire an event that the tracking system can use to know room setup is about to begin. This lets the tracking + * system make any last minute adjustments that should be incorporated into the new setup. If the user is adjusting + * live in HMD using a tweak tool, keep in mind that calling this might cause the user to see the room jump. */ + virtual void RoomSetupStarting() = 0; +}; + +static const char * const IVRChaperoneSetup_Version = "IVRChaperoneSetup_006"; + + +} + +// ivrcompositor.h + +namespace vr +{ + +#pragma pack( push, 8 ) + +/** Errors that can occur with the VR compositor */ +enum EVRCompositorError +{ + VRCompositorError_None = 0, + VRCompositorError_RequestFailed = 1, + VRCompositorError_IncompatibleVersion = 100, + VRCompositorError_DoNotHaveFocus = 101, + VRCompositorError_InvalidTexture = 102, + VRCompositorError_IsNotSceneApplication = 103, + VRCompositorError_TextureIsOnWrongDevice = 104, + VRCompositorError_TextureUsesUnsupportedFormat = 105, + VRCompositorError_SharedTexturesNotSupported = 106, + VRCompositorError_IndexOutOfRange = 107, + VRCompositorError_AlreadySubmitted = 108, + VRCompositorError_InvalidBounds = 109, + VRCompositorError_AlreadySet = 110, +}; + +/** Timing mode passed to SetExplicitTimingMode(); see that function for documentation */ +enum EVRCompositorTimingMode +{ + VRCompositorTimingMode_Implicit = 0, + VRCompositorTimingMode_Explicit_RuntimePerformsPostPresentHandoff = 1, + VRCompositorTimingMode_Explicit_ApplicationPerformsPostPresentHandoff = 2, +}; + +/** Cumulative stats for current application. These are not cleared until a new app connects, +* but they do stop accumulating once the associated app disconnects. */ +struct Compositor_CumulativeStats +{ + uint32_t m_nPid; // Process id associated with these stats (may no longer be running). + uint32_t m_nNumFramePresents; // total number of times we called present (includes reprojected frames) + uint32_t m_nNumDroppedFrames; // total number of times an old frame was re-scanned out (without reprojection) + uint32_t m_nNumReprojectedFrames; // total number of times a frame was scanned out a second time (with reprojection) + + /** Values recorded at startup before application has fully faded in the first time. */ + uint32_t m_nNumFramePresentsOnStartup; + uint32_t m_nNumDroppedFramesOnStartup; + uint32_t m_nNumReprojectedFramesOnStartup; + + /** Applications may explicitly fade to the compositor. This is usually to handle level transitions, and loading often causes + * system wide hitches. The following stats are collected during this period. Does not include values recorded during startup. */ + uint32_t m_nNumLoading; + uint32_t m_nNumFramePresentsLoading; + uint32_t m_nNumDroppedFramesLoading; + uint32_t m_nNumReprojectedFramesLoading; + + /** If we don't get a new frame from the app in less than 2.5 frames, then we assume the app has hung and start + * fading back to the compositor. The following stats are a result of this, and are a subset of those recorded above. + * Does not include values recorded during start up or loading. */ + uint32_t m_nNumTimedOut; + uint32_t m_nNumFramePresentsTimedOut; + uint32_t m_nNumDroppedFramesTimedOut; + uint32_t m_nNumReprojectedFramesTimedOut; + + /** For items in this section, divide all the values by m_nNumFrameSubmits. */ + uint32_t m_nNumFrameSubmits; + vrshared_double m_flSumCompositorCPUTimeMS; + vrshared_double m_flSumCompositorGPUTimeMS; + vrshared_double m_flSumTargetFrameTimes; + vrshared_double m_flSumApplicationCPUTimeMS; + vrshared_double m_flSumApplicationGPUTimeMS; + + uint32_t m_nNumFramesWithDepth; // total frames submitted with depth by the current application +}; + +struct Compositor_StageRenderSettings +{ + /** Primary color is applied as a tint to (i.e. multiplied with) the model's texture */ + HmdColor_t m_PrimaryColor; + HmdColor_t m_SecondaryColor; + + /** Vignette radius is in meters and is used to fade to the specified secondary solid color over + * that 3D distance from the origin of the playspace. */ + float m_flVignetteInnerRadius; + float m_flVignetteOuterRadius; + + /** Fades to the secondary color based on view incidence. This variable controls the linearity + * of the effect. It is mutually exclusive with vignette. Additionally, it treats the mesh as faceted. */ + float m_flFresnelStrength; + + /** Controls backface culling. */ + bool m_bBackfaceCulling; + + /** Converts the render model's texture to luma and applies to rgb equally. This is useful to + * combat compression artifacts that can occur on desaturated source material. */ + bool m_bGreyscale; + + /** Renders mesh as a wireframe. */ + bool m_bWireframe; +}; + +static inline Compositor_StageRenderSettings DefaultStageRenderSettings() +{ + Compositor_StageRenderSettings settings; + settings.m_PrimaryColor.r = 1.0f; + settings.m_PrimaryColor.g = 1.0f; + settings.m_PrimaryColor.b = 1.0f; + settings.m_PrimaryColor.a = 1.0f; + settings.m_SecondaryColor.r = 1.0f; + settings.m_SecondaryColor.g = 1.0f; + settings.m_SecondaryColor.b = 1.0f; + settings.m_SecondaryColor.a = 1.0f; + settings.m_flVignetteInnerRadius = 0.0f; + settings.m_flVignetteOuterRadius = 0.0f; + settings.m_flFresnelStrength = 0.0f; + settings.m_bBackfaceCulling = false; + settings.m_bGreyscale = false; + settings.m_bWireframe = false; + return settings; +} + +#pragma pack( pop ) + +/** Allows the application to interact with the compositor */ +class IVRCompositor +{ +public: + /** Sets tracking space returned by WaitGetPoses */ + virtual void SetTrackingSpace( ETrackingUniverseOrigin eOrigin ) = 0; + + /** Gets current tracking space returned by WaitGetPoses */ + virtual ETrackingUniverseOrigin GetTrackingSpace() = 0; + + /** Scene applications should call this function to get poses to render with (and optionally poses predicted an additional frame out to use for gameplay). + * This function will block until "running start" milliseconds before the start of the frame, and should be called at the last moment before needing to + * start rendering. + * + * Return codes: + * - IsNotSceneApplication (make sure to call VR_Init with VRApplicaiton_Scene) + * - DoNotHaveFocus (some other app has taken focus - this will throttle the call to 10hz to reduce the impact on that app) + */ + virtual EVRCompositorError WaitGetPoses( VR_ARRAY_COUNT( unRenderPoseArrayCount ) TrackedDevicePose_t* pRenderPoseArray, uint32_t unRenderPoseArrayCount, + VR_ARRAY_COUNT( unGamePoseArrayCount ) TrackedDevicePose_t* pGamePoseArray, uint32_t unGamePoseArrayCount ) = 0; + + /** Get the last set of poses returned by WaitGetPoses. */ + virtual EVRCompositorError GetLastPoses( VR_ARRAY_COUNT( unRenderPoseArrayCount ) TrackedDevicePose_t* pRenderPoseArray, uint32_t unRenderPoseArrayCount, + VR_ARRAY_COUNT( unGamePoseArrayCount ) TrackedDevicePose_t* pGamePoseArray, uint32_t unGamePoseArrayCount ) = 0; + + /** Interface for accessing last set of poses returned by WaitGetPoses one at a time. + * Returns VRCompositorError_IndexOutOfRange if unDeviceIndex not less than k_unMaxTrackedDeviceCount otherwise VRCompositorError_None. + * It is okay to pass NULL for either pose if you only want one of the values. */ + virtual EVRCompositorError GetLastPoseForTrackedDeviceIndex( TrackedDeviceIndex_t unDeviceIndex, TrackedDevicePose_t *pOutputPose, TrackedDevicePose_t *pOutputGamePose ) = 0; + + /** Updated scene texture to display. If pBounds is NULL the entire texture will be used. If called from an OpenGL app, consider adding a glFlush after + * Submitting both frames to signal the driver to start processing, otherwise it may wait until the command buffer fills up, causing the app to miss frames. + * + * OpenGL dirty state: + * glBindTexture + * + * Return codes: + * - IsNotSceneApplication (make sure to call VR_Init with VRApplicaiton_Scene) + * - DoNotHaveFocus (some other app has taken focus) + * - TextureIsOnWrongDevice (application did not use proper AdapterIndex - see IVRSystem.GetDXGIOutputInfo) + * - SharedTexturesNotSupported (application needs to call CreateDXGIFactory1 or later before creating DX device) + * - TextureUsesUnsupportedFormat (scene textures must be compatible with DXGI sharing rules - e.g. uncompressed, no mips, etc.) + * - InvalidTexture (usually means bad arguments passed in) + * - AlreadySubmitted (app has submitted two left textures or two right textures in a single frame - i.e. before calling WaitGetPoses again) + */ + virtual EVRCompositorError Submit( EVREye eEye, const Texture_t *pTexture, const VRTextureBounds_t* pBounds = 0, EVRSubmitFlags nSubmitFlags = Submit_Default ) = 0; + virtual EVRCompositorError SubmitWithArrayIndex( EVREye eEye, const Texture_t *pTexture, uint32_t unTextureArrayIndex, + const VRTextureBounds_t *pBounds = 0, EVRSubmitFlags nSubmitFlags = Submit_Default ) = 0; + + /** Clears the frame that was sent with the last call to Submit. This will cause the + * compositor to show the grid until Submit is called again. */ + virtual void ClearLastSubmittedFrame() = 0; + + /** Call immediately after presenting your app's window (i.e. companion window) to unblock the compositor. + * This is an optional call, which only needs to be used if you can't instead call WaitGetPoses immediately after Present. + * For example, if your engine's render and game loop are not on separate threads, or blocking the render thread until 3ms before the next vsync would + * introduce a deadlock of some sort. This function tells the compositor that you have finished all rendering after having Submitted buffers for both + * eyes, and it is free to start its rendering work. This should only be called from the same thread you are rendering on. */ + virtual void PostPresentHandoff() = 0; + + /** Returns true if timing data is filled it. Sets oldest timing info if nFramesAgo is larger than the stored history. + * Be sure to set timing.size = sizeof(Compositor_FrameTiming) on struct passed in before calling this function. */ + virtual bool GetFrameTiming( Compositor_FrameTiming *pTiming, uint32_t unFramesAgo = 0 ) = 0; + + /** Interface for copying a range of timing data. Frames are returned in ascending order (oldest to newest) with the last being the most recent frame. + * Only the first entry's m_nSize needs to be set, as the rest will be inferred from that. Returns total number of entries filled out. */ + virtual uint32_t GetFrameTimings( VR_ARRAY_COUNT( nFrames ) Compositor_FrameTiming *pTiming, uint32_t nFrames ) = 0; + + /** Returns the time in seconds left in the current (as identified by FrameTiming's frameIndex) frame. + * Due to "running start", this value may roll over to the next frame before ever reaching 0.0. */ + virtual float GetFrameTimeRemaining() = 0; + + /** Fills out stats accumulated for the last connected application. Pass in sizeof( Compositor_CumulativeStats ) as second parameter. */ + virtual void GetCumulativeStats( Compositor_CumulativeStats *pStats, uint32_t nStatsSizeInBytes ) = 0; + + /** Fades the view on the HMD to the specified color. The fade will take fSeconds, and the color values are between + * 0.0 and 1.0. This color is faded on top of the scene based on the alpha parameter. Removing the fade color instantly + * would be FadeToColor( 0.0, 0.0, 0.0, 0.0, 0.0 ). Values are in un-premultiplied alpha space. */ + virtual void FadeToColor( float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, bool bBackground = false ) = 0; + + /** Get current fade color value. */ + virtual HmdColor_t GetCurrentFadeColor( bool bBackground = false ) = 0; + + /** Fading the Grid in or out in fSeconds */ + virtual void FadeGrid( float fSeconds, bool bFadeGridIn ) = 0; + + /** Get current alpha value of grid. */ + virtual float GetCurrentGridAlpha() = 0; + + /** Override the skybox used in the compositor (e.g. for during level loads when the app can't feed scene images fast enough) + * Order is Front, Back, Left, Right, Top, Bottom. If only a single texture is passed, it is assumed in lat-long format. + * If two are passed, it is assumed a lat-long stereo pair. */ + virtual EVRCompositorError SetSkyboxOverride( VR_ARRAY_COUNT( unTextureCount ) const Texture_t *pTextures, uint32_t unTextureCount ) = 0; + + /** Resets compositor skybox back to defaults. */ + virtual void ClearSkyboxOverride() = 0; + + /** Brings the compositor window to the front. This is useful for covering any other window that may be on the HMD + * and is obscuring the compositor window. */ + virtual void CompositorBringToFront() = 0; + + /** Pushes the compositor window to the back. This is useful for allowing other applications to draw directly to the HMD. */ + virtual void CompositorGoToBack() = 0; + + /** DEPRECATED: Tells the compositor process to clean up and exit. You do not need to call this function at shutdown. + * Under normal circumstances the compositor will manage its own life cycle based on what applications are running. */ + virtual void CompositorQuit() = 0; + + /** Return whether the compositor is fullscreen */ + virtual bool IsFullscreen() = 0; + + /** Returns the process ID of the process that is currently rendering the scene */ + virtual uint32_t GetCurrentSceneFocusProcess() = 0; + + /** Returns the process ID of the process that rendered the last frame (or 0 if the compositor itself rendered the frame.) + * Returns 0 when fading out from an app and the app's process Id when fading into an app. */ + virtual uint32_t GetLastFrameRenderer() = 0; + + /** Returns true if the current process has the scene focus */ + virtual bool CanRenderScene() = 0; + + /** DEPRECATED: Opens the headset view (as either a window or docked widget depending on user's preferences) that displays what the user + * sees in the headset. */ + virtual void ShowMirrorWindow() = 0; + + /** DEPRECATED: Closes the headset view, either as a window or docked widget. */ + virtual void HideMirrorWindow() = 0; + + /** DEPRECATED: Returns true if the headset view (either as a window or docked widget) is shown. */ + virtual bool IsMirrorWindowVisible() = 0; + + /** Writes back buffer and stereo left/right pair from the application to a 'screenshots' folder in the SteamVR runtime root. */ + virtual void CompositorDumpImages() = 0; + + /** Let an app know it should be rendering with low resources. */ + virtual bool ShouldAppRenderWithLowResources() = 0; + + /** Override interleaved reprojection logic to force on. */ + virtual void ForceInterleavedReprojectionOn( bool bOverride ) = 0; + + /** Force reconnecting to the compositor process. */ + virtual void ForceReconnectProcess() = 0; + + /** Temporarily suspends rendering (useful for finer control over scene transitions). */ + virtual void SuspendRendering( bool bSuspend ) = 0; + + /** Opens a shared D3D11 texture with the undistorted composited image for each eye. Use ReleaseMirrorTextureD3D11 when finished + * instead of calling Release on the resource itself. */ + virtual vr::EVRCompositorError GetMirrorTextureD3D11( vr::EVREye eEye, void *pD3D11DeviceOrResource, void **ppD3D11ShaderResourceView ) = 0; + virtual void ReleaseMirrorTextureD3D11( void *pD3D11ShaderResourceView ) = 0; + + /** Access to mirror textures from OpenGL. */ + virtual vr::EVRCompositorError GetMirrorTextureGL( vr::EVREye eEye, vr::glUInt_t *pglTextureId, vr::glSharedTextureHandle_t *pglSharedTextureHandle ) = 0; + virtual bool ReleaseSharedGLTexture( vr::glUInt_t glTextureId, vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0; + virtual void LockGLSharedTextureForAccess( vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0; + virtual void UnlockGLSharedTextureForAccess( vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0; + + /** [Vulkan Only] + * return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing + * null. The string will be a space separated list of-required instance extensions to enable in VkCreateInstance */ + virtual uint32_t GetVulkanInstanceExtensionsRequired( VR_OUT_STRING() char *pchValue, uint32_t unBufferSize ) = 0; + + /** [Vulkan only] + * return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing + * null. The string will be a space separated list of required device extensions to enable in VkCreateDevice */ + virtual uint32_t GetVulkanDeviceExtensionsRequired( VkPhysicalDevice_T *pPhysicalDevice, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize ) = 0; + + /** [ Vulkan/D3D12 Only ] + * There are two purposes for SetExplicitTimingMode: + * 1. To get a more accurate GPU timestamp for when the frame begins in Vulkan/D3D12 applications. + * 2. (Optional) To avoid having WaitGetPoses access the Vulkan queue so that the queue can be accessed from + * another thread while WaitGetPoses is executing. + * + * More accurate GPU timestamp for the start of the frame is achieved by the application calling + * SubmitExplicitTimingData immediately before its first submission to the Vulkan/D3D12 queue. + * This is more accurate because normally this GPU timestamp is recorded during WaitGetPoses. In D3D11, + * WaitGetPoses queues a GPU timestamp write, but it does not actually get submitted to the GPU until the + * application flushes. By using SubmitExplicitTimingData, the timestamp is recorded at the same place for + * Vulkan/D3D12 as it is for D3D11, resulting in a more accurate GPU time measurement for the frame. + * + * Avoiding WaitGetPoses accessing the Vulkan queue can be achieved using SetExplicitTimingMode as well. If this is desired, + * the application should set the timing mode to Explicit_ApplicationPerformsPostPresentHandoff and *MUST* call PostPresentHandoff + * itself. If these conditions are met, then WaitGetPoses is guaranteed not to access the queue. Note that PostPresentHandoff + * and SubmitExplicitTimingData will access the queue, so only WaitGetPoses becomes safe for accessing the queue from another + * thread. */ + virtual void SetExplicitTimingMode( EVRCompositorTimingMode eTimingMode ) = 0; + + /** [ Vulkan/D3D12 Only ] + * Submit explicit timing data. When SetExplicitTimingMode is true, this must be called immediately before + * the application's first vkQueueSubmit (Vulkan) or ID3D12CommandQueue::ExecuteCommandLists (D3D12) of each frame. + * This function will insert a GPU timestamp write just before the application starts its rendering. This function + * will perform a vkQueueSubmit on Vulkan so must not be done simultaneously with VkQueue operations on another thread. + * Returns VRCompositorError_RequestFailed if SetExplicitTimingMode is not enabled. */ + virtual EVRCompositorError SubmitExplicitTimingData() = 0; + + /** Indicates whether or not motion smoothing is enabled by the user settings. + * If you want to know if motion smoothing actually triggered due to a late frame, check Compositor_FrameTiming + * m_nReprojectionFlags & VRCompositor_ReprojectionMotion instead. */ + virtual bool IsMotionSmoothingEnabled() = 0; + + /** Indicates whether or not motion smoothing is supported by the current hardware. */ + virtual bool IsMotionSmoothingSupported() = 0; + + /** Indicates whether or not the current scene focus app is currently loading. This is inferred from its use of FadeGrid to + * explicitly fade to the compositor to cover up the fact that it cannot render at a sustained full framerate during this time. */ + virtual bool IsCurrentSceneFocusAppLoading() = 0; + + /** Override the stage model used in the compositor to replace the grid. RenderModelPath is a full path the an OBJ file to load. + * This file will be loaded asynchronously from disk and uploaded to the gpu by the runtime. Once ready for rendering, the + * VREvent StageOverrideReady will be sent. Use FadeToGrid to reveal. Call ClearStageOverride to free the associated resources when finished. */ + virtual EVRCompositorError SetStageOverride_Async( const char *pchRenderModelPath, const HmdMatrix34_t *pTransform = 0, + const Compositor_StageRenderSettings *pRenderSettings = 0, uint32_t nSizeOfRenderSettings = 0 ) = 0; + + /** Resets the stage to its default user specified setting. */ + virtual void ClearStageOverride() = 0; + + /** Returns true if pBenchmarkResults is filled it. Sets pBenchmarkResults with the result of the compositor benchmark. + * nSizeOfBenchmarkResults should be set to sizeof(Compositor_BenchmarkResults) */ + virtual bool GetCompositorBenchmarkResults( Compositor_BenchmarkResults *pBenchmarkResults, uint32_t nSizeOfBenchmarkResults ) = 0; + + /** Returns the frame id associated with the poses last returned by WaitGetPoses. Deltas between IDs correspond to number of headset vsync intervals. */ + virtual EVRCompositorError GetLastPosePredictionIDs( uint32_t *pRenderPosePredictionID, uint32_t *pGamePosePredictionID ) = 0; + + /** Get the most up-to-date predicted (or recorded - up to 100ms old) set of poses for a given frame id. */ + virtual EVRCompositorError GetPosesForFrame( uint32_t unPosePredictionID, VR_ARRAY_COUNT( unPoseArrayCount ) TrackedDevicePose_t* pPoseArray, uint32_t unPoseArrayCount ) = 0; +}; + +static const char * const IVRCompositor_Version = "IVRCompositor_028"; + +} // namespace vr + + + +// ivrheadsetview.h + +namespace vr +{ + enum HeadsetViewMode_t + { + HeadsetViewMode_Left = 0, + HeadsetViewMode_Right, + HeadsetViewMode_Both + }; + + class IVRHeadsetView + { + public: + /** Sets the resolution in pixels to render the headset view. These values are clamped to k_unHeadsetViewMaxWidth + * and k_unHeadsetViewMaxHeight respectively. For cropped views, the rendered output will be fit to aspect ratio + * defined by the the specified dimensions. For uncropped views, the caller should use GetHeadsetViewAspectRation + * to adjust the requested render size to avoid squashing or stretching, and then apply letterboxing to compensate + * when displaying the results. */ + virtual void SetHeadsetViewSize( uint32_t nWidth, uint32_t nHeight ) = 0; + + /** Gets the current resolution used to render the headset view. */ + virtual void GetHeadsetViewSize( uint32_t *pnWidth, uint32_t *pnHeight ) = 0; + + /** Set the mode used to render the headset view. */ + virtual void SetHeadsetViewMode( HeadsetViewMode_t eHeadsetViewMode ) = 0; + + /** Get the current mode used to render the headset view. */ + virtual HeadsetViewMode_t GetHeadsetViewMode() = 0; + + /** Set whether or not the headset view should be rendered cropped to hide the hidden area mesh or not. */ + virtual void SetHeadsetViewCropped( bool bCropped ) = 0; + + /** Get the current cropping status of the headset view. */ + virtual bool GetHeadsetViewCropped() = 0; + + /** Get the aspect ratio (width:height) of the uncropped headset view (accounting for the current set mode). */ + virtual float GetHeadsetViewAspectRatio() = 0; + + /** Set the range [0..1] that the headset view blends across the stereo overlapped area in cropped both mode. */ + virtual void SetHeadsetViewBlendRange( float flStartPct, float flEndPct ) = 0; + + /** Get the current range [0..1] that the headset view blends across the stereo overlapped area in cropped both mode. */ + virtual void GetHeadsetViewBlendRange( float *pStartPct, float *pEndPct ) = 0; + }; + + static const uint32_t k_unHeadsetViewMaxWidth = 3840; + static const uint32_t k_unHeadsetViewMaxHeight = 2160; + static const char * const k_pchHeadsetViewOverlayKey = "system.HeadsetView"; + + static const char * const IVRHeadsetView_Version = "IVRHeadsetView_001"; + + /** Returns the current IVRHeadsetView pointer or NULL the interface could not be found. */ + VR_INTERFACE vr::IVRHeadsetView *VR_CALLTYPE VRHeadsetView(); + +} // namespace vr + + +// ivrnotifications.h + +namespace vr +{ + +#pragma pack( push, 8 ) + +// Used for passing graphic data +struct NotificationBitmap_t +{ + NotificationBitmap_t() + : m_pImageData( nullptr ) + , m_nWidth( 0 ) + , m_nHeight( 0 ) + , m_nBytesPerPixel( 0 ) + { + } + + void *m_pImageData; + int32_t m_nWidth; + int32_t m_nHeight; + int32_t m_nBytesPerPixel; +}; + + +/** Be aware that the notification type is used as 'priority' to pick the next notification */ +enum EVRNotificationType +{ + /** Transient notifications are automatically hidden after a period of time set by the user. + * They are used for things like information and chat messages that do not require user interaction. */ + EVRNotificationType_Transient = 0, + + /** Persistent notifications are shown to the user until they are hidden by calling RemoveNotification(). + * They are used for things like phone calls and alarms that require user interaction. */ + EVRNotificationType_Persistent = 1, + + /** System notifications are shown no matter what. It is expected, that the ulUserValue is used as ID. + * If there is already a system notification in the queue with that ID it is not accepted into the queue + * to prevent spamming with system notification */ + EVRNotificationType_Transient_SystemWithUserValue = 2, +}; + +enum EVRNotificationStyle +{ + /** Creates a notification with minimal external styling. */ + EVRNotificationStyle_None = 0, + + /** Used for notifications about overlay-level status. In Steam this is used for events like downloads completing. */ + EVRNotificationStyle_Application = 100, + + /** Used for notifications about contacts that are unknown or not available. In Steam this is used for friend invitations and offline friends. */ + EVRNotificationStyle_Contact_Disabled = 200, + + /** Used for notifications about contacts that are available but inactive. In Steam this is used for friends that are online but not playing a game. */ + EVRNotificationStyle_Contact_Enabled = 201, + + /** Used for notifications about contacts that are available and active. In Steam this is used for friends that are online and currently running a game. */ + EVRNotificationStyle_Contact_Active = 202, +}; + +static const uint32_t k_unNotificationTextMaxSize = 256; + +typedef uint32_t VRNotificationId; + + + +#pragma pack( pop ) + +/** Allows notification sources to interact with the VR system. */ +class IVRNotifications +{ +public: + /** Create a notification and enqueue it to be shown to the user. + * An overlay handle is required to create a notification, as otherwise it would be impossible for a user to act on it. + * To create a two-line notification, use a line break ('\n') to split the text into two lines. + * The pImage argument may be NULL, in which case the specified overlay's icon will be used instead. */ + virtual EVRNotificationError CreateNotification( VROverlayHandle_t ulOverlayHandle, uint64_t ulUserValue, EVRNotificationType type, const char *pchText, EVRNotificationStyle style, const NotificationBitmap_t *pImage, /* out */ VRNotificationId *pNotificationId ) = 0; + + /** Destroy a notification, hiding it first if it currently shown to the user. */ + virtual EVRNotificationError RemoveNotification( VRNotificationId notificationId ) = 0; + +}; + +static const char * const IVRNotifications_Version = "IVRNotifications_002"; + +} // namespace vr + + + +// ivroverlay.h + +namespace vr +{ + + /** The maximum length of an overlay key in bytes, counting the terminating null character. */ + static const uint32_t k_unVROverlayMaxKeyLength = 128; + + /** The maximum length of an overlay name in bytes, counting the terminating null character. */ + static const uint32_t k_unVROverlayMaxNameLength = 128; + + /** The maximum number of overlays that can exist in the system at one time. */ + static const uint32_t k_unMaxOverlayCount = 128; + + /** The maximum number of overlay intersection mask primitives per overlay */ + static const uint32_t k_unMaxOverlayIntersectionMaskPrimitivesCount = 32; + + /** Types of input supported by VR Overlays */ + enum VROverlayInputMethod + { + VROverlayInputMethod_None = 0, // No input events will be generated automatically for this overlay + VROverlayInputMethod_Mouse = 1, // Tracked controllers will get mouse events automatically + // VROverlayInputMethod_DualAnalog = 2, // No longer supported + }; + + /** Allows the caller to figure out which overlay transform getter to call. */ + enum VROverlayTransformType + { + VROverlayTransform_Invalid = -1, + VROverlayTransform_Absolute = 0, + VROverlayTransform_TrackedDeviceRelative = 1, + //VROverlayTransform_SystemOverlay = 2, // Deleted from the SDK. + VROverlayTransform_TrackedComponent = 3, + VROverlayTransform_Cursor = 4, + VROverlayTransform_DashboardTab = 5, + VROverlayTransform_DashboardThumb = 6, + VROverlayTransform_Mountable = 7, + VROverlayTransform_Projection = 8, + VROverlayTransform_Subview = 9, + }; + + /** Overlay control settings */ + enum VROverlayFlags + { + // Set this flag on a dashboard overlay to prevent a tab from showing up for that overlay + VROverlayFlags_NoDashboardTab = 1 << 3, + + // When this is set the overlay will receive VREvent_ScrollDiscrete events like a mouse wheel. + // Requires mouse input mode. + VROverlayFlags_SendVRDiscreteScrollEvents = 1 << 6, + + // Indicates that the overlay would like to receive + VROverlayFlags_SendVRTouchpadEvents = 1 << 7, + + // If set this will render a vertical scroll wheel on the primary controller, + // only needed if not using VROverlayFlags_SendVRScrollEvents but you still want to represent a scroll wheel + VROverlayFlags_ShowTouchPadScrollWheel = 1 << 8, + + // If this is set ownership and render access to the overlay are transferred + // to the new scene process on a call to IVRApplications::LaunchInternalProcess + VROverlayFlags_TransferOwnershipToInternalProcess = 1 << 9, + + // If set, renders 50% of the texture in each eye, side by side + VROverlayFlags_SideBySide_Parallel = 1 << 10, // Texture is left/right + VROverlayFlags_SideBySide_Crossed = 1 << 11, // Texture is crossed and right/left + + VROverlayFlags_Panorama = 1 << 12, // Texture is a panorama + VROverlayFlags_StereoPanorama = 1 << 13, // Texture is a stereo panorama + + // If this is set on an overlay owned by the scene application that overlay + // will be sorted with the "Other" overlays on top of all other scene overlays + VROverlayFlags_SortWithNonSceneOverlays = 1 << 14, + + // If set, the overlay will be shown in the dashboard, otherwise it will be hidden. + VROverlayFlags_VisibleInDashboard = 1 << 15, + + // If this is set and the overlay's input method is not none, the system-wide laser mouse + // mode will be activated whenever this overlay is visible. + VROverlayFlags_MakeOverlaysInteractiveIfVisible = 1 << 16, + + // If this is set the overlay will receive smooth VREvent_ScrollSmooth that emulate trackpad scrolling. + // Requires mouse input mode. + VROverlayFlags_SendVRSmoothScrollEvents = 1 << 17, + + // If this is set, the overlay texture will be protected content, preventing unauthorized reads. + VROverlayFlags_ProtectedContent = 1 << 18, + + // If this is set, the laser mouse splat will not be drawn over this overlay. The overlay will + // be responsible for drawing its own "cursor". + VROverlayFlags_HideLaserIntersection = 1 << 19, + + // If this is set, clicking away from the overlay will cause it to receive a VREvent_Modal_Cancel event. + // This is ignored for dashboard overlays. + VROverlayFlags_WantsModalBehavior = 1 << 20, + + // If this is set, alpha composition assumes the texture is pre-multiplied + VROverlayFlags_IsPremultiplied = 1 << 21, + + // If this is set, the alpha values of the overlay texture will be ignored + VROverlayFlags_IgnoreTextureAlpha = 1 << 22, + + // If this is set, this overlay will have a control bar drawn underneath of it in the dashboard. + VROverlayFlags_EnableControlBar = 1 << 23, + + // If this is set, the overlay control bar will provide a button to toggle the keyboard. + VROverlayFlags_EnableControlBarKeyboard = 1 << 24, + + // If this is set, the overlay control bar will provide a "close" button which will send a + // VREvent_OverlayClosed event to the overlay when pressed. Applications that use this flag are responsible + // for responding to the event with something that approximates "closing" behavior, such as destroying their + // overlay and/or shutting down their application. + VROverlayFlags_EnableControlBarClose = 1 << 25, + + // Do not use + VROverlayFlags_Reserved = 1 << 26, + + // If this is set, click stabilization will be applied to the laser interaction so that clicks more reliably + // trigger on the user's intended target + VROverlayFlags_EnableClickStabilization = 1 << 27, + + // If this is set, laser mouse pointer events may be sent for the secondary laser. These events will have + // cursorIndex set to 0 for the primary laser and 1 for the secondary. + VROverlayFlags_MultiCursor = 1 << 28, + }; + + enum VRMessageOverlayResponse + { + VRMessageOverlayResponse_ButtonPress_0 = 0, + VRMessageOverlayResponse_ButtonPress_1 = 1, + VRMessageOverlayResponse_ButtonPress_2 = 2, + VRMessageOverlayResponse_ButtonPress_3 = 3, + VRMessageOverlayResponse_CouldntFindSystemOverlay = 4, + VRMessageOverlayResponse_CouldntFindOrCreateClientOverlay= 5, + VRMessageOverlayResponse_ApplicationQuit = 6 + }; + + struct VROverlayIntersectionParams_t + { + HmdVector3_t vSource; + HmdVector3_t vDirection; + ETrackingUniverseOrigin eOrigin; + }; + + struct VROverlayIntersectionResults_t + { + HmdVector3_t vPoint; + HmdVector3_t vNormal; + HmdVector2_t vUVs; + float fDistance; + }; + + // Input modes for the Big Picture gamepad text entry + enum EGamepadTextInputMode + { + k_EGamepadTextInputModeNormal = 0, + k_EGamepadTextInputModePassword = 1, + k_EGamepadTextInputModeSubmit = 2, + }; + + // Controls number of allowed lines for the Big Picture gamepad text entry + enum EGamepadTextInputLineMode + { + k_EGamepadTextInputLineModeSingleLine = 0, + k_EGamepadTextInputLineModeMultipleLines = 1 + }; + + enum EVROverlayIntersectionMaskPrimitiveType + { + OverlayIntersectionPrimitiveType_Rectangle, + OverlayIntersectionPrimitiveType_Circle, + }; + + struct IntersectionMaskRectangle_t + { + float m_flTopLeftX; + float m_flTopLeftY; + float m_flWidth; + float m_flHeight; + }; + + struct IntersectionMaskCircle_t + { + float m_flCenterX; + float m_flCenterY; + float m_flRadius; + }; + + /** NOTE!!! If you change this you MUST manually update openvr_interop.cs.py and openvr_api_flat.h.py */ + typedef union + { + IntersectionMaskRectangle_t m_Rectangle; + IntersectionMaskCircle_t m_Circle; + } VROverlayIntersectionMaskPrimitive_Data_t; + + struct VROverlayIntersectionMaskPrimitive_t + { + EVROverlayIntersectionMaskPrimitiveType m_nPrimitiveType; + VROverlayIntersectionMaskPrimitive_Data_t m_Primitive; + }; + + enum EKeyboardFlags + { + /** Makes the keyboard send key events immediately instead of accumulating a buffer */ + KeyboardFlag_Minimal = 1 << 0, + /** Makes the keyboard take all focus and dismiss when clicking off the panel */ + KeyboardFlag_Modal = 1 << 1, + /** Shows arrow keys on the keyboard when in minimal mode. Buffered (non-minimal) mode always has them. In minimal + * mode, when arrow keys are pressed, they send ANSI escape sequences (e.g. "\x1b[D" for left arrow). */ + KeyboardFlag_ShowArrowKeys = 1 << 2, + /** Shows the hide keyboard button instead of a Done button. The Done key sends a VREvent_KeyboardDone when + * clicked. Hide only sends the Closed event. */ + KeyboardFlag_HideDoneKey = 1 << 3, + }; + + /** Defines the project used in an overlay that is using SetOverlayTransformProjection */ + struct VROverlayProjection_t + { + /** Tangent of the sides of the frustum */ + float fLeft; + float fRight; + float fTop; + float fBottom; + }; + + class IVROverlay + { + public: + + // --------------------------------------------- + // Overlay management methods + // --------------------------------------------- + + /** Finds an existing overlay with the specified key. */ + virtual EVROverlayError FindOverlay( const char *pchOverlayKey, VROverlayHandle_t * pOverlayHandle ) = 0; + + /** Creates a new named overlay. All overlays start hidden and with default settings. */ + virtual EVROverlayError CreateOverlay( const char *pchOverlayKey, const char *pchOverlayName, VROverlayHandle_t * pOverlayHandle ) = 0; + + /** Creates a Subview Overlay, which is a separate image that gets composited onto an existing parent overlay based on a 2D transform. + * Subview overlays may only be created for parent overlays of the same process. */ + virtual EVROverlayError CreateSubviewOverlay( VROverlayHandle_t parentOverlayHandle, const char *pchSubviewOverlayKey, const char *pchSubviewOverlayName, VROverlayHandle_t *pSubviewOverlayHandle ) = 0; + + /** Destroys the specified overlay. When an application calls VR_Shutdown all overlays created by that app are + * automatically destroyed. */ + virtual EVROverlayError DestroyOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Fills the provided buffer with the string key of the overlay. Returns the size of buffer required to store the key, including + * the terminating null character. k_unVROverlayMaxKeyLength will be enough bytes to fit the string. */ + virtual uint32_t GetOverlayKey( VROverlayHandle_t ulOverlayHandle, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, EVROverlayError *pError = 0L ) = 0; + + /** Fills the provided buffer with the friendly name of the overlay. Returns the size of buffer required to store the key, including + * the terminating null character. k_unVROverlayMaxNameLength will be enough bytes to fit the string. */ + virtual uint32_t GetOverlayName( VROverlayHandle_t ulOverlayHandle, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, EVROverlayError *pError = 0L ) = 0; + + /** set the name to use for this overlay */ + virtual EVROverlayError SetOverlayName( VROverlayHandle_t ulOverlayHandle, const char *pchName ) = 0; + + /** Gets the raw image data from an overlay. Overlay image data is always returned as RGBA data, 4 bytes per pixel. If the buffer is not large enough, width and height + * will be set and VROverlayError_ArrayTooSmall is returned. */ + virtual EVROverlayError GetOverlayImageData( VROverlayHandle_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight ) = 0; + + /** returns a string that corresponds with the specified overlay error. The string will be the name + * of the error enum value for all valid error codes */ + virtual const char *GetOverlayErrorNameFromEnum( EVROverlayError error ) = 0; + + // --------------------------------------------- + // Overlay rendering methods + // --------------------------------------------- + + /** Sets the pid that is allowed to render to this overlay (the creator pid is always allow to render), + * by default this is the pid of the process that made the overlay */ + virtual EVROverlayError SetOverlayRenderingPid( VROverlayHandle_t ulOverlayHandle, uint32_t unPID ) = 0; + + /** Gets the pid that is allowed to render to this overlay */ + virtual uint32_t GetOverlayRenderingPid( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Specify flag setting for a given overlay */ + virtual EVROverlayError SetOverlayFlag( VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled ) = 0; + + /** Sets flag setting for a given overlay */ + virtual EVROverlayError GetOverlayFlag( VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool *pbEnabled ) = 0; + + /** Gets all the flags for a given overlay */ + virtual EVROverlayError GetOverlayFlags( VROverlayHandle_t ulOverlayHandle, uint32_t *pFlags ) = 0; + + /** Sets the color tint of the overlay quad. Use 0.0 to 1.0 per channel. */ + virtual EVROverlayError SetOverlayColor( VROverlayHandle_t ulOverlayHandle, float fRed, float fGreen, float fBlue ) = 0; + + /** Gets the color tint of the overlay quad. */ + virtual EVROverlayError GetOverlayColor( VROverlayHandle_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue ) = 0; + + /** Sets the alpha of the overlay quad. Use 1.0 for 100 percent opacity to 0.0 for 0 percent opacity. */ + virtual EVROverlayError SetOverlayAlpha( VROverlayHandle_t ulOverlayHandle, float fAlpha ) = 0; + + /** Gets the alpha of the overlay quad. By default overlays are rendering at 100 percent alpha (1.0). */ + virtual EVROverlayError GetOverlayAlpha( VROverlayHandle_t ulOverlayHandle, float *pfAlpha ) = 0; + + /** Sets the aspect ratio of the texels in the overlay. 1.0 means the texels are square. 2.0 means the texels + * are twice as wide as they are tall. Defaults to 1.0. */ + virtual EVROverlayError SetOverlayTexelAspect( VROverlayHandle_t ulOverlayHandle, float fTexelAspect ) = 0; + + /** Gets the aspect ratio of the texels in the overlay. Defaults to 1.0 */ + virtual EVROverlayError GetOverlayTexelAspect( VROverlayHandle_t ulOverlayHandle, float *pfTexelAspect ) = 0; + + /** Sets the rendering sort order for the overlay. Overlays are rendered this order: + * Overlays owned by the scene application + * Overlays owned by some other application + * + * Within a category overlays are rendered lowest sort order to highest sort order. Overlays with the same + * sort order are rendered back to front base on distance from the HMD. + * + * Subview overlays are always drawn immediately on top of their parent overlay, and the sort order is + * only relative to their peer subviews for that overlay. + * + * Sort order defaults to 0. */ + virtual EVROverlayError SetOverlaySortOrder( VROverlayHandle_t ulOverlayHandle, uint32_t unSortOrder ) = 0; + + /** Gets the sort order of the overlay. See SetOverlaySortOrder for how this works. */ + virtual EVROverlayError GetOverlaySortOrder( VROverlayHandle_t ulOverlayHandle, uint32_t *punSortOrder ) = 0; + + /** Sets the width of the overlay quad in meters. By default overlays are rendered on a quad that is 1 meter across */ + virtual EVROverlayError SetOverlayWidthInMeters( VROverlayHandle_t ulOverlayHandle, float fWidthInMeters ) = 0; + + /** Returns the width of the overlay quad in meters. By default overlays are rendered on a quad that is 1 meter across */ + virtual EVROverlayError GetOverlayWidthInMeters( VROverlayHandle_t ulOverlayHandle, float *pfWidthInMeters ) = 0; + + /** Use to draw overlay as a curved surface. Curvature is a percentage from (0..1] where 1 is a fully closed cylinder. + * For a specific radius, curvature can be computed as: overlay.width / (2 PI r). */ + virtual EVROverlayError SetOverlayCurvature( VROverlayHandle_t ulOverlayHandle, float fCurvature ) = 0; + + /** Returns the curvature of the overlay as a percentage from (0..1] where 1 is a fully closed cylinder. */ + virtual EVROverlayError GetOverlayCurvature( VROverlayHandle_t ulOverlayHandle, float *pfCurvature ) = 0; + + /** Sets the pitch angle (in radians) of the overlay before curvature is applied -- to form a fan or disk. */ + virtual EVROverlayError SetOverlayPreCurvePitch( VROverlayHandle_t ulOverlayHandle, float fRadians ) = 0; + + /** Returns the overlay's set pre-curve pitch angle (in radians). */ + virtual EVROverlayError GetOverlayPreCurvePitch( VROverlayHandle_t ulOverlayHandle, float *pfRadians ) = 0; + + /** Sets the colorspace the overlay texture's data is in. Defaults to 'auto'. + * If the texture needs to be resolved, you should call SetOverlayTexture with the appropriate colorspace instead. */ + virtual EVROverlayError SetOverlayTextureColorSpace( VROverlayHandle_t ulOverlayHandle, EColorSpace eTextureColorSpace ) = 0; + + /** Gets the overlay's current colorspace setting. */ + virtual EVROverlayError GetOverlayTextureColorSpace( VROverlayHandle_t ulOverlayHandle, EColorSpace *peTextureColorSpace ) = 0; + + /** Sets the part of the texture to use for the overlay. UV Min is the upper left corner and UV Max is the lower right corner. */ + virtual EVROverlayError SetOverlayTextureBounds( VROverlayHandle_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds ) = 0; + + /** Gets the part of the texture to use for the overlay. UV Min is the upper left corner and UV Max is the lower right corner. */ + virtual EVROverlayError GetOverlayTextureBounds( VROverlayHandle_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds ) = 0; + + /** Returns the transform type of this overlay. */ + virtual EVROverlayError GetOverlayTransformType( VROverlayHandle_t ulOverlayHandle, VROverlayTransformType *peTransformType ) = 0; + + /** Sets the transform to absolute tracking origin. */ + virtual EVROverlayError SetOverlayTransformAbsolute( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform ) = 0; + + /** Gets the transform if it is absolute. Returns an error if the transform is some other type. */ + virtual EVROverlayError GetOverlayTransformAbsolute( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform ) = 0; + + /** Sets the transform to relative to the transform of the specified tracked device. */ + virtual EVROverlayError SetOverlayTransformTrackedDeviceRelative( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform ) = 0; + + /** Gets the transform if it is relative to a tracked device. Returns an error if the transform is some other type. */ + virtual EVROverlayError GetOverlayTransformTrackedDeviceRelative( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform ) = 0; + + /** Sets the transform to draw the overlay on a rendermodel component mesh instead of a quad. This will only draw when the system is + * drawing the device. Overlays with this transform type cannot receive mouse events. */ + virtual EVROverlayError SetOverlayTransformTrackedDeviceComponent( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unDeviceIndex, const char *pchComponentName ) = 0; + + /** Gets the transform information when the overlay is rendering on a component. */ + virtual EVROverlayError GetOverlayTransformTrackedDeviceComponent( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t *punDeviceIndex, VR_OUT_STRING() char *pchComponentName, uint32_t unComponentNameSize ) = 0; + + /** Sets the hotspot for the specified overlay when that overlay is used as a cursor. These are in texture space with 0,0 in the upper left corner of + * the texture and 1,1 in the lower right corner of the texture. */ + virtual EVROverlayError SetOverlayTransformCursor( VROverlayHandle_t ulCursorOverlayHandle, const HmdVector2_t *pvHotspot ) = 0; + + /** Gets cursor hotspot/transform for the specified overlay */ + virtual vr::EVROverlayError GetOverlayTransformCursor( VROverlayHandle_t ulOverlayHandle, HmdVector2_t *pvHotspot ) = 0; + + /** Sets the overlay as a projection overlay */ + virtual vr::EVROverlayError SetOverlayTransformProjection( VROverlayHandle_t ulOverlayHandle, + ETrackingUniverseOrigin eTrackingOrigin, const HmdMatrix34_t* pmatTrackingOriginToOverlayTransform, + const VROverlayProjection_t *pProjection, vr::EVREye eEye ) = 0; + + /** Positions a subview overlay to a position within the parent overlay, from the top-left corners of each overlay, in the pixel coordinate space of the parent standalone overlay. */ + virtual EVROverlayError SetSubviewPosition( VROverlayHandle_t ulOverlayHandle, float fX, float fY ) = 0; + + /** Shows the VR overlay. Not applicable for Dashboard Overlays. */ + virtual EVROverlayError ShowOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Hides the VR overlay. Not applicable for Dashboard Overlays. */ + virtual EVROverlayError HideOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Returns true if the overlay is currently visible, applicable for all overlay types except Dashboard Thumbnail overlays. VREvent_OverlayShown and VREvent_OverlayHidden reflect changes to this value. */ + virtual bool IsOverlayVisible( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Get the transform in 3d space associated with a specific 2d point in the overlay's coordinate space (where 0,0 is the lower left). -Z points out of the overlay */ + virtual EVROverlayError GetTransformForOverlayCoordinates( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform ) = 0; + + /** This function will block until the top of each frame, and can therefore be used to synchronize with the runtime's update rate. + * Note: In non-async mode, some signals may be dropped due to scene app performance, so passing a timeout of 1000/refresh rate + * may be useful depending on the overlay app's desired behavior. */ + virtual EVROverlayError WaitFrameSync( uint32_t nTimeoutMs ) = 0; + + // --------------------------------------------- + // Overlay input methods + // --------------------------------------------- + + /** Returns true and fills the event with the next event on the overlay's event queue, if there is one. + * If there are no events this method returns false. uncbVREvent should be the size in bytes of the VREvent_t struct */ + virtual bool PollNextOverlayEvent( VROverlayHandle_t ulOverlayHandle, VREvent_t *pEvent, uint32_t uncbVREvent ) = 0; + + /** Returns the current input settings for the specified overlay. */ + virtual EVROverlayError GetOverlayInputMethod( VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod *peInputMethod ) = 0; + + /** Sets the input settings for the specified overlay. */ + virtual EVROverlayError SetOverlayInputMethod( VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod eInputMethod ) = 0; + + /** Gets the mouse scaling factor that is used for mouse events. The actual texture may be a different size, but this is + * typically the size of the underlying UI in pixels. */ + virtual EVROverlayError GetOverlayMouseScale( VROverlayHandle_t ulOverlayHandle, HmdVector2_t *pvecMouseScale ) = 0; + + /** Sets the mouse scaling factor that is used for mouse events. The actual texture may be a different size, but this is + * typically the size of the underlying UI in pixels (not in world space). */ + virtual EVROverlayError SetOverlayMouseScale( VROverlayHandle_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale ) = 0; + + /** Computes the overlay-space pixel coordinates of where the ray intersects the overlay with the + * specified settings. Returns false if there is no intersection. */ + virtual bool ComputeOverlayIntersection( VROverlayHandle_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults ) = 0; + + /** Returns true if the specified overlay is the hover target. An overlay is the hover target when it is the last overlay "moused over" + * by the virtual mouse pointer */ + virtual bool IsHoverTargetOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Sets a list of primitives to be used for controller ray intersection + * typically the size of the underlying UI in pixels (not in world space). */ + virtual EVROverlayError SetOverlayIntersectionMask( VROverlayHandle_t ulOverlayHandle, VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize = sizeof( VROverlayIntersectionMaskPrimitive_t ) ) = 0; + + /** Triggers a haptic event on the laser mouse controller for the specified overlay */ + virtual EVROverlayError TriggerLaserMouseHapticVibration( VROverlayHandle_t ulOverlayHandle, float fDurationSeconds, float fFrequency, float fAmplitude ) = 0; + + /** Sets the cursor to use for the specified overlay. This will be drawn instead of the generic blob when the laser mouse is pointed at the specified overlay */ + virtual EVROverlayError SetOverlayCursor( VROverlayHandle_t ulOverlayHandle, VROverlayHandle_t ulCursorHandle ) = 0; + + /** Sets the override cursor position to use for this overlay in overlay mouse coordinates. This position will be used to draw the cursor + * instead of whatever the laser mouse cursor position is. */ + virtual EVROverlayError SetOverlayCursorPositionOverride( VROverlayHandle_t ulOverlayHandle, const HmdVector2_t *pvCursor ) = 0; + + /** Clears the override cursor position for this overlay */ + virtual EVROverlayError ClearOverlayCursorPositionOverride( VROverlayHandle_t ulOverlayHandle ) = 0; + + // --------------------------------------------- + // Overlay texture methods + // --------------------------------------------- + + /** Texture to draw for the overlay. This function can only be called by the overlay's creator or renderer process (see SetOverlayRenderingPid) . + * + * OpenGL dirty state: + * glBindTexture + */ + virtual EVROverlayError SetOverlayTexture( VROverlayHandle_t ulOverlayHandle, const Texture_t *pTexture ) = 0; + + /** Use this to tell the overlay system to release the texture set for this overlay. */ + virtual EVROverlayError ClearOverlayTexture( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Separate interface for providing the data as a stream of bytes, but there is an upper bound on data + * that can be sent. This function can only be called by the overlay's renderer process. */ + virtual EVROverlayError SetOverlayRaw( VROverlayHandle_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unBytesPerPixel ) = 0; + + /** Separate interface for providing the image through a filename: can be png or jpg, and should not be bigger than 1920x1080. + * This function can only be called by the overlay's renderer process */ + virtual EVROverlayError SetOverlayFromFile( VROverlayHandle_t ulOverlayHandle, const char *pchFilePath ) = 0; + + /** Get the native texture handle/device for an overlay you have created. + * On windows this handle will be a ID3D11ShaderResourceView with a ID3D11Texture2D bound. + * + * The texture will always be sized to match the backing texture you supplied in SetOverlayTexture above. + * + * You MUST call ReleaseNativeOverlayHandle() with pNativeTextureHandle once you are done with this texture. + * + * pNativeTextureHandle is an OUTPUT, it will be a pointer to a ID3D11ShaderResourceView *. + * pNativeTextureRef is an INPUT and should be a ID3D11Resource *. The device used by pNativeTextureRef will be used to bind pNativeTextureHandle. + */ + virtual EVROverlayError GetOverlayTexture( VROverlayHandle_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, ETextureType *pAPIType, EColorSpace *pColorSpace, VRTextureBounds_t *pTextureBounds ) = 0; + + /** Release the pNativeTextureHandle provided from the GetOverlayTexture call, this allows the system to free the underlying GPU resources for this object, + * so only do it once you stop rendering this texture. + */ + virtual EVROverlayError ReleaseNativeOverlayHandle( VROverlayHandle_t ulOverlayHandle, void *pNativeTextureHandle ) = 0; + + /** Get the size of the overlay texture */ + virtual EVROverlayError GetOverlayTextureSize( VROverlayHandle_t ulOverlayHandle, uint32_t *pWidth, uint32_t *pHeight ) = 0; + + // ---------------------------------------------- + // Dashboard Overlay Methods + // ---------------------------------------------- + + /** Creates a dashboard overlay and returns its handle */ + virtual EVROverlayError CreateDashboardOverlay( const char *pchOverlayKey, const char *pchOverlayFriendlyName, VROverlayHandle_t * pMainHandle, VROverlayHandle_t *pThumbnailHandle ) = 0; + + /** Returns true if the dashboard is visible */ + virtual bool IsDashboardVisible() = 0; + + /** returns true if the dashboard is visible and the specified overlay is the active system Overlay */ + virtual bool IsActiveDashboardOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Sets the dashboard overlay to only appear when the specified process ID has scene focus */ + virtual EVROverlayError SetDashboardOverlaySceneProcess( VROverlayHandle_t ulOverlayHandle, uint32_t unProcessId ) = 0; + + /** Gets the process ID that this dashboard overlay requires to have scene focus */ + virtual EVROverlayError GetDashboardOverlaySceneProcess( VROverlayHandle_t ulOverlayHandle, uint32_t *punProcessId ) = 0; + + /** Shows the dashboard. */ + virtual void ShowDashboard( const char *pchOverlayToShow ) = 0; + + /** Returns the tracked device index that has the laser pointer in the dashboard, or the last one that was used. */ + virtual vr::TrackedDeviceIndex_t GetPrimaryDashboardDevice() = 0; + + // --------------------------------------------- + // Keyboard methods + // --------------------------------------------- + + /** Show the virtual keyboard to accept input. In most cases, you should pass KeyboardFlag_Modal to enable modal overlay + * behavior on the keyboard itself. See EKeyboardFlags for more. */ + virtual EVROverlayError ShowKeyboard( EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, uint32_t unFlags, + const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, uint64_t uUserValue ) = 0; + + /** Show the virtual keyboard to accept input for an overlay. In most cases, you should pass KeyboardFlag_Modal to enable modal + * overlay behavior on the keyboard itself. See EKeyboardFlags for more. */ + virtual EVROverlayError ShowKeyboardForOverlay( VROverlayHandle_t ulOverlayHandle, EGamepadTextInputMode eInputMode, + EGamepadTextInputLineMode eLineInputMode, uint32_t unFlags, const char *pchDescription, uint32_t unCharMax, + const char *pchExistingText, uint64_t uUserValue ) = 0; + + /** Get the text that was entered into the text input **/ + virtual uint32_t GetKeyboardText( VR_OUT_STRING() char *pchText, uint32_t cchText ) = 0; + + /** Hide the virtual keyboard **/ + virtual void HideKeyboard() = 0; + + /** Set the position of the keyboard in world space **/ + virtual void SetKeyboardTransformAbsolute( ETrackingUniverseOrigin eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform ) = 0; + + /** Set the position of the keyboard in overlay space by telling it to avoid a rectangle in the overlay. Rectangle coords have (0,0) in the bottom left **/ + virtual void SetKeyboardPositionForOverlay( VROverlayHandle_t ulOverlayHandle, HmdRect2_t avoidRect ) = 0; + + // --------------------------------------------- + // Message box methods + // --------------------------------------------- + + /** Show the message overlay. This will block and return you a result. **/ + virtual VRMessageOverlayResponse ShowMessageOverlay( const char* pchText, const char* pchCaption, const char* pchButton0Text, const char* pchButton1Text = nullptr, const char* pchButton2Text = nullptr, const char* pchButton3Text = nullptr ) = 0; + + /** If the calling process owns the overlay and it's open, this will close it. **/ + virtual void CloseMessageOverlay() = 0; + }; + + static const char * const IVROverlay_Version = "IVROverlay_028"; + +} // namespace vr + +// ivroverlayview.h + +namespace vr +{ + struct VROverlayView_t + { + VROverlayHandle_t overlayHandle; + Texture_t texture; + VRTextureBounds_t textureBounds; + }; + + enum EDeviceType + { + DeviceType_Invalid = -1, // Invalid handle + DeviceType_DirectX11 = 0, // Handle is an ID3D11Device + DeviceType_Vulkan = 1, // Handle is a pointer to a VRVulkanDevice_t structure + }; + + struct VRVulkanDevice_t + { + VkInstance_T *m_pInstance; + VkDevice_T *m_pDevice; + VkPhysicalDevice_T *m_pPhysicalDevice; + VkQueue_T *m_pQueue; + uint32_t m_uQueueFamilyIndex; + }; + + struct VRNativeDevice_t + { + void *handle; // See EDeviceType definition above + EDeviceType eType; + }; + + class IVROverlayView + { + public: + /** Acquire an OverlayView_t from an overlay handle + * + * The overlay view can be used to sample the contents directly by a native API. The + * contents of the OverlayView_t will remain unchanged through the lifetime of the + * OverlayView_t. + * + * The caller acquires read privileges over the OverlayView_t, but should not + * write to it. + * + * AcquireOverlayView() may be called on the same ulOverlayHandle multiple times to + * refresh the image contents. In this case the caller is strongly encouraged to re-use + * the same pOverlayView for all re-acquisition calls. + * + * If the producer has not yet queued an image, AcquireOverlayView will return success, + * and the Texture_t will have the expected ETextureType. However, the Texture_t->handle + * will be nullptr. Once the producer generates the first overlay frame, Texture_t->handle + * will become a valid handle. + */ + virtual EVROverlayError AcquireOverlayView(VROverlayHandle_t ulOverlayHandle, VRNativeDevice_t *pNativeDevice, VROverlayView_t *pOverlayView, uint32_t unOverlayViewSize ) = 0; + + /** Release an acquired OverlayView_t + * + * Denotes that pOverlayView will no longer require access to the resources it acquired in + * all previous calls to AcquireOverlayView(). + * + * All OverlayView_t*'s provided to AcquireOverlayView() as pOverlayViews must be + * passed into ReleaseOverlayView() in order for the underlying GPU resources to be freed. + */ + virtual EVROverlayError ReleaseOverlayView(VROverlayView_t *pOverlayView) = 0; + + /** Posts an overlay event */ + virtual void PostOverlayEvent(VROverlayHandle_t ulOverlayHandle, const VREvent_t *pvrEvent) = 0; + + /** Determines whether this process is permitted to view an overlay's content. */ + virtual bool IsViewingPermitted( VROverlayHandle_t ulOverlayHandle ) = 0; + + }; + + static const char * const IVROverlayView_Version = "IVROverlayView_003"; + +} + +// ivrrendermodels.h + +namespace vr +{ + +static const char * const k_pch_Controller_Component_GDC2015 = "gdc2015"; // Canonical coordinate system of the gdc 2015 wired controller, provided for backwards compatibility +static const char * const k_pch_Controller_Component_Base = "base"; // For controllers with an unambiguous 'base'. +static const char * const k_pch_Controller_Component_Tip = "tip"; // OpenVR: For controllers with an unambiguous 'tip' (used for 'laser-pointing') +static const char * const k_pch_Controller_Component_OpenXR_Aim= "openxr_aim"; // OpenXR: For controllers with an unambiguous 'tip' (used for 'laser-pointing') +static const char * const k_pch_Controller_Component_HandGrip = "handgrip"; // OpenVR: Neutral, ambidextrous hand-pose when holding controller. On plane between neutrally posed index finger and thumb +static const char * const k_pch_Controller_Component_OpenXR_Grip = "openxr_grip"; // OpenXR: Neutral, ambidextrous hand-pose when holding controller. On plane between neutrally posed index finger and thumb +static const char * const k_pch_Controller_Component_OpenXR_HandModel = "openxr_handmodel"; // OpenXR: Pose that can be used to place hand models & visuals that aren't reliant on the physical shape of a controller +static const char * const k_pch_Controller_Component_Status = "status"; // 1:1 aspect ratio status area, with canonical [0,1] uv mapping + +#pragma pack( push, 8 ) + +/** Errors that can occur with the VR compositor */ +enum EVRRenderModelError +{ + VRRenderModelError_None = 0, + VRRenderModelError_Loading = 100, + VRRenderModelError_NotSupported = 200, + VRRenderModelError_InvalidArg = 300, + VRRenderModelError_InvalidModel = 301, + VRRenderModelError_NoShapes = 302, + VRRenderModelError_MultipleShapes = 303, + VRRenderModelError_TooManyVertices = 304, + VRRenderModelError_MultipleTextures = 305, + VRRenderModelError_BufferTooSmall = 306, + VRRenderModelError_NotEnoughNormals = 307, + VRRenderModelError_NotEnoughTexCoords = 308, + + VRRenderModelError_InvalidTexture = 400, +}; + +enum EVRRenderModelTextureFormat +{ + VRRenderModelTextureFormat_RGBA8_SRGB = 0, // RGBA with 8 bits per channel per pixel. Data size is width * height * 4ub + VRRenderModelTextureFormat_BC2, + VRRenderModelTextureFormat_BC4, + VRRenderModelTextureFormat_BC7, + VRRenderModelTextureFormat_BC7_SRGB, + VRRenderModelTextureFormat_RGBA16_FLOAT, +}; + +/** A single vertex in a render model */ +struct RenderModel_Vertex_t +{ + HmdVector3_t vPosition; // position in meters in device space + HmdVector3_t vNormal; + float rfTextureCoord[2]; +}; + +/** A texture map for use on a render model */ +#if defined(__linux__) || defined(__APPLE__) +// This structure was originally defined mis-packed on Linux, preserved for +// compatibility. +#pragma pack( push, 4 ) +#endif + +struct RenderModel_TextureMap_t +{ + uint16_t unWidth, unHeight; // width and height of the texture map in pixels + const uint8_t *rubTextureMapData; // Map texture data. + EVRRenderModelTextureFormat format; // Refer to EVRRenderModelTextureFormat + uint16_t unMipLevels; +}; +#if defined(__linux__) || defined(__APPLE__) +#pragma pack( pop ) +#endif + +/** Session unique texture identifier. Rendermodels which share the same texture will have the same id. +IDs <0 denote the texture is not present */ + +typedef int32_t TextureID_t; + +const TextureID_t INVALID_TEXTURE_ID = -1; + +#if defined(__linux__) || defined(__APPLE__) +// This structure was originally defined mis-packed on Linux, preserved for +// compatibility. +#pragma pack( push, 4 ) +#endif + +struct RenderModel_t +{ + const RenderModel_Vertex_t *rVertexData; // Vertex data for the mesh + uint32_t unVertexCount; // Number of vertices in the vertex data + const uint16_t *rIndexData; // Indices into the vertex data for each triangle + uint32_t unTriangleCount; // Number of triangles in the mesh. Index count is 3 * TriangleCount + TextureID_t diffuseTextureId; // Session unique texture identifier. Rendermodels which share the same texture will have the same id. <0 == texture not present +}; +#if defined(__linux__) || defined(__APPLE__) +#pragma pack( pop ) +#endif + + +struct RenderModel_ControllerMode_State_t +{ + bool bScrollWheelVisible; // is this controller currently set to be in a scroll wheel mode +}; + +#pragma pack( pop ) + +class IVRRenderModels +{ +public: + + /** Loads and returns a render model for use in the application. pchRenderModelName should be a render model name + * from the Prop_RenderModelName_String property or an absolute path name to a render model on disk. + * + * The resulting render model is valid until VR_Shutdown() is called or until FreeRenderModel() is called. When the + * application is finished with the render model it should call FreeRenderModel() to free the memory associated + * with the model. + * + * The method returns VRRenderModelError_Loading while the render model is still being loaded. + * The method returns VRRenderModelError_None once loaded successfully, otherwise will return an error. */ + virtual EVRRenderModelError LoadRenderModel_Async( const char *pchRenderModelName, RenderModel_t **ppRenderModel ) = 0; + + /** Frees a previously returned render model + * It is safe to call this on a null ptr. */ + virtual void FreeRenderModel( RenderModel_t *pRenderModel ) = 0; + + /** Loads and returns a texture for use in the application. */ + virtual EVRRenderModelError LoadTexture_Async( TextureID_t textureId, RenderModel_TextureMap_t **ppTexture ) = 0; + + /** Frees a previously returned texture + * It is safe to call this on a null ptr. */ + virtual void FreeTexture( RenderModel_TextureMap_t *pTexture ) = 0; + + /** Creates a D3D11 texture and loads data into it. */ + virtual EVRRenderModelError LoadTextureD3D11_Async( TextureID_t textureId, void *pD3D11Device, void **ppD3D11Texture2D ) = 0; + + /** Helper function to copy the bits into an existing texture. */ + virtual EVRRenderModelError LoadIntoTextureD3D11_Async( TextureID_t textureId, void *pDstTexture ) = 0; + + /** Use this to free textures created with LoadTextureD3D11_Async instead of calling Release on them. */ + virtual void FreeTextureD3D11( void *pD3D11Texture2D ) = 0; + + /** Use this to get the names of available render models. Index does not correlate to a tracked device index, but + * is only used for iterating over all available render models. If the index is out of range, this function will return 0. + * Otherwise, it will return the size of the buffer required for the name. */ + virtual uint32_t GetRenderModelName( uint32_t unRenderModelIndex, VR_OUT_STRING() char *pchRenderModelName, uint32_t unRenderModelNameLen ) = 0; + + /** Returns the number of available render models. */ + virtual uint32_t GetRenderModelCount() = 0; + + + /** Returns the number of components of the specified render model. + * Components are useful when client application wish to draw, label, or otherwise interact with components of tracked objects. + * Examples controller components: + * renderable things such as triggers, buttons + * non-renderable things which include coordinate systems such as 'tip', 'base', a neutral controller agnostic hand-pose + * If all controller components are enumerated and rendered, it will be equivalent to drawing the traditional render model + * Returns 0 if components not supported, >0 otherwise */ + virtual uint32_t GetComponentCount( const char *pchRenderModelName ) = 0; + + /** Use this to get the names of available components. Index does not correlate to a tracked device index, but + * is only used for iterating over all available components. If the index is out of range, this function will return 0. + * Otherwise, it will return the size of the buffer required for the name. */ + virtual uint32_t GetComponentName( const char *pchRenderModelName, uint32_t unComponentIndex, VR_OUT_STRING( ) char *pchComponentName, uint32_t unComponentNameLen ) = 0; + + /** Get the button mask for all buttons associated with this component + * If no buttons (or axes) are associated with this component, return 0 + * Note: multiple components may be associated with the same button. Ex: two grip buttons on a single controller. + * Note: A single component may be associated with multiple buttons. Ex: A trackpad which also provides "D-pad" functionality */ + virtual uint64_t GetComponentButtonMask( const char *pchRenderModelName, const char *pchComponentName ) = 0; + + /** Use this to get the render model name for the specified rendermode/component combination, to be passed to LoadRenderModel. + * If the component name is out of range, this function will return 0. + * Otherwise, it will return the size of the buffer required for the name. */ + virtual uint32_t GetComponentRenderModelName( const char *pchRenderModelName, const char *pchComponentName, VR_OUT_STRING( ) char *pchComponentRenderModelName, uint32_t unComponentRenderModelNameLen ) = 0; + + /** Use this to query information about the component, as a function of the controller state. + * + * For dynamic controller components (ex: trigger) values will reflect component motions + * For static components this will return a consistent value independent of the VRControllerState_t + * + * If the pchRenderModelName or pchComponentName is invalid, this will return false (and transforms will be set to identity). + * Otherwise, return true + * Note: For dynamic objects, visibility may be dynamic. (I.e., true/false will be returned based on controller state and controller mode state ) */ + virtual bool GetComponentStateForDevicePath( const char *pchRenderModelName, const char *pchComponentName, vr::VRInputValueHandle_t devicePath, const vr::RenderModel_ControllerMode_State_t *pState, vr::RenderModel_ComponentState_t *pComponentState ) = 0; + + /** This version of GetComponentState takes a controller state block instead of an action origin. This function is deprecated. You should use the new input system and GetComponentStateForDevicePath instead. */ + virtual bool GetComponentState( const char *pchRenderModelName, const char *pchComponentName, const vr::VRControllerState_t *pControllerState, const RenderModel_ControllerMode_State_t *pState, RenderModel_ComponentState_t *pComponentState ) = 0; + + /** Returns true if the render model has a component with the specified name */ + virtual bool RenderModelHasComponent( const char *pchRenderModelName, const char *pchComponentName ) = 0; + + /** Returns the URL of the thumbnail image for this rendermodel */ + virtual uint32_t GetRenderModelThumbnailURL( const char *pchRenderModelName, VR_OUT_STRING() char *pchThumbnailURL, uint32_t unThumbnailURLLen, vr::EVRRenderModelError *peError ) = 0; + + /** Provides a render model path that will load the unskinned model if the model name provided has been replace by the user. If the model + * hasn't been replaced the path value will still be a valid path to load the model. Pass this to LoadRenderModel_Async, etc. to load the + * model. */ + virtual uint32_t GetRenderModelOriginalPath( const char *pchRenderModelName, VR_OUT_STRING() char *pchOriginalPath, uint32_t unOriginalPathLen, vr::EVRRenderModelError *peError ) = 0; + + /** Returns a string for a render model error */ + virtual const char *GetRenderModelErrorNameFromEnum( vr::EVRRenderModelError error ) = 0; +}; + +static const char * const IVRRenderModels_Version = "IVRRenderModels_006"; + +} + + +// ivrextendeddisplay.h + +namespace vr +{ + + /** NOTE: Use of this interface is not recommended in production applications. It will not work for displays which use + * direct-to-display mode. Creating our own window is also incompatible with the VR compositor and is not available when the compositor is running. */ + class IVRExtendedDisplay + { + public: + + /** Size and position that the window needs to be on the VR display. */ + virtual void GetWindowBounds( int32_t *pnX, int32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; + + /** Gets the viewport in the frame buffer to draw the output of the distortion into */ + virtual void GetEyeOutputViewport( EVREye eEye, uint32_t *pnX, uint32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; + + /** [D3D10/11 Only] + * Returns the adapter index and output index that the user should pass into EnumAdapters and EnumOutputs + * to create the device and swap chain in DX10 and DX11. If an error occurs both indices will be set to -1. + */ + virtual void GetDXGIOutputInfo( int32_t *pnAdapterIndex, int32_t *pnAdapterOutputIndex ) = 0; + + }; + + static const char * const IVRExtendedDisplay_Version = "IVRExtendedDisplay_001"; + +} + + +// ivrtrackedcamera.h + +namespace vr +{ + +class IVRTrackedCamera +{ +public: + /** Returns a string for an error */ + virtual const char *GetCameraErrorNameFromEnum( vr::EVRTrackedCameraError eCameraError ) = 0; + + /** For convenience, same as tracked property request Prop_HasCamera_Bool */ + virtual vr::EVRTrackedCameraError HasCamera( vr::TrackedDeviceIndex_t nDeviceIndex, bool *pHasCamera ) = 0; + + /** Gets size of the image frame. */ + virtual vr::EVRTrackedCameraError GetCameraFrameSize( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, uint32_t *pnWidth, uint32_t *pnHeight, uint32_t *pnFrameBufferSize ) = 0; + + virtual vr::EVRTrackedCameraError GetCameraIntrinsics( vr::TrackedDeviceIndex_t nDeviceIndex, uint32_t nCameraIndex, vr::EVRTrackedCameraFrameType eFrameType, vr::HmdVector2_t *pFocalLength, vr::HmdVector2_t *pCenter ) = 0; + + virtual vr::EVRTrackedCameraError GetCameraProjection( vr::TrackedDeviceIndex_t nDeviceIndex, uint32_t nCameraIndex, vr::EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, vr::HmdMatrix44_t *pProjection ) = 0; + + /** Acquiring streaming service permits video streaming for the caller. Releasing hints the system that video services do not need to be maintained for this client. + * If the camera has not already been activated, a one time spin up may incur some auto exposure as well as initial streaming frame delays. + * The camera should be considered a global resource accessible for shared consumption but not exclusive to any caller. + * The camera may go inactive due to lack of active consumers or headset idleness. */ + virtual vr::EVRTrackedCameraError AcquireVideoStreamingService( vr::TrackedDeviceIndex_t nDeviceIndex, vr::TrackedCameraHandle_t *pHandle ) = 0; + virtual vr::EVRTrackedCameraError ReleaseVideoStreamingService( vr::TrackedCameraHandle_t hTrackedCamera ) = 0; + + /** Copies the image frame into a caller's provided buffer. The image data is currently provided as RGBA data, 4 bytes per pixel. + * A caller can provide null for the framebuffer or frameheader if not desired. Requesting the frame header first, followed by the frame buffer allows + * the caller to determine if the frame as advanced per the frame header sequence. + * If there is no frame available yet, due to initial camera spinup or re-activation, the error will be VRTrackedCameraError_NoFrameAvailable. + * Ideally a caller should be polling at ~16ms intervals */ + virtual vr::EVRTrackedCameraError GetVideoStreamFrameBuffer( vr::TrackedCameraHandle_t hTrackedCamera, vr::EVRTrackedCameraFrameType eFrameType, void *pFrameBuffer, uint32_t nFrameBufferSize, vr::CameraVideoStreamFrameHeader_t *pFrameHeader, uint32_t nFrameHeaderSize ) = 0; + + /** Gets size of the image frame. */ + virtual vr::EVRTrackedCameraError GetVideoStreamTextureSize( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, vr::VRTextureBounds_t *pTextureBounds, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; + + /** Access a shared D3D11 texture for the specified tracked camera stream. + * The camera frame type VRTrackedCameraFrameType_Undistorted is not supported directly as a shared texture. It is an interior subregion of the shared texture VRTrackedCameraFrameType_MaximumUndistorted. + * Instead, use GetVideoStreamTextureSize() with VRTrackedCameraFrameType_Undistorted to determine the proper interior subregion bounds along with GetVideoStreamTextureD3D11() with + * VRTrackedCameraFrameType_MaximumUndistorted to provide the texture. The VRTrackedCameraFrameType_MaximumUndistorted will yield an image where the invalid regions are decoded + * by the alpha channel having a zero component. The valid regions all have a non-zero alpha component. The subregion as described by VRTrackedCameraFrameType_Undistorted + * guarantees a rectangle where all pixels are valid. */ + virtual vr::EVRTrackedCameraError GetVideoStreamTextureD3D11( vr::TrackedCameraHandle_t hTrackedCamera, vr::EVRTrackedCameraFrameType eFrameType, void *pD3D11DeviceOrResource, void **ppD3D11ShaderResourceView, vr::CameraVideoStreamFrameHeader_t *pFrameHeader, uint32_t nFrameHeaderSize ) = 0; + + /** Access a shared GL texture for the specified tracked camera stream */ + virtual vr::EVRTrackedCameraError GetVideoStreamTextureGL( vr::TrackedCameraHandle_t hTrackedCamera, vr::EVRTrackedCameraFrameType eFrameType, vr::glUInt_t *pglTextureId, vr::CameraVideoStreamFrameHeader_t *pFrameHeader, uint32_t nFrameHeaderSize ) = 0; + virtual vr::EVRTrackedCameraError ReleaseVideoStreamTextureGL( vr::TrackedCameraHandle_t hTrackedCamera, vr::glUInt_t glTextureId ) = 0; + virtual void SetCameraTrackingSpace( vr::ETrackingUniverseOrigin eUniverse ) = 0; + virtual vr::ETrackingUniverseOrigin GetCameraTrackingSpace( ) = 0; +}; + +static const char * const IVRTrackedCamera_Version = "IVRTrackedCamera_006"; + +} // namespace vr + + +// ivrscreenshots.h + +namespace vr +{ + +/** Errors that can occur with the VR compositor */ +enum EVRScreenshotError +{ + VRScreenshotError_None = 0, + VRScreenshotError_RequestFailed = 1, + VRScreenshotError_IncompatibleVersion = 100, + VRScreenshotError_NotFound = 101, + VRScreenshotError_BufferTooSmall = 102, + VRScreenshotError_ScreenshotAlreadyInProgress = 108, +}; + +/** Allows the application to generate screenshots */ +class IVRScreenshots +{ +public: + /** Request a screenshot of the requested type. + * A request of the VRScreenshotType_Stereo type will always + * work. Other types will depend on the underlying application + * support. + * The first file name is for the preview image and should be a + * regular screenshot (ideally from the left eye). The second + * is the VR screenshot in the correct format. They should be + * in the same aspect ratio. Formats per type: + * VRScreenshotType_Mono: the VR filename is ignored (can be + * nullptr), this is a normal flat single shot. + * VRScreenshotType_Stereo: The VR image should be a + * side-by-side with the left eye image on the left. + * VRScreenshotType_Cubemap: The VR image should be six square + * images composited horizontally. + * VRScreenshotType_StereoPanorama: above/below with left eye + * panorama being the above image. Image is typically square + * with the panorama being 2x horizontal. + * + * Note that the VR dashboard will call this function when + * the user presses the screenshot binding (currently System + * Button + Trigger). If Steam is running, the destination + * file names will be in %TEMP% and will be copied into + * Steam's screenshot library for the running application + * once SubmitScreenshot() is called. + * If Steam is not running, the paths will be in the user's + * documents folder under Documents\SteamVR\Screenshots. + * Other VR applications can call this to initiate a + * screenshot outside of user control. + * The destination file names do not need an extension, + * will be replaced with the correct one for the format + * which is currently .png. */ + virtual vr::EVRScreenshotError RequestScreenshot( vr::ScreenshotHandle_t *pOutScreenshotHandle, vr::EVRScreenshotType type, const char *pchPreviewFilename, const char *pchVRFilename ) = 0; + + /** Called by the running VR application to indicate that it + * wishes to be in charge of screenshots. If the + * application does not call this, the Compositor will only + * support VRScreenshotType_Stereo screenshots that will be + * captured without notification to the running app. + * Once hooked your application will receive a + * VREvent_RequestScreenshot event when the user presses the + * buttons to take a screenshot. */ + virtual vr::EVRScreenshotError HookScreenshot( VR_ARRAY_COUNT( numTypes ) const vr::EVRScreenshotType *pSupportedTypes, int numTypes ) = 0; + + /** When your application receives a + * VREvent_RequestScreenshot event, call these functions to get + * the details of the screenshot request. */ + virtual vr::EVRScreenshotType GetScreenshotPropertyType( vr::ScreenshotHandle_t screenshotHandle, vr::EVRScreenshotError *pError ) = 0; + + /** Get the filename for the preview or vr image (see + * vr::EScreenshotPropertyFilenames). The return value is + * the size of the string. */ + virtual uint32_t GetScreenshotPropertyFilename( vr::ScreenshotHandle_t screenshotHandle, vr::EVRScreenshotPropertyFilenames filenameType, VR_OUT_STRING() char *pchFilename, uint32_t cchFilename, vr::EVRScreenshotError *pError ) = 0; + + /** Call this if the application is taking the screen shot + * will take more than a few ms processing. This will result + * in an overlay being presented that shows a completion + * bar. */ + virtual vr::EVRScreenshotError UpdateScreenshotProgress( vr::ScreenshotHandle_t screenshotHandle, float flProgress ) = 0; + + /** Tells the compositor to take an internal screenshot of + * type VRScreenshotType_Stereo. It will take the current + * submitted scene textures of the running application and + * write them into the preview image and a side-by-side file + * for the VR image. + * This is similar to request screenshot, but doesn't ever + * talk to the application, just takes the shot and submits. */ + virtual vr::EVRScreenshotError TakeStereoScreenshot( vr::ScreenshotHandle_t *pOutScreenshotHandle, const char *pchPreviewFilename, const char *pchVRFilename ) = 0; + + /** Submit the completed screenshot. If Steam is running + * this will call into the Steam client and upload the + * screenshot to the screenshots section of the library for + * the running application. If Steam is not running, this + * function will display a notification to the user that the + * screenshot was taken. The paths should be full paths with + * extensions. + * File paths should be absolute including extensions. + * screenshotHandle can be k_unScreenshotHandleInvalid if this + * was a new shot taking by the app to be saved and not + * initiated by a user (achievement earned or something) */ + virtual vr::EVRScreenshotError SubmitScreenshot( vr::ScreenshotHandle_t screenshotHandle, vr::EVRScreenshotType type, const char *pchSourcePreviewFilename, const char *pchSourceVRFilename ) = 0; +}; + +static const char * const IVRScreenshots_Version = "IVRScreenshots_001"; + +} // namespace vr + + + +// ivrresources.h + +namespace vr +{ + +class IVRResources +{ +public: + + // ------------------------------------ + // Shared Resource Methods + // ------------------------------------ + + /** Loads the specified resource into the provided buffer if large enough. + * Returns the size in bytes of the buffer required to hold the specified resource. */ + virtual uint32_t LoadSharedResource( const char *pchResourceName, char *pchBuffer, uint32_t unBufferLen ) = 0; + + /** Provides the full path to the specified resource. Resource names can include named directories for + * drivers and other things, and this resolves all of those and returns the actual physical path. + * pchResourceTypeDirectory is the subdirectory of resources to look in. */ + virtual uint32_t GetResourceFullPath( const char *pchResourceName, const char *pchResourceTypeDirectory, VR_OUT_STRING() char *pchPathBuffer, uint32_t unBufferLen ) = 0; +}; + +static const char * const IVRResources_Version = "IVRResources_001"; + + +} + +// ivrdrivermanager.h + +namespace vr +{ + +class IVRDriverManager +{ +public: + virtual uint32_t GetDriverCount() const = 0; + + /** Returns the length of the number of bytes necessary to hold this string including the trailing null. */ + virtual uint32_t GetDriverName( vr::DriverId_t nDriver, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize ) = 0; + + virtual DriverHandle_t GetDriverHandle( const char *pchDriverName ) = 0; + + virtual bool IsEnabled( vr::DriverId_t nDriver ) const = 0; +}; + +static const char * const IVRDriverManager_Version = "IVRDriverManager_001"; + +} // namespace vr + + + +// ivrinput.h + +namespace vr +{ + // Maximum number of characters in an action name, including the trailing null + static const uint32_t k_unMaxActionNameLength = 64; + + // Maximum number of characters in an action set name, including the trailing null + static const uint32_t k_unMaxActionSetNameLength = 64; + + // Maximum number of origins for an action + static const uint32_t k_unMaxActionOriginCount = 16; + + // Maximum number of characters in a bone name, including the trailing null + static const uint32_t k_unMaxBoneNameLength = 32; + + enum EVRSkeletalTransformSpace + { + VRSkeletalTransformSpace_Model = 0, + VRSkeletalTransformSpace_Parent = 1 + }; + + enum EVRSkeletalReferencePose + { + VRSkeletalReferencePose_BindPose = 0, + VRSkeletalReferencePose_OpenHand, + VRSkeletalReferencePose_Fist, + VRSkeletalReferencePose_GripLimit + }; + + enum EVRFinger + { + VRFinger_Thumb = 0, + VRFinger_Index, + VRFinger_Middle, + VRFinger_Ring, + VRFinger_Pinky, + VRFinger_Count + }; + + enum EVRFingerSplay + { + VRFingerSplay_Thumb_Index = 0, + VRFingerSplay_Index_Middle, + VRFingerSplay_Middle_Ring, + VRFingerSplay_Ring_Pinky, + VRFingerSplay_Count + }; + + enum EVRSummaryType + { + // The skeletal summary data will match the animated bone transforms for the action. + VRSummaryType_FromAnimation = 0, + + // The skeletal summary data will include unprocessed data directly from the device when available. + // This data is generally less latent than the data that is computed from the animations. + VRSummaryType_FromDevice = 1, + }; + + enum EVRInputFilterCancelType + { + VRInputFilterCancel_Timers = 0, + VRInputFilterCancel_Momentum = 1, + }; + + enum EVRInputStringBits + { + VRInputString_Hand = 0x01, + VRInputString_ControllerType = 0x02, + VRInputString_InputSource = 0x04, + + VRInputString_All = 0xFFFFFFFF + }; + + struct InputAnalogActionData_t + { + /** Whether or not this action is currently available to be bound in the active action set */ + bool bActive; + + /** The origin that caused this action's current state */ + VRInputValueHandle_t activeOrigin; + + /** The current state of this action; will be delta updates for mouse actions */ + float x, y, z; + + /** Deltas since the previous call to UpdateActionState() */ + float deltaX, deltaY, deltaZ; + + /** Time relative to now when this event happened. Will be negative to indicate a past time. */ + float fUpdateTime; + }; + + struct InputDigitalActionData_t + { + /** Whether or not this action is currently available to be bound in the active action set */ + bool bActive; + + /** The origin that caused this action's current state */ + VRInputValueHandle_t activeOrigin; + + /** The current state of this action; will be true if currently pressed */ + bool bState; + + /** This is true if the state has changed since the last frame */ + bool bChanged; + + /** Time relative to now when this event happened. Will be negative to indicate a past time. */ + float fUpdateTime; + }; + + struct InputPoseActionData_t + { + /** Whether or not this action is currently available to be bound in the active action set */ + bool bActive; + + /** The origin that caused this action's current state */ + VRInputValueHandle_t activeOrigin; + + /** The current state of this action */ + TrackedDevicePose_t pose; + }; + + struct InputSkeletalActionData_t + { + /** Whether or not this action is currently available to be bound in the active action set */ + bool bActive; + + /** The origin that caused this action's current state */ + VRInputValueHandle_t activeOrigin; + }; + + struct InputOriginInfo_t + { + VRInputValueHandle_t devicePath; + TrackedDeviceIndex_t trackedDeviceIndex; + char rchRenderModelComponentName[128]; + }; + + struct InputBindingInfo_t + { + char rchDevicePathName[128]; + char rchInputPathName[128]; + char rchModeName[128]; + char rchSlotName[128]; + char rchInputSourceType[ 32 ]; + }; + + // * Experimental global action set priority * + // These constants are part of the experimental support in SteamVR for overlay + // apps selectively overriding input in the base scene application. This may be + // useful for overlay applications that need to use part or all of a controller + // without taking away all input to the game. This system must be enabled by the + // "Experimental overlay input overrides" setting in the developer section of + // SteamVR settings. + // + // To use this system, set the nPriority field of an action set to any number in + // this range. + static const int32_t k_nActionSetOverlayGlobalPriorityMin = 0x01000000; + static const int32_t k_nActionSetOverlayGlobalPriorityMax = 0x01FFFFFF; + + static const int32_t k_nActionSetPriorityReservedMin = 0x02000000; + + struct VRActiveActionSet_t + { + /** This is the handle of the action set to activate for this frame. */ + VRActionSetHandle_t ulActionSet; + + /** This is the handle of a device path that this action set should be active for. To + * activate for all devices, set this to k_ulInvalidInputValueHandle. */ + VRInputValueHandle_t ulRestrictedToDevice; + + /** The action set to activate for all devices other than ulRestrictedDevice. If + * ulRestrictedToDevice is set to k_ulInvalidInputValueHandle, this parameter is + * ignored. */ + VRActionSetHandle_t ulSecondaryActionSet; + + // This field is ignored + uint32_t unPadding; + + /** The priority of this action set relative to other action sets. Any inputs + * bound to a source (e.g. trackpad, joystick, trigger) will disable bindings in + * other active action sets with a smaller priority. + * + * Overlay applications (i.e. ApplicationType_Overlay) may set their action set priority + * to a value between k_nActionSetOverlayGlobalPriorityMin and k_nActionSetOverlayGlobalPriorityMax + * to cause any inputs bound to a source used by that action set to be disabled in scene applications. + * + * No action set priority may value may be larger than k_nActionSetPriorityReservedMin + */ + int32_t nPriority; + }; + + /** Contains summary information about the current skeletal pose */ + struct VRSkeletalSummaryData_t + { + /** The amount that each finger is 'curled' inwards towards the palm. In the case of the thumb, + * this represents how much the thumb is wrapped around the fist. + * 0 means straight, 1 means fully curled */ + float flFingerCurl[ VRFinger_Count ]; + + /** The amount that each pair of adjacent fingers are separated. + * 0 means the digits are touching, 1 means they are fully separated. + */ + float flFingerSplay[ VRFingerSplay_Count ]; + }; + + + class IVRInput + { + public: + + // --------------- Handle management --------------- // + + /** Sets the path to the action manifest JSON file that is used by this application. If this information + * was set on the Steam partner site, calls to this function are ignored. If the Steam partner site + * setting and the path provided by this call are different, VRInputError_MismatchedActionManifest is returned. + * This call must be made before the first call to UpdateActionState or IVRSystem::PollNextEvent. */ + virtual EVRInputError SetActionManifestPath( const char *pchActionManifestPath ) = 0; + + /** Returns a handle for an action set. This handle is used for all performance-sensitive calls. */ + virtual EVRInputError GetActionSetHandle( const char *pchActionSetName, VRActionSetHandle_t *pHandle ) = 0; + + /** Returns a handle for an action. This handle is used for all performance-sensitive calls. */ + virtual EVRInputError GetActionHandle( const char *pchActionName, VRActionHandle_t *pHandle ) = 0; + + /** Returns a handle for any path in the input system. E.g. /user/hand/right */ + virtual EVRInputError GetInputSourceHandle( const char *pchInputSourcePath, VRInputValueHandle_t *pHandle ) = 0; + + + + // --------------- Reading action state ------------------- // + + /** Reads the current state into all actions. After this call, the results of Get*Action calls + * will be the same until the next call to UpdateActionState. */ + virtual EVRInputError UpdateActionState( VR_ARRAY_COUNT( unSetCount ) VRActiveActionSet_t *pSets, uint32_t unSizeOfVRSelectedActionSet_t, uint32_t unSetCount ) = 0; + + /** Reads the state of a digital action given its handle. This will return VRInputError_WrongType if the type of + * action is something other than digital */ + virtual EVRInputError GetDigitalActionData( VRActionHandle_t action, InputDigitalActionData_t *pActionData, uint32_t unActionDataSize, VRInputValueHandle_t ulRestrictToDevice ) = 0; + + /** Reads the state of an analog action given its handle. This will return VRInputError_WrongType if the type of + * action is something other than analog */ + virtual EVRInputError GetAnalogActionData( VRActionHandle_t action, InputAnalogActionData_t *pActionData, uint32_t unActionDataSize, VRInputValueHandle_t ulRestrictToDevice ) = 0; + + /** Reads the state of a pose action given its handle for the number of seconds relative to now. This + * will generally be called with negative times from the fUpdateTime fields in other actions. */ + virtual EVRInputError GetPoseActionDataRelativeToNow( VRActionHandle_t action, ETrackingUniverseOrigin eOrigin, float fPredictedSecondsFromNow, InputPoseActionData_t *pActionData, uint32_t unActionDataSize, VRInputValueHandle_t ulRestrictToDevice ) = 0; + + /** Reads the state of a pose action given its handle. The returned values will match the values returned + * by the last call to IVRCompositor::WaitGetPoses(). */ + virtual EVRInputError GetPoseActionDataForNextFrame( VRActionHandle_t action, ETrackingUniverseOrigin eOrigin, InputPoseActionData_t *pActionData, uint32_t unActionDataSize, VRInputValueHandle_t ulRestrictToDevice ) = 0; + + /** Reads the state of a skeletal action given its handle. */ + virtual EVRInputError GetSkeletalActionData( VRActionHandle_t action, InputSkeletalActionData_t *pActionData, uint32_t unActionDataSize ) = 0; + + /** Returns the current dominant hand for the user for this application. This function will only return success for applications + * which include "supports_dominant_hand_setting": true in their action manifests. The dominant hand will only change after + * a call to UpdateActionState, and the action data returned after that point will use the new dominant hand. */ + virtual EVRInputError GetDominantHand( ETrackedControllerRole *peDominantHand ) = 0; + + /** Sets the dominant hand for the user for this application. */ + virtual EVRInputError SetDominantHand( ETrackedControllerRole eDominantHand ) = 0; + + // --------------- Static Skeletal Data ------------------- // + + /** Reads the number of bones in skeleton associated with the given action */ + virtual EVRInputError GetBoneCount( VRActionHandle_t action, uint32_t* pBoneCount ) = 0; + + /** Fills the given array with the index of each bone's parent in the skeleton associated with the given action */ + virtual EVRInputError GetBoneHierarchy( VRActionHandle_t action, VR_ARRAY_COUNT( unIndexArayCount ) BoneIndex_t* pParentIndices, uint32_t unIndexArayCount ) = 0; + + /** Fills the given buffer with the name of the bone at the given index in the skeleton associated with the given action */ + virtual EVRInputError GetBoneName( VRActionHandle_t action, BoneIndex_t nBoneIndex, VR_OUT_STRING() char* pchBoneName, uint32_t unNameBufferSize ) = 0; + + /** Fills the given buffer with the transforms for a specific static skeletal reference pose */ + virtual EVRInputError GetSkeletalReferenceTransforms( VRActionHandle_t action, EVRSkeletalTransformSpace eTransformSpace, EVRSkeletalReferencePose eReferencePose, VR_ARRAY_COUNT( unTransformArrayCount ) VRBoneTransform_t *pTransformArray, uint32_t unTransformArrayCount ) = 0; + + /** Reads the level of accuracy to which the controller is able to track the user to recreate a skeletal pose */ + virtual EVRInputError GetSkeletalTrackingLevel( VRActionHandle_t action, EVRSkeletalTrackingLevel* pSkeletalTrackingLevel ) = 0; + + // --------------- Dynamic Skeletal Data ------------------- // + + /** Reads the state of the skeletal bone data associated with this action and copies it into the given buffer. */ + virtual EVRInputError GetSkeletalBoneData( VRActionHandle_t action, EVRSkeletalTransformSpace eTransformSpace, EVRSkeletalMotionRange eMotionRange, VR_ARRAY_COUNT( unTransformArrayCount ) VRBoneTransform_t *pTransformArray, uint32_t unTransformArrayCount ) = 0; + + /** Reads summary information about the current pose of the skeleton associated with the given action. */ + virtual EVRInputError GetSkeletalSummaryData( VRActionHandle_t action, EVRSummaryType eSummaryType, VRSkeletalSummaryData_t * pSkeletalSummaryData ) = 0; + + /** Reads the state of the skeletal bone data in a compressed form that is suitable for + * sending over the network. The required buffer size will never exceed ( sizeof(VR_BoneTransform_t)*boneCount + 2). + * Usually the size will be much smaller. */ + virtual EVRInputError GetSkeletalBoneDataCompressed( VRActionHandle_t action, EVRSkeletalMotionRange eMotionRange, VR_OUT_BUFFER_COUNT( unCompressedSize ) void *pvCompressedData, uint32_t unCompressedSize, uint32_t *punRequiredCompressedSize ) = 0; + + /** Turns a compressed buffer from GetSkeletalBoneDataCompressed and turns it back into a bone transform array. */ + virtual EVRInputError DecompressSkeletalBoneData( const void *pvCompressedBuffer, uint32_t unCompressedBufferSize, EVRSkeletalTransformSpace eTransformSpace, VR_ARRAY_COUNT( unTransformArrayCount ) VRBoneTransform_t *pTransformArray, uint32_t unTransformArrayCount ) = 0; + + // --------------- Haptics ------------------- // + + /** Triggers a haptic event as described by the specified action */ + virtual EVRInputError TriggerHapticVibrationAction( VRActionHandle_t action, float fStartSecondsFromNow, float fDurationSeconds, float fFrequency, float fAmplitude, VRInputValueHandle_t ulRestrictToDevice ) = 0; + + // --------------- Action Origins ---------------- // + + /** Retrieve origin handles for an action */ + virtual EVRInputError GetActionOrigins( VRActionSetHandle_t actionSetHandle, VRActionHandle_t digitalActionHandle, VR_ARRAY_COUNT( originOutCount ) VRInputValueHandle_t *originsOut, uint32_t originOutCount ) = 0; + + /** Retrieves the name of the origin in the current language. unStringSectionsToInclude is a bitfield of values in EVRInputStringBits that allows the + application to specify which parts of the origin's information it wants a string for. */ + virtual EVRInputError GetOriginLocalizedName( VRInputValueHandle_t origin, VR_OUT_STRING() char *pchNameArray, uint32_t unNameArraySize, int32_t unStringSectionsToInclude ) = 0; + + /** Retrieves useful information for the origin of this action */ + virtual EVRInputError GetOriginTrackedDeviceInfo( VRInputValueHandle_t origin, InputOriginInfo_t *pOriginInfo, uint32_t unOriginInfoSize ) = 0; + + /** Retrieves useful information about the bindings for an action */ + virtual EVRInputError GetActionBindingInfo( VRActionHandle_t action, VR_ARRAY_COUNT( unBindingInfoCount ) InputBindingInfo_t *pOriginInfo, uint32_t unBindingInfoSize, uint32_t unBindingInfoCount, uint32_t *punReturnedBindingInfoCount ) = 0; + + /** Shows the current binding for the action in-headset */ + virtual EVRInputError ShowActionOrigins( VRActionSetHandle_t actionSetHandle, VRActionHandle_t ulActionHandle ) = 0; + + /** Shows the current binding all the actions in the specified action sets */ + virtual EVRInputError ShowBindingsForActionSet( VR_ARRAY_COUNT( unSetCount ) VRActiveActionSet_t *pSets, uint32_t unSizeOfVRSelectedActionSet_t, uint32_t unSetCount, VRInputValueHandle_t originToHighlight ) = 0; + + /** Use this to query what action on the component returned by GetOriginTrackedDeviceInfo would trigger this binding. */ + virtual EVRInputError GetComponentStateForBinding( const char *pchRenderModelName, const char *pchComponentName, + const InputBindingInfo_t *pOriginInfo, uint32_t unBindingInfoSize, uint32_t unBindingInfoCount, + vr::RenderModel_ComponentState_t *pComponentState ) = 0; + + + // --------------- Legacy Input ------------------- // + virtual bool IsUsingLegacyInput() = 0; + + + // --------------- Utilities ------------------- // + + /** Opens the binding user interface. If no app key is provided it will use the key from the calling process. + * If no set is provided it will open to the root of the app binding page. */ + virtual EVRInputError OpenBindingUI( const char* pchAppKey, VRActionSetHandle_t ulActionSetHandle, VRInputValueHandle_t ulDeviceHandle, bool bShowOnDesktop ) = 0; + + /** Returns the variant set in the current bindings. If the binding doesn't include a variant setting, this function + * will return an empty string */ + virtual EVRInputError GetBindingVariant( vr::VRInputValueHandle_t ulDevicePath, + VR_OUT_STRING() char *pchVariantArray, uint32_t unVariantArraySize ) = 0; + + }; + + static const char * const IVRInput_Version = "IVRInput_010"; + +} // namespace vr + +// ivriobuffer.h + +namespace vr +{ + +typedef uint64_t IOBufferHandle_t; +static const uint64_t k_ulInvalidIOBufferHandle = 0; + + enum EIOBufferError + { + IOBuffer_Success = 0, + IOBuffer_OperationFailed = 100, + IOBuffer_InvalidHandle = 101, + IOBuffer_InvalidArgument = 102, + IOBuffer_PathExists = 103, + IOBuffer_PathDoesNotExist = 104, + IOBuffer_Permission = 105, + }; + + enum EIOBufferMode + { + IOBufferMode_Read = 0x0001, + IOBufferMode_Write = 0x0002, + IOBufferMode_Create = 0x0200, + }; + + // ---------------------------------------------------------------------------------------------- + // Purpose: + // ---------------------------------------------------------------------------------------------- + class IVRIOBuffer + { + public: + /** opens an existing or creates a new IOBuffer of unSize bytes */ + virtual vr::EIOBufferError Open( const char *pchPath, vr::EIOBufferMode mode, uint32_t unElementSize, uint32_t unElements, vr::IOBufferHandle_t *pulBuffer ) = 0; + + /** closes a previously opened or created buffer */ + virtual vr::EIOBufferError Close( vr::IOBufferHandle_t ulBuffer ) = 0; + + /** reads up to unBytes from buffer into *pDst, returning number of bytes read in *punRead */ + virtual vr::EIOBufferError Read( vr::IOBufferHandle_t ulBuffer, void *pDst, uint32_t unBytes, uint32_t *punRead ) = 0; + + /** writes unBytes of data from *pSrc into a buffer. */ + virtual vr::EIOBufferError Write( vr::IOBufferHandle_t ulBuffer, void *pSrc, uint32_t unBytes ) = 0; + + /** retrieves the property container of an buffer. */ + virtual vr::PropertyContainerHandle_t PropertyContainer( vr::IOBufferHandle_t ulBuffer ) = 0; + + /** inexpensively checks for readers to allow writers to fast-fail potentially expensive copies and writes. */ + virtual bool HasReaders( vr::IOBufferHandle_t ulBuffer ) = 0; + }; + + static const char * const IVRIOBuffer_Version = "IVRIOBuffer_002"; +} + +// ivrspatialanchors.h + +namespace vr +{ + static const SpatialAnchorHandle_t k_ulInvalidSpatialAnchorHandle = 0; + + struct SpatialAnchorPose_t + { + HmdMatrix34_t mAnchorToAbsoluteTracking; + }; + + class IVRSpatialAnchors + { + public: + + /** Returns a handle for an spatial anchor described by "descriptor". On success, pHandle + * will contain a handle valid for this session. Caller can wait for an event or occasionally + * poll GetSpatialAnchorPose() to find the virtual coordinate associated with this anchor. */ + virtual EVRSpatialAnchorError CreateSpatialAnchorFromDescriptor( const char *pchDescriptor, SpatialAnchorHandle_t *pHandleOut ) = 0; + + /** Returns a handle for an new spatial anchor at pPose. On success, pHandle + * will contain a handle valid for this session. Caller can wait for an event or occasionally + * poll GetSpatialAnchorDescriptor() to find the permanent descriptor for this pose. + * The result of GetSpatialAnchorPose() may evolve from this initial position if the driver chooses + * to update it. + * The anchor will be associated with the driver that provides unDeviceIndex, and the driver may use that specific + * device as a hint for how to best create the anchor. + * The eOrigin must match whatever tracking origin you are working in (seated/standing/raw). + * This should be called when the user is close to (and ideally looking at/interacting with) the target physical + * location. At that moment, the driver will have the most information about how to recover that physical point + * in the future, and the quality of the anchor (when the descriptor is re-used) will be highest. + * The caller may decide to apply offsets from this initial pose, but is advised to stay relatively close to the + * original pose location for highest fidelity. */ + virtual EVRSpatialAnchorError CreateSpatialAnchorFromPose( TrackedDeviceIndex_t unDeviceIndex, ETrackingUniverseOrigin eOrigin, SpatialAnchorPose_t *pPose, SpatialAnchorHandle_t *pHandleOut ) = 0; + + /** Get the pose for a given handle. This is intended to be cheap enough to call every frame (or fairly often) + * so that the driver can refine this position when it has more information available. */ + virtual EVRSpatialAnchorError GetSpatialAnchorPose( SpatialAnchorHandle_t unHandle, ETrackingUniverseOrigin eOrigin, SpatialAnchorPose_t *pPoseOut ) = 0; + + /** Get the descriptor for a given handle. This will be empty for handles where the driver has not + * yet built a descriptor. It will be the application-supplied descriptor for previously saved anchors + * that the application is requesting poses for. If the driver has called UpdateSpatialAnchorDescriptor() + * already in this session, it will be the descriptor provided by the driver. + * Returns true if the descriptor fits into the buffer, else false. Buffer size should be at least + * k_unMaxSpatialAnchorDescriptorSize. */ + virtual EVRSpatialAnchorError GetSpatialAnchorDescriptor( SpatialAnchorHandle_t unHandle, VR_OUT_STRING() char *pchDescriptorOut, uint32_t *punDescriptorBufferLenInOut ) = 0; + + }; + + static const char * const IVRSpatialAnchors_Version = "IVRSpatialAnchors_001"; + +} // namespace vr + +// ivrdebug.h + +namespace vr +{ + enum EVRDebugError + { + VRDebugError_Success = 0, + VRDebugError_BadParameter + }; + + /** Handle for vr profiler events */ + typedef uint64_t VrProfilerEventHandle_t; + + class IVRDebug + { + public: + + /** Create a vr profiler discrete event (point) + * The event will be associated with the message provided in pchMessage, and the current + * time will be used as the event timestamp. */ + virtual EVRDebugError EmitVrProfilerEvent( const char *pchMessage ) = 0; + + /** Create an vr profiler duration event (line) + * The current time will be used as the timestamp for the start of the line. + * On success, pHandleOut will contain a handle valid for terminating this event. */ + virtual EVRDebugError BeginVrProfilerEvent( VrProfilerEventHandle_t *pHandleOut ) = 0; + + /** Terminate a vr profiler event + * The event associated with hHandle will be considered completed when this method is called. + * The current time will be used assocaited to the termination time of the event, and + * pchMessage will be used as the event title. */ + virtual EVRDebugError FinishVrProfilerEvent( VrProfilerEventHandle_t hHandle, const char *pchMessage ) = 0; + + /** Sends a request to the driver for the specified device and returns the response. The maximum response size is 32k, + * but this method can be called with a smaller buffer. If the response exceeds the size of the buffer, it is truncated. + * The size of the response including its terminating null is returned. */ + virtual uint32_t DriverDebugRequest( vr::TrackedDeviceIndex_t unDeviceIndex, const char *pchRequest, VR_OUT_STRING() char *pchResponseBuffer, uint32_t unResponseBufferSize ) = 0; + + }; + + static const char * const IVRDebug_Version = "IVRDebug_001"; + +} // namespace vr + +// ivripcresourcemanagerclient.h + +namespace vr +{ + +// ----------------------------------------------------------------------------- +// Purpose: Interact with the IPCResourceManager +// ----------------------------------------------------------------------------- +class IVRIPCResourceManagerClient +{ +public: + /** Create a new tracked Vulkan Image + * + * nImageFormat: in VkFormat + */ + virtual bool NewSharedVulkanImage( uint32_t nImageFormat, uint32_t nWidth, uint32_t nHeight, bool bRenderable, bool bMappable, bool bComputeAccess, uint32_t unMipLevels, uint32_t unArrayLayerCount, vr::SharedTextureHandle_t *pSharedHandle ) = 0; + + /** Create a new tracked Vulkan Buffer */ + virtual bool NewSharedVulkanBuffer( uint32_t nSize, uint32_t nUsageFlags, vr::SharedTextureHandle_t *pSharedHandle ) = 0; + + /** Create a new tracked Vulkan Semaphore */ + virtual bool NewSharedVulkanSemaphore( vr::SharedTextureHandle_t *pSharedHandle ) = 0; + + /** Grab a reference to hSharedHandle, and optionally generate a new IPC handle if pNewIpcHandle is not nullptr */ + virtual bool RefResource( vr::SharedTextureHandle_t hSharedHandle, uint64_t *pNewIpcHandle ) = 0; + + /** Drop a reference to hSharedHandle */ + virtual bool UnrefResource( vr::SharedTextureHandle_t hSharedHandle ) = 0; + + /* Get all the DRM formats we support using DMA-BUF images for. + * + * pOutFormatCount and pOutFormats function like Vulkan: + * - If pOutFormats is NULL, then pOutFormatCount will be overwritten with the format count. + * - If pOutFormats is not NULL, then pOutFormatCount specifies the size of the pOutFormats array, + * and will be overwritten with the number of formats written to the array. + * + * If the function fails, false is returned, and pOutFormatCount will be 0. + * Supported on Linux only. + */ + virtual bool GetDmabufFormats( uint32_t *pOutFormatCount, uint32_t *pOutFormats ) = 0; + + /** Get dmabuf modifiers we are allowed to use. + * + * pOutModifierCount and pOutModifiers function like Vulkan: + * - If pOutModifiers is NULL, then pOutModifierCount will be overwritten with the modifier count. + * - If pOutModifiers is not NULL, then pOutModifierCount specifies the size of the pOutModifiers array, + * and will be overwritten with the number of modifiers written to the array. + * + * If modifiers are not supported, a single DRM_FORMAT_MOD_INVALID entry will be returned. + * + * If the function fails, false is returned, and pOutModifierCount will be 0. + * Supported on Linux only. + */ + virtual bool GetDmabufModifiers( vr::EVRApplicationType eApplicationType, uint32_t unDRMFormat, uint32_t *pOutModifierCount, uint64_t *pOutModifiers ) = 0; + + /** Import a dmabuf directly. + * Note: the FD you pass in will be dup'ed, so you must close it yourself. + * This function does NOT take ownership of the fd you pass in. + * Supported on Linux only. + */ + virtual bool ImportDmabuf( vr::EVRApplicationType eApplicationType, vr::DmabufAttributes_t *pDmabufAttributes, vr::SharedTextureHandle_t *pSharedHandle ) = 0; + + /** Consumes an IPC handle (eg. from RefResource) and returns a file-descriptor. + * Caller acquires ownership of fd and is responsible for closing it. + * Supported on Linux only. + */ + virtual bool ReceiveSharedFd( uint64_t ulIpcHandle, int *pOutFd ) = 0; + +protected: + /** Non-deletable */ + virtual ~IVRIPCResourceManagerClient() {}; +}; + +static const char *IVRIPCResourceManagerClient_Version = "IVRIPCResourceManagerClient_001"; + +} +// End + +#endif // _OPENVR_API + + + +namespace vr +{ +#if !defined( OPENVR_INTERFACE_INTERNAL ) + + /** Finds the active installation of the VR API and initializes it. The provided path must be absolute + * or relative to the current working directory. These are the local install versions of the equivalent + * functions in steamvr.h and will work without a local Steam install. + * + * This path is to the "root" of the VR API install. That's the directory with + * the "drivers" directory and a platform (i.e. "win32") directory in it, not the directory with the DLL itself. + * + * pStartupInfo is reserved for future use. + */ + inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo = nullptr ); + + /** unloads vrclient.dll. Any interface pointers from the interface are + * invalid after this point */ + inline void VR_Shutdown(); + + /** Returns true if there is an HMD attached. This check is as lightweight as possible and + * can be called outside of VR_Init/VR_Shutdown. It should be used when an application wants + * to know if initializing VR is a possibility but isn't ready to take that step yet. + */ + VR_INTERFACE bool VR_CALLTYPE VR_IsHmdPresent(); + + /** Returns true if the OpenVR runtime is installed. */ + VR_INTERFACE bool VR_CALLTYPE VR_IsRuntimeInstalled(); + + /** Returns where the OpenVR runtime is installed. */ + VR_INTERFACE bool VR_GetRuntimePath( VR_OUT_STRING() char *pchPathBuffer, uint32_t unBufferSize, uint32_t *punRequiredBufferSize ); + + /** Returns the name of the enum value for an EVRInitError. This function may be called outside of VR_Init()/VR_Shutdown(). */ + VR_INTERFACE const char *VR_CALLTYPE VR_GetVRInitErrorAsSymbol( EVRInitError error ); + + /** Returns an English string for an EVRInitError. Applications should call VR_GetVRInitErrorAsSymbol instead and + * use that as a key to look up their own localized error message. This function may be called outside of VR_Init()/VR_Shutdown(). */ + VR_INTERFACE const char *VR_CALLTYPE VR_GetVRInitErrorAsEnglishDescription( EVRInitError error ); + + /** Returns the interface of the specified version. This method must be called after VR_Init. The + * pointer returned is valid until VR_Shutdown is called. + */ + VR_INTERFACE void *VR_CALLTYPE VR_GetGenericInterface( const char *pchInterfaceVersion, EVRInitError *peError ); + + /** Returns whether the interface of the specified version exists. + */ + VR_INTERFACE bool VR_CALLTYPE VR_IsInterfaceVersionValid( const char *pchInterfaceVersion ); + + /** Returns a token that represents whether the VR interface handles need to be reloaded */ + VR_INTERFACE uint32_t VR_CALLTYPE VR_GetInitToken(); + + // These typedefs allow old enum names from SDK 0.9.11 to be used in applications. + // They will go away in the future. + typedef EVRInitError HmdError; + typedef EVREye Hmd_Eye; + typedef EColorSpace ColorSpace; + typedef ETrackingResult HmdTrackingResult; + typedef ETrackedDeviceClass TrackedDeviceClass; + typedef ETrackingUniverseOrigin TrackingUniverseOrigin; + typedef ETrackedDeviceProperty TrackedDeviceProperty; + typedef ETrackedPropertyError TrackedPropertyError; + typedef EVRSubmitFlags VRSubmitFlags_t; + typedef EVRState VRState_t; + typedef ECollisionBoundsStyle CollisionBoundsStyle_t; + typedef EVROverlayError VROverlayError; + typedef EVRFirmwareError VRFirmwareError; + typedef EVRCompositorError VRCompositorError; + typedef EVRScreenshotError VRScreenshotsError; + + inline uint32_t &VRToken() + { + static uint32_t token; + return token; + } + + class COpenVRContext + { + public: + COpenVRContext() { Clear(); } + void Clear(); + + inline void CheckClear() + { + if ( VRToken() != VR_GetInitToken() ) + { + Clear(); + VRToken() = VR_GetInitToken(); + } + } + + IVRSystem *VRSystem() + { + CheckClear(); + if ( m_pVRSystem == nullptr ) + { + EVRInitError eError; + m_pVRSystem = ( IVRSystem * )VR_GetGenericInterface( IVRSystem_Version, &eError ); + } + return m_pVRSystem; + } + IVRChaperone *VRChaperone() + { + CheckClear(); + if ( m_pVRChaperone == nullptr ) + { + EVRInitError eError; + m_pVRChaperone = ( IVRChaperone * )VR_GetGenericInterface( IVRChaperone_Version, &eError ); + } + return m_pVRChaperone; + } + + IVRChaperoneSetup *VRChaperoneSetup() + { + CheckClear(); + if ( m_pVRChaperoneSetup == nullptr ) + { + EVRInitError eError; + m_pVRChaperoneSetup = ( IVRChaperoneSetup * )VR_GetGenericInterface( IVRChaperoneSetup_Version, &eError ); + } + return m_pVRChaperoneSetup; + } + + IVRCompositor *VRCompositor() + { + CheckClear(); + if ( m_pVRCompositor == nullptr ) + { + EVRInitError eError; + m_pVRCompositor = ( IVRCompositor * )VR_GetGenericInterface( IVRCompositor_Version, &eError ); + } + return m_pVRCompositor; + } + + IVROverlay *VROverlay() + { + CheckClear(); + if ( m_pVROverlay == nullptr ) + { + EVRInitError eError; + m_pVROverlay = ( IVROverlay * )VR_GetGenericInterface( IVROverlay_Version, &eError ); + } + return m_pVROverlay; + } + + IVROverlayView *VROverlayView() + { + CheckClear(); + if ( m_pVROverlayView == nullptr ) + { + EVRInitError eError; + m_pVROverlayView = ( IVROverlayView * ) VR_GetGenericInterface( IVROverlayView_Version, &eError ); + } + return m_pVROverlayView; + } + + IVRHeadsetView *VRHeadsetView() + { + CheckClear(); + if ( m_pVRHeadsetView == nullptr ) + { + EVRInitError eError; + m_pVRHeadsetView = ( IVRHeadsetView * ) VR_GetGenericInterface( IVRHeadsetView_Version, &eError ); + } + return m_pVRHeadsetView; + } + + IVRResources *VRResources() + { + CheckClear(); + if ( m_pVRResources == nullptr ) + { + EVRInitError eError; + m_pVRResources = (IVRResources *)VR_GetGenericInterface( IVRResources_Version, &eError ); + } + return m_pVRResources; + } + + IVRScreenshots *VRScreenshots() + { + CheckClear(); + if ( m_pVRScreenshots == nullptr ) + { + EVRInitError eError; + m_pVRScreenshots = ( IVRScreenshots * )VR_GetGenericInterface( IVRScreenshots_Version, &eError ); + } + return m_pVRScreenshots; + } + + IVRRenderModels *VRRenderModels() + { + CheckClear(); + if ( m_pVRRenderModels == nullptr ) + { + EVRInitError eError; + m_pVRRenderModels = ( IVRRenderModels * )VR_GetGenericInterface( IVRRenderModels_Version, &eError ); + } + return m_pVRRenderModels; + } + + IVRExtendedDisplay *VRExtendedDisplay() + { + CheckClear(); + if ( m_pVRExtendedDisplay == nullptr ) + { + EVRInitError eError; + m_pVRExtendedDisplay = ( IVRExtendedDisplay * )VR_GetGenericInterface( IVRExtendedDisplay_Version, &eError ); + } + return m_pVRExtendedDisplay; + } + + IVRSettings *VRSettings() + { + CheckClear(); + if ( m_pVRSettings == nullptr ) + { + EVRInitError eError; + m_pVRSettings = ( IVRSettings * )VR_GetGenericInterface( IVRSettings_Version, &eError ); + } + return m_pVRSettings; + } + + IVRApplications *VRApplications() + { + CheckClear(); + if ( m_pVRApplications == nullptr ) + { + EVRInitError eError; + m_pVRApplications = ( IVRApplications * )VR_GetGenericInterface( IVRApplications_Version, &eError ); + } + return m_pVRApplications; + } + + IVRTrackedCamera *VRTrackedCamera() + { + CheckClear(); + if ( m_pVRTrackedCamera == nullptr ) + { + EVRInitError eError; + m_pVRTrackedCamera = ( IVRTrackedCamera * )VR_GetGenericInterface( IVRTrackedCamera_Version, &eError ); + } + return m_pVRTrackedCamera; + } + + IVRDriverManager *VRDriverManager() + { + CheckClear(); + if ( !m_pVRDriverManager ) + { + EVRInitError eError; + m_pVRDriverManager = ( IVRDriverManager * )VR_GetGenericInterface( IVRDriverManager_Version, &eError ); + } + return m_pVRDriverManager; + } + + IVRInput *VRInput() + { + CheckClear(); + if ( !m_pVRInput ) + { + EVRInitError eError; + m_pVRInput = (IVRInput *)VR_GetGenericInterface( IVRInput_Version, &eError ); + } + return m_pVRInput; + } + + IVRIOBuffer *VRIOBuffer() + { + if ( !m_pVRIOBuffer ) + { + EVRInitError eError; + m_pVRIOBuffer = ( IVRIOBuffer * )VR_GetGenericInterface( IVRIOBuffer_Version, &eError ); + } + return m_pVRIOBuffer; + } + + IVRSpatialAnchors *VRSpatialAnchors() + { + CheckClear(); + if ( !m_pVRSpatialAnchors ) + { + EVRInitError eError; + m_pVRSpatialAnchors = (IVRSpatialAnchors *)VR_GetGenericInterface( IVRSpatialAnchors_Version, &eError ); + } + return m_pVRSpatialAnchors; + } + + IVRDebug *VRDebug() + { + CheckClear(); + if ( !m_pVRDebug ) + { + EVRInitError eError; + m_pVRDebug = (IVRDebug *)VR_GetGenericInterface( IVRDebug_Version, &eError ); + } + return m_pVRDebug; + } + + IVRNotifications *VRNotifications() + { + CheckClear(); + if ( !m_pVRNotifications ) + { + EVRInitError eError; + m_pVRNotifications = ( IVRNotifications * )VR_GetGenericInterface( IVRNotifications_Version, &eError ); + } + return m_pVRNotifications; + } + + IVRIPCResourceManagerClient *VRIPCResourceManager() + { + CheckClear(); + if ( !m_pVRIPCResourceManagerClient ) + { + EVRInitError eError; + m_pVRIPCResourceManagerClient = ( IVRIPCResourceManagerClient * )VR_GetGenericInterface( IVRIPCResourceManagerClient_Version, &eError ); + } + return m_pVRIPCResourceManagerClient; + } + + private: + IVRSystem *m_pVRSystem; + IVRChaperone *m_pVRChaperone; + IVRChaperoneSetup *m_pVRChaperoneSetup; + IVRCompositor *m_pVRCompositor; + IVRHeadsetView *m_pVRHeadsetView; + IVROverlay *m_pVROverlay; + IVROverlayView *m_pVROverlayView; + IVRResources *m_pVRResources; + IVRRenderModels *m_pVRRenderModels; + IVRExtendedDisplay *m_pVRExtendedDisplay; + IVRSettings *m_pVRSettings; + IVRApplications *m_pVRApplications; + IVRTrackedCamera *m_pVRTrackedCamera; + IVRScreenshots *m_pVRScreenshots; + IVRDriverManager *m_pVRDriverManager; + IVRInput *m_pVRInput; + IVRIOBuffer *m_pVRIOBuffer; + IVRSpatialAnchors *m_pVRSpatialAnchors; + IVRDebug *m_pVRDebug; + IVRNotifications *m_pVRNotifications; + IVRIPCResourceManagerClient *m_pVRIPCResourceManagerClient; + }; + + inline COpenVRContext &OpenVRInternal_ModuleContext() + { + static void *ctx[ sizeof( COpenVRContext ) / sizeof( void * ) ]; + return *( COpenVRContext * )ctx; // bypass zero-init constructor + } + + inline IVRSystem *VR_CALLTYPE VRSystem() { return OpenVRInternal_ModuleContext().VRSystem(); } + inline IVRChaperone *VR_CALLTYPE VRChaperone() { return OpenVRInternal_ModuleContext().VRChaperone(); } + inline IVRChaperoneSetup *VR_CALLTYPE VRChaperoneSetup() { return OpenVRInternal_ModuleContext().VRChaperoneSetup(); } + inline IVRCompositor *VR_CALLTYPE VRCompositor() { return OpenVRInternal_ModuleContext().VRCompositor(); } + inline IVROverlay *VR_CALLTYPE VROverlay() { return OpenVRInternal_ModuleContext().VROverlay(); } + inline IVROverlayView *VR_CALLTYPE VROverlayView() { return OpenVRInternal_ModuleContext().VROverlayView(); } + inline IVRHeadsetView *VR_CALLTYPE VRHeadsetView() { return OpenVRInternal_ModuleContext().VRHeadsetView(); } + inline IVRScreenshots *VR_CALLTYPE VRScreenshots() { return OpenVRInternal_ModuleContext().VRScreenshots(); } + inline IVRRenderModels *VR_CALLTYPE VRRenderModels() { return OpenVRInternal_ModuleContext().VRRenderModels(); } + inline IVRApplications *VR_CALLTYPE VRApplications() { return OpenVRInternal_ModuleContext().VRApplications(); } + inline IVRSettings *VR_CALLTYPE VRSettings() { return OpenVRInternal_ModuleContext().VRSettings(); } + inline IVRResources *VR_CALLTYPE VRResources() { return OpenVRInternal_ModuleContext().VRResources(); } + inline IVRExtendedDisplay *VR_CALLTYPE VRExtendedDisplay() { return OpenVRInternal_ModuleContext().VRExtendedDisplay(); } + inline IVRTrackedCamera *VR_CALLTYPE VRTrackedCamera() { return OpenVRInternal_ModuleContext().VRTrackedCamera(); } + inline IVRDriverManager *VR_CALLTYPE VRDriverManager() { return OpenVRInternal_ModuleContext().VRDriverManager(); } + inline IVRInput *VR_CALLTYPE VRInput() { return OpenVRInternal_ModuleContext().VRInput(); } + inline IVRIOBuffer *VR_CALLTYPE VRIOBuffer() { return OpenVRInternal_ModuleContext().VRIOBuffer(); } + inline IVRSpatialAnchors *VR_CALLTYPE VRSpatialAnchors() { return OpenVRInternal_ModuleContext().VRSpatialAnchors(); } + inline IVRNotifications *VR_CALLTYPE VRNotifications() { return OpenVRInternal_ModuleContext().VRNotifications(); } + inline IVRDebug *VR_CALLTYPE VRDebug() { return OpenVRInternal_ModuleContext().VRDebug(); } + inline IVRIPCResourceManagerClient *VR_CALLTYPE VRIPCResourceManager() { return OpenVRInternal_ModuleContext().VRIPCResourceManager(); } + + inline void COpenVRContext::Clear() + { + m_pVRSystem = nullptr; + m_pVRChaperone = nullptr; + m_pVRChaperoneSetup = nullptr; + m_pVRCompositor = nullptr; + m_pVROverlay = nullptr; + m_pVROverlayView = nullptr; + m_pVRHeadsetView = nullptr; + m_pVRRenderModels = nullptr; + m_pVRExtendedDisplay = nullptr; + m_pVRSettings = nullptr; + m_pVRApplications = nullptr; + m_pVRTrackedCamera = nullptr; + m_pVRResources = nullptr; + m_pVRScreenshots = nullptr; + m_pVRDriverManager = nullptr; + m_pVRInput = nullptr; + m_pVRIOBuffer = nullptr; + m_pVRSpatialAnchors = nullptr; + m_pVRNotifications = nullptr; + m_pVRDebug = nullptr; + m_pVRIPCResourceManagerClient = nullptr; + } + + VR_INTERFACE uint32_t VR_CALLTYPE VR_InitInternal2( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo ); + VR_INTERFACE void VR_CALLTYPE VR_ShutdownInternal(); + + /** Finds the active installation of vrclient.dll and initializes it */ + inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo ) + { + IVRSystem *pVRSystem = nullptr; + + EVRInitError eError; + VRToken() = VR_InitInternal2( &eError, eApplicationType, pStartupInfo ); + COpenVRContext &ctx = OpenVRInternal_ModuleContext(); + ctx.Clear(); + + if ( eError == VRInitError_None ) + { + if ( VR_IsInterfaceVersionValid( IVRSystem_Version ) ) + { + pVRSystem = VRSystem(); + } + else + { + VR_ShutdownInternal(); + eError = VRInitError_Init_InterfaceNotFound; + } + } + + if ( peError ) + *peError = eError; + return pVRSystem; + } + + /** unloads vrclient.dll. Any interface pointers from the interface are + * invalid after this point */ + inline void VR_Shutdown() + { + VR_ShutdownInternal(); + } + +#endif // OPENVR_INTERFACE_INTERNAL +} diff --git a/vrclient_x64/unix_private_generated.h b/vrclient_x64/unix_private_generated.h index 319a5fb539..2152f51ce4 100644 --- a/vrclient_x64/unix_private_generated.h +++ b/vrclient_x64/unix_private_generated.h @@ -4353,6 +4353,94 @@ struct u_IVRCompositor_IVRCompositor_028 #endif /* __cplusplus */ }; +struct u_IVROverlay_IVROverlay_028 +{ +#ifdef __cplusplus + virtual uint32_t FindOverlay( const char *, uint64_t * ) = 0; + virtual uint32_t CreateOverlay( const char *, const char *, uint64_t * ) = 0; + virtual uint32_t CreateSubviewOverlay( uint64_t, const char *, const char *, uint64_t * ) = 0; + virtual uint32_t DestroyOverlay( uint64_t ) = 0; + virtual uint32_t GetOverlayKey( uint64_t, char *, uint32_t, uint32_t * ) = 0; + virtual uint32_t GetOverlayName( uint64_t, char *, uint32_t, uint32_t * ) = 0; + virtual uint32_t SetOverlayName( uint64_t, const char * ) = 0; + virtual uint32_t GetOverlayImageData( uint64_t, void *, uint32_t, uint32_t *, uint32_t * ) = 0; + virtual const char * GetOverlayErrorNameFromEnum( uint32_t ) = 0; + virtual uint32_t SetOverlayRenderingPid( uint64_t, uint32_t ) = 0; + virtual uint32_t GetOverlayRenderingPid( uint64_t ) = 0; + virtual uint32_t SetOverlayFlag( uint64_t, uint32_t, int8_t ) = 0; + virtual uint32_t GetOverlayFlag( uint64_t, uint32_t, int8_t * ) = 0; + virtual uint32_t GetOverlayFlags( uint64_t, uint32_t * ) = 0; + virtual uint32_t SetOverlayColor( uint64_t, float, float, float ) = 0; + virtual uint32_t GetOverlayColor( uint64_t, float *, float *, float * ) = 0; + virtual uint32_t SetOverlayAlpha( uint64_t, float ) = 0; + virtual uint32_t GetOverlayAlpha( uint64_t, float * ) = 0; + virtual uint32_t SetOverlayTexelAspect( uint64_t, float ) = 0; + virtual uint32_t GetOverlayTexelAspect( uint64_t, float * ) = 0; + virtual uint32_t SetOverlaySortOrder( uint64_t, uint32_t ) = 0; + virtual uint32_t GetOverlaySortOrder( uint64_t, uint32_t * ) = 0; + virtual uint32_t SetOverlayWidthInMeters( uint64_t, float ) = 0; + virtual uint32_t GetOverlayWidthInMeters( uint64_t, float * ) = 0; + virtual uint32_t SetOverlayCurvature( uint64_t, float ) = 0; + virtual uint32_t GetOverlayCurvature( uint64_t, float * ) = 0; + virtual uint32_t SetOverlayPreCurvePitch( uint64_t, float ) = 0; + virtual uint32_t GetOverlayPreCurvePitch( uint64_t, float * ) = 0; + virtual uint32_t SetOverlayTextureColorSpace( uint64_t, uint32_t ) = 0; + virtual uint32_t GetOverlayTextureColorSpace( uint64_t, uint32_t * ) = 0; + virtual uint32_t SetOverlayTextureBounds( uint64_t, const VRTextureBounds_t * ) = 0; + virtual uint32_t GetOverlayTextureBounds( uint64_t, VRTextureBounds_t * ) = 0; + virtual uint32_t GetOverlayTransformType( uint64_t, uint32_t * ) = 0; + virtual uint32_t SetOverlayTransformAbsolute( uint64_t, uint32_t, const HmdMatrix34_t * ) = 0; + virtual uint32_t GetOverlayTransformAbsolute( uint64_t, uint32_t *, HmdMatrix34_t * ) = 0; + virtual uint32_t SetOverlayTransformTrackedDeviceRelative( uint64_t, uint32_t, const HmdMatrix34_t * ) = 0; + virtual uint32_t GetOverlayTransformTrackedDeviceRelative( uint64_t, uint32_t *, HmdMatrix34_t * ) = 0; + virtual uint32_t SetOverlayTransformTrackedDeviceComponent( uint64_t, uint32_t, const char * ) = 0; + virtual uint32_t GetOverlayTransformTrackedDeviceComponent( uint64_t, uint32_t *, char *, uint32_t ) = 0; + virtual uint32_t SetOverlayTransformCursor( uint64_t, const HmdVector2_t * ) = 0; + virtual uint32_t GetOverlayTransformCursor( uint64_t, HmdVector2_t * ) = 0; + virtual uint32_t SetOverlayTransformProjection( uint64_t, uint32_t, const HmdMatrix34_t *, const VROverlayProjection_t *, uint32_t ) = 0; + virtual uint32_t SetSubviewPosition( uint64_t, float, float ) = 0; + virtual uint32_t ShowOverlay( uint64_t ) = 0; + virtual uint32_t HideOverlay( uint64_t ) = 0; + virtual int8_t IsOverlayVisible( uint64_t ) = 0; + virtual uint32_t GetTransformForOverlayCoordinates( uint64_t, uint32_t, HmdVector2_t, HmdMatrix34_t * ) = 0; + virtual uint32_t WaitFrameSync( uint32_t ) = 0; + virtual int8_t PollNextOverlayEvent( uint64_t, u_VREvent_t_223 *, uint32_t ) = 0; + virtual uint32_t GetOverlayInputMethod( uint64_t, uint32_t * ) = 0; + virtual uint32_t SetOverlayInputMethod( uint64_t, uint32_t ) = 0; + virtual uint32_t GetOverlayMouseScale( uint64_t, HmdVector2_t * ) = 0; + virtual uint32_t SetOverlayMouseScale( uint64_t, const HmdVector2_t * ) = 0; + virtual int8_t ComputeOverlayIntersection( uint64_t, const VROverlayIntersectionParams_t *, VROverlayIntersectionResults_t * ) = 0; + virtual int8_t IsHoverTargetOverlay( uint64_t ) = 0; + virtual uint32_t SetOverlayIntersectionMask( uint64_t, VROverlayIntersectionMaskPrimitive_t *, uint32_t, uint32_t ) = 0; + virtual uint32_t TriggerLaserMouseHapticVibration( uint64_t, float, float, float ) = 0; + virtual uint32_t SetOverlayCursor( uint64_t, uint64_t ) = 0; + virtual uint32_t SetOverlayCursorPositionOverride( uint64_t, const HmdVector2_t * ) = 0; + virtual uint32_t ClearOverlayCursorPositionOverride( uint64_t ) = 0; + virtual uint32_t SetOverlayTexture( uint64_t, const u_Texture_t * ) = 0; + virtual uint32_t ClearOverlayTexture( uint64_t ) = 0; + virtual uint32_t SetOverlayRaw( uint64_t, void *, uint32_t, uint32_t, uint32_t ) = 0; + virtual uint32_t SetOverlayFromFile( uint64_t, const char * ) = 0; + virtual uint32_t GetOverlayTexture( uint64_t, void **, void *, uint32_t *, uint32_t *, uint32_t *, uint32_t *, uint32_t *, VRTextureBounds_t * ) = 0; + virtual uint32_t ReleaseNativeOverlayHandle( uint64_t, void * ) = 0; + virtual uint32_t GetOverlayTextureSize( uint64_t, uint32_t *, uint32_t * ) = 0; + virtual uint32_t CreateDashboardOverlay( const char *, const char *, uint64_t *, uint64_t * ) = 0; + virtual int8_t IsDashboardVisible( ) = 0; + virtual int8_t IsActiveDashboardOverlay( uint64_t ) = 0; + virtual uint32_t SetDashboardOverlaySceneProcess( uint64_t, uint32_t ) = 0; + virtual uint32_t GetDashboardOverlaySceneProcess( uint64_t, uint32_t * ) = 0; + virtual void ShowDashboard( const char * ) = 0; + virtual uint32_t GetPrimaryDashboardDevice( ) = 0; + virtual uint32_t ShowKeyboard( uint32_t, uint32_t, uint32_t, const char *, uint32_t, const char *, uint64_t ) = 0; + virtual uint32_t ShowKeyboardForOverlay( uint64_t, uint32_t, uint32_t, uint32_t, const char *, uint32_t, const char *, uint64_t ) = 0; + virtual uint32_t GetKeyboardText( char *, uint32_t ) = 0; + virtual void HideKeyboard( ) = 0; + virtual void SetKeyboardTransformAbsolute( uint32_t, const HmdMatrix34_t * ) = 0; + virtual void SetKeyboardPositionForOverlay( uint64_t, HmdRect2_t ) = 0; + virtual uint32_t ShowMessageOverlay( const char *, const char *, const char *, const char *, const char *, const char * ) = 0; + virtual void CloseMessageOverlay( ) = 0; +#endif /* __cplusplus */ +}; + NTSTATUS IVRApplications_IVRApplications_001_AddApplicationManifest( void * ); NTSTATUS wow64_IVRApplications_IVRApplications_001_AddApplicationManifest( void * ); @@ -9988,6 +10076,170 @@ NTSTATUS IVROverlay_IVROverlay_027_ShowMessageOverlay( void * ); NTSTATUS wow64_IVROverlay_IVROverlay_027_ShowMessageOverlay( void * ); NTSTATUS IVROverlay_IVROverlay_027_CloseMessageOverlay( void * ); NTSTATUS wow64_IVROverlay_IVROverlay_027_CloseMessageOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_028_FindOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_FindOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_028_CreateOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_CreateOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_028_CreateSubviewOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_CreateSubviewOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_028_DestroyOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_DestroyOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayKey( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayKey( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayName( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayName( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayName( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayName( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayImageData( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayImageData( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayRenderingPid( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayRenderingPid( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayRenderingPid( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayRenderingPid( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayFlag( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayFlag( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayFlag( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayFlag( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayFlags( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayFlags( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayColor( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayColor( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayColor( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayColor( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayAlpha( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayAlpha( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayAlpha( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayAlpha( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayTexelAspect( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayTexelAspect( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayTexelAspect( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayTexelAspect( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlaySortOrder( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlaySortOrder( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlaySortOrder( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlaySortOrder( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayWidthInMeters( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayWidthInMeters( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayWidthInMeters( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayWidthInMeters( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayCurvature( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayCurvature( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayCurvature( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayCurvature( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayTextureBounds( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayTextureBounds( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayTextureBounds( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayTextureBounds( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayTransformType( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayTransformType( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayTransformCursor( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayTransformCursor( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayTransformCursor( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayTransformCursor( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayTransformProjection( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayTransformProjection( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetSubviewPosition( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetSubviewPosition( void * ); +NTSTATUS IVROverlay_IVROverlay_028_ShowOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_ShowOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_028_HideOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_HideOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_028_IsOverlayVisible( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_IsOverlayVisible( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates( void * ); +NTSTATUS IVROverlay_IVROverlay_028_WaitFrameSync( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_WaitFrameSync( void * ); +NTSTATUS IVROverlay_IVROverlay_028_PollNextOverlayEvent( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_PollNextOverlayEvent( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayInputMethod( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayInputMethod( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayInputMethod( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayInputMethod( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayMouseScale( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayMouseScale( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayMouseScale( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayMouseScale( void * ); +NTSTATUS IVROverlay_IVROverlay_028_ComputeOverlayIntersection( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_ComputeOverlayIntersection( void * ); +NTSTATUS IVROverlay_IVROverlay_028_IsHoverTargetOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_IsHoverTargetOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayIntersectionMask( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayIntersectionMask( void * ); +NTSTATUS IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayCursor( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayCursor( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride( void * ); +NTSTATUS IVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayTexture( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayTexture( void * ); +NTSTATUS IVROverlay_IVROverlay_028_ClearOverlayTexture( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_ClearOverlayTexture( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayRaw( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayRaw( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetOverlayFromFile( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetOverlayFromFile( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayTexture( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayTexture( void * ); +NTSTATUS IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetOverlayTextureSize( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetOverlayTextureSize( void * ); +NTSTATUS IVROverlay_IVROverlay_028_CreateDashboardOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_CreateDashboardOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_028_IsDashboardVisible( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_IsDashboardVisible( void * ); +NTSTATUS IVROverlay_IVROverlay_028_IsActiveDashboardOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_IsActiveDashboardOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess( void * ); +NTSTATUS IVROverlay_IVROverlay_028_ShowDashboard( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_ShowDashboard( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetPrimaryDashboardDevice( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetPrimaryDashboardDevice( void * ); +NTSTATUS IVROverlay_IVROverlay_028_ShowKeyboard( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_ShowKeyboard( void * ); +NTSTATUS IVROverlay_IVROverlay_028_ShowKeyboardForOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_ShowKeyboardForOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_028_GetKeyboardText( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_GetKeyboardText( void * ); +NTSTATUS IVROverlay_IVROverlay_028_HideKeyboard( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_HideKeyboard( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute( void * ); +NTSTATUS IVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_028_ShowMessageOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_ShowMessageOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_028_CloseMessageOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_028_CloseMessageOverlay( void * ); NTSTATUS IVRRenderModels_IVRRenderModels_001_LoadRenderModel( void * ); NTSTATUS wow64_IVRRenderModels_IVRRenderModels_001_LoadRenderModel( void * ); NTSTATUS IVRRenderModels_IVRRenderModels_001_FreeRenderModel( void * ); diff --git a/vrclient_x64/unix_vroverlay_manual.cpp b/vrclient_x64/unix_vroverlay_manual.cpp index 809fc284f1..897b679faa 100644 --- a/vrclient_x64/unix_vroverlay_manual.cpp +++ b/vrclient_x64/unix_vroverlay_manual.cpp @@ -93,3 +93,4 @@ VRCLIENT_UNIX_IMPL( IVROverlay, 024, SetOverlayTexture ); VRCLIENT_UNIX_IMPL( IVROverlay, 025, SetOverlayTexture ); VRCLIENT_UNIX_IMPL( IVROverlay, 026, SetOverlayTexture ); VRCLIENT_UNIX_IMPL( IVROverlay, 027, SetOverlayTexture ); +VRCLIENT_UNIX_IMPL( IVROverlay, 028, SetOverlayTexture ); diff --git a/vrclient_x64/unixlib_generated.cpp b/vrclient_x64/unixlib_generated.cpp index 1a55abbd22..62d5055ef0 100644 --- a/vrclient_x64/unixlib_generated.cpp +++ b/vrclient_x64/unixlib_generated.cpp @@ -2830,6 +2830,88 @@ extern "C" const unixlib_entry_t __wine_unix_call_funcs[] = IVROverlay_IVROverlay_027_SetKeyboardPositionForOverlay, IVROverlay_IVROverlay_027_ShowMessageOverlay, IVROverlay_IVROverlay_027_CloseMessageOverlay, + IVROverlay_IVROverlay_028_FindOverlay, + IVROverlay_IVROverlay_028_CreateOverlay, + IVROverlay_IVROverlay_028_CreateSubviewOverlay, + IVROverlay_IVROverlay_028_DestroyOverlay, + IVROverlay_IVROverlay_028_GetOverlayKey, + IVROverlay_IVROverlay_028_GetOverlayName, + IVROverlay_IVROverlay_028_SetOverlayName, + IVROverlay_IVROverlay_028_GetOverlayImageData, + IVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum, + IVROverlay_IVROverlay_028_SetOverlayRenderingPid, + IVROverlay_IVROverlay_028_GetOverlayRenderingPid, + IVROverlay_IVROverlay_028_SetOverlayFlag, + IVROverlay_IVROverlay_028_GetOverlayFlag, + IVROverlay_IVROverlay_028_GetOverlayFlags, + IVROverlay_IVROverlay_028_SetOverlayColor, + IVROverlay_IVROverlay_028_GetOverlayColor, + IVROverlay_IVROverlay_028_SetOverlayAlpha, + IVROverlay_IVROverlay_028_GetOverlayAlpha, + IVROverlay_IVROverlay_028_SetOverlayTexelAspect, + IVROverlay_IVROverlay_028_GetOverlayTexelAspect, + IVROverlay_IVROverlay_028_SetOverlaySortOrder, + IVROverlay_IVROverlay_028_GetOverlaySortOrder, + IVROverlay_IVROverlay_028_SetOverlayWidthInMeters, + IVROverlay_IVROverlay_028_GetOverlayWidthInMeters, + IVROverlay_IVROverlay_028_SetOverlayCurvature, + IVROverlay_IVROverlay_028_GetOverlayCurvature, + IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch, + IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch, + IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace, + IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace, + IVROverlay_IVROverlay_028_SetOverlayTextureBounds, + IVROverlay_IVROverlay_028_GetOverlayTextureBounds, + IVROverlay_IVROverlay_028_GetOverlayTransformType, + IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute, + IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute, + IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative, + IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative, + IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent, + IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent, + IVROverlay_IVROverlay_028_SetOverlayTransformCursor, + IVROverlay_IVROverlay_028_GetOverlayTransformCursor, + IVROverlay_IVROverlay_028_SetOverlayTransformProjection, + IVROverlay_IVROverlay_028_SetSubviewPosition, + IVROverlay_IVROverlay_028_ShowOverlay, + IVROverlay_IVROverlay_028_HideOverlay, + IVROverlay_IVROverlay_028_IsOverlayVisible, + IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates, + IVROverlay_IVROverlay_028_WaitFrameSync, + IVROverlay_IVROverlay_028_PollNextOverlayEvent, + IVROverlay_IVROverlay_028_GetOverlayInputMethod, + IVROverlay_IVROverlay_028_SetOverlayInputMethod, + IVROverlay_IVROverlay_028_GetOverlayMouseScale, + IVROverlay_IVROverlay_028_SetOverlayMouseScale, + IVROverlay_IVROverlay_028_ComputeOverlayIntersection, + IVROverlay_IVROverlay_028_IsHoverTargetOverlay, + IVROverlay_IVROverlay_028_SetOverlayIntersectionMask, + IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration, + IVROverlay_IVROverlay_028_SetOverlayCursor, + IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride, + IVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride, + IVROverlay_IVROverlay_028_SetOverlayTexture, + IVROverlay_IVROverlay_028_ClearOverlayTexture, + IVROverlay_IVROverlay_028_SetOverlayRaw, + IVROverlay_IVROverlay_028_SetOverlayFromFile, + IVROverlay_IVROverlay_028_GetOverlayTexture, + IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle, + IVROverlay_IVROverlay_028_GetOverlayTextureSize, + IVROverlay_IVROverlay_028_CreateDashboardOverlay, + IVROverlay_IVROverlay_028_IsDashboardVisible, + IVROverlay_IVROverlay_028_IsActiveDashboardOverlay, + IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess, + IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess, + IVROverlay_IVROverlay_028_ShowDashboard, + IVROverlay_IVROverlay_028_GetPrimaryDashboardDevice, + IVROverlay_IVROverlay_028_ShowKeyboard, + IVROverlay_IVROverlay_028_ShowKeyboardForOverlay, + IVROverlay_IVROverlay_028_GetKeyboardText, + IVROverlay_IVROverlay_028_HideKeyboard, + IVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute, + IVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay, + IVROverlay_IVROverlay_028_ShowMessageOverlay, + IVROverlay_IVROverlay_028_CloseMessageOverlay, IVRRenderModels_IVRRenderModels_001_LoadRenderModel, IVRRenderModels_IVRRenderModels_001_FreeRenderModel, IVRRenderModels_IVRRenderModels_001_GetRenderModelName, @@ -6542,6 +6624,88 @@ extern "C" const unixlib_entry_t __wine_unix_call_wow64_funcs[] = wow64_IVROverlay_IVROverlay_027_SetKeyboardPositionForOverlay, wow64_IVROverlay_IVROverlay_027_ShowMessageOverlay, wow64_IVROverlay_IVROverlay_027_CloseMessageOverlay, + wow64_IVROverlay_IVROverlay_028_FindOverlay, + wow64_IVROverlay_IVROverlay_028_CreateOverlay, + wow64_IVROverlay_IVROverlay_028_CreateSubviewOverlay, + wow64_IVROverlay_IVROverlay_028_DestroyOverlay, + wow64_IVROverlay_IVROverlay_028_GetOverlayKey, + wow64_IVROverlay_IVROverlay_028_GetOverlayName, + wow64_IVROverlay_IVROverlay_028_SetOverlayName, + wow64_IVROverlay_IVROverlay_028_GetOverlayImageData, + wow64_IVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum, + wow64_IVROverlay_IVROverlay_028_SetOverlayRenderingPid, + wow64_IVROverlay_IVROverlay_028_GetOverlayRenderingPid, + wow64_IVROverlay_IVROverlay_028_SetOverlayFlag, + wow64_IVROverlay_IVROverlay_028_GetOverlayFlag, + wow64_IVROverlay_IVROverlay_028_GetOverlayFlags, + wow64_IVROverlay_IVROverlay_028_SetOverlayColor, + wow64_IVROverlay_IVROverlay_028_GetOverlayColor, + wow64_IVROverlay_IVROverlay_028_SetOverlayAlpha, + wow64_IVROverlay_IVROverlay_028_GetOverlayAlpha, + wow64_IVROverlay_IVROverlay_028_SetOverlayTexelAspect, + wow64_IVROverlay_IVROverlay_028_GetOverlayTexelAspect, + wow64_IVROverlay_IVROverlay_028_SetOverlaySortOrder, + wow64_IVROverlay_IVROverlay_028_GetOverlaySortOrder, + wow64_IVROverlay_IVROverlay_028_SetOverlayWidthInMeters, + wow64_IVROverlay_IVROverlay_028_GetOverlayWidthInMeters, + wow64_IVROverlay_IVROverlay_028_SetOverlayCurvature, + wow64_IVROverlay_IVROverlay_028_GetOverlayCurvature, + wow64_IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch, + wow64_IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch, + wow64_IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace, + wow64_IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace, + wow64_IVROverlay_IVROverlay_028_SetOverlayTextureBounds, + wow64_IVROverlay_IVROverlay_028_GetOverlayTextureBounds, + wow64_IVROverlay_IVROverlay_028_GetOverlayTransformType, + wow64_IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute, + wow64_IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute, + wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative, + wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative, + wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent, + wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent, + wow64_IVROverlay_IVROverlay_028_SetOverlayTransformCursor, + wow64_IVROverlay_IVROverlay_028_GetOverlayTransformCursor, + wow64_IVROverlay_IVROverlay_028_SetOverlayTransformProjection, + wow64_IVROverlay_IVROverlay_028_SetSubviewPosition, + wow64_IVROverlay_IVROverlay_028_ShowOverlay, + wow64_IVROverlay_IVROverlay_028_HideOverlay, + wow64_IVROverlay_IVROverlay_028_IsOverlayVisible, + wow64_IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates, + wow64_IVROverlay_IVROverlay_028_WaitFrameSync, + wow64_IVROverlay_IVROverlay_028_PollNextOverlayEvent, + wow64_IVROverlay_IVROverlay_028_GetOverlayInputMethod, + wow64_IVROverlay_IVROverlay_028_SetOverlayInputMethod, + wow64_IVROverlay_IVROverlay_028_GetOverlayMouseScale, + wow64_IVROverlay_IVROverlay_028_SetOverlayMouseScale, + wow64_IVROverlay_IVROverlay_028_ComputeOverlayIntersection, + wow64_IVROverlay_IVROverlay_028_IsHoverTargetOverlay, + wow64_IVROverlay_IVROverlay_028_SetOverlayIntersectionMask, + wow64_IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration, + wow64_IVROverlay_IVROverlay_028_SetOverlayCursor, + wow64_IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride, + wow64_IVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride, + wow64_IVROverlay_IVROverlay_028_SetOverlayTexture, + wow64_IVROverlay_IVROverlay_028_ClearOverlayTexture, + wow64_IVROverlay_IVROverlay_028_SetOverlayRaw, + wow64_IVROverlay_IVROverlay_028_SetOverlayFromFile, + wow64_IVROverlay_IVROverlay_028_GetOverlayTexture, + wow64_IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle, + wow64_IVROverlay_IVROverlay_028_GetOverlayTextureSize, + wow64_IVROverlay_IVROverlay_028_CreateDashboardOverlay, + wow64_IVROverlay_IVROverlay_028_IsDashboardVisible, + wow64_IVROverlay_IVROverlay_028_IsActiveDashboardOverlay, + wow64_IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess, + wow64_IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess, + wow64_IVROverlay_IVROverlay_028_ShowDashboard, + wow64_IVROverlay_IVROverlay_028_GetPrimaryDashboardDevice, + wow64_IVROverlay_IVROverlay_028_ShowKeyboard, + wow64_IVROverlay_IVROverlay_028_ShowKeyboardForOverlay, + wow64_IVROverlay_IVROverlay_028_GetKeyboardText, + wow64_IVROverlay_IVROverlay_028_HideKeyboard, + wow64_IVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute, + wow64_IVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay, + wow64_IVROverlay_IVROverlay_028_ShowMessageOverlay, + wow64_IVROverlay_IVROverlay_028_CloseMessageOverlay, wow64_IVRRenderModels_IVRRenderModels_001_LoadRenderModel, wow64_IVRRenderModels_IVRRenderModels_001_FreeRenderModel, wow64_IVRRenderModels_IVRRenderModels_001_GetRenderModelName, @@ -9022,6 +9186,14 @@ C_ASSERT( sizeof(DistortionCoordinates_t().rfGreen) >= 8 ); C_ASSERT( offsetof(DistortionCoordinates_t, rfBlue) == 16 ); C_ASSERT( sizeof(DistortionCoordinates_t().rfBlue) >= 8 ); +C_ASSERT( sizeof(DmabufPlane_t) >= 12 ); +C_ASSERT( offsetof(DmabufPlane_t, unOffset) == 0 ); +C_ASSERT( sizeof(DmabufPlane_t().unOffset) >= 4 ); +C_ASSERT( offsetof(DmabufPlane_t, unStride) == 4 ); +C_ASSERT( sizeof(DmabufPlane_t().unStride) >= 4 ); +C_ASSERT( offsetof(DmabufPlane_t, nFd) == 8 ); +C_ASSERT( sizeof(DmabufPlane_t().nFd) >= 4 ); + C_ASSERT( sizeof(DriverDirectMode_FrameTiming) >= 20 ); C_ASSERT( offsetof(DriverDirectMode_FrameTiming, m_nSize) == 0 ); C_ASSERT( sizeof(DriverDirectMode_FrameTiming().m_nSize) >= 4 ); @@ -9588,6 +9760,182 @@ u64_AppOverrideKeys_t::operator w32_AppOverrideKeys_t() const } #endif +C_ASSERT( sizeof(w64_COpenVRContext_271) >= 168 ); +C_ASSERT( offsetof(w64_COpenVRContext_271, m_pVRSystem) == 0 ); +C_ASSERT( sizeof(w64_COpenVRContext_271().m_pVRSystem) >= 8 ); +C_ASSERT( offsetof(w64_COpenVRContext_271, m_pVRChaperone) == 8 ); +C_ASSERT( sizeof(w64_COpenVRContext_271().m_pVRChaperone) >= 8 ); +C_ASSERT( offsetof(w64_COpenVRContext_271, m_pVRChaperoneSetup) == 16 ); +C_ASSERT( sizeof(w64_COpenVRContext_271().m_pVRChaperoneSetup) >= 8 ); +C_ASSERT( offsetof(w64_COpenVRContext_271, m_pVRCompositor) == 24 ); +C_ASSERT( sizeof(w64_COpenVRContext_271().m_pVRCompositor) >= 8 ); +C_ASSERT( offsetof(w64_COpenVRContext_271, m_pVRHeadsetView) == 32 ); +C_ASSERT( sizeof(w64_COpenVRContext_271().m_pVRHeadsetView) >= 8 ); +C_ASSERT( offsetof(w64_COpenVRContext_271, m_pVROverlay) == 40 ); +C_ASSERT( sizeof(w64_COpenVRContext_271().m_pVROverlay) >= 8 ); +C_ASSERT( offsetof(w64_COpenVRContext_271, m_pVROverlayView) == 48 ); +C_ASSERT( sizeof(w64_COpenVRContext_271().m_pVROverlayView) >= 8 ); +C_ASSERT( offsetof(w64_COpenVRContext_271, m_pVRResources) == 56 ); +C_ASSERT( sizeof(w64_COpenVRContext_271().m_pVRResources) >= 8 ); +C_ASSERT( offsetof(w64_COpenVRContext_271, m_pVRRenderModels) == 64 ); +C_ASSERT( sizeof(w64_COpenVRContext_271().m_pVRRenderModels) >= 8 ); +C_ASSERT( offsetof(w64_COpenVRContext_271, m_pVRExtendedDisplay) == 72 ); +C_ASSERT( sizeof(w64_COpenVRContext_271().m_pVRExtendedDisplay) >= 8 ); +C_ASSERT( offsetof(w64_COpenVRContext_271, m_pVRSettings) == 80 ); +C_ASSERT( sizeof(w64_COpenVRContext_271().m_pVRSettings) >= 8 ); +C_ASSERT( offsetof(w64_COpenVRContext_271, m_pVRApplications) == 88 ); +C_ASSERT( sizeof(w64_COpenVRContext_271().m_pVRApplications) >= 8 ); +C_ASSERT( offsetof(w64_COpenVRContext_271, m_pVRTrackedCamera) == 96 ); +C_ASSERT( sizeof(w64_COpenVRContext_271().m_pVRTrackedCamera) >= 8 ); +C_ASSERT( offsetof(w64_COpenVRContext_271, m_pVRScreenshots) == 104 ); +C_ASSERT( sizeof(w64_COpenVRContext_271().m_pVRScreenshots) >= 8 ); +C_ASSERT( offsetof(w64_COpenVRContext_271, m_pVRDriverManager) == 112 ); +C_ASSERT( sizeof(w64_COpenVRContext_271().m_pVRDriverManager) >= 8 ); +C_ASSERT( offsetof(w64_COpenVRContext_271, m_pVRInput) == 120 ); +C_ASSERT( sizeof(w64_COpenVRContext_271().m_pVRInput) >= 8 ); +C_ASSERT( offsetof(w64_COpenVRContext_271, m_pVRIOBuffer) == 128 ); +C_ASSERT( sizeof(w64_COpenVRContext_271().m_pVRIOBuffer) >= 8 ); +C_ASSERT( offsetof(w64_COpenVRContext_271, m_pVRSpatialAnchors) == 136 ); +C_ASSERT( sizeof(w64_COpenVRContext_271().m_pVRSpatialAnchors) >= 8 ); +C_ASSERT( offsetof(w64_COpenVRContext_271, m_pVRDebug) == 144 ); +C_ASSERT( sizeof(w64_COpenVRContext_271().m_pVRDebug) >= 8 ); +C_ASSERT( offsetof(w64_COpenVRContext_271, m_pVRNotifications) == 152 ); +C_ASSERT( sizeof(w64_COpenVRContext_271().m_pVRNotifications) >= 8 ); +C_ASSERT( offsetof(w64_COpenVRContext_271, m_pVRIPCResourceManagerClient) == 160 ); +C_ASSERT( sizeof(w64_COpenVRContext_271().m_pVRIPCResourceManagerClient) >= 8 ); + +C_ASSERT( sizeof(u64_COpenVRContext_271) >= 168 ); +C_ASSERT( offsetof(u64_COpenVRContext_271, m_pVRSystem) == 0 ); +C_ASSERT( sizeof(u64_COpenVRContext_271().m_pVRSystem) >= 8 ); +C_ASSERT( offsetof(u64_COpenVRContext_271, m_pVRChaperone) == 8 ); +C_ASSERT( sizeof(u64_COpenVRContext_271().m_pVRChaperone) >= 8 ); +C_ASSERT( offsetof(u64_COpenVRContext_271, m_pVRChaperoneSetup) == 16 ); +C_ASSERT( sizeof(u64_COpenVRContext_271().m_pVRChaperoneSetup) >= 8 ); +C_ASSERT( offsetof(u64_COpenVRContext_271, m_pVRCompositor) == 24 ); +C_ASSERT( sizeof(u64_COpenVRContext_271().m_pVRCompositor) >= 8 ); +C_ASSERT( offsetof(u64_COpenVRContext_271, m_pVRHeadsetView) == 32 ); +C_ASSERT( sizeof(u64_COpenVRContext_271().m_pVRHeadsetView) >= 8 ); +C_ASSERT( offsetof(u64_COpenVRContext_271, m_pVROverlay) == 40 ); +C_ASSERT( sizeof(u64_COpenVRContext_271().m_pVROverlay) >= 8 ); +C_ASSERT( offsetof(u64_COpenVRContext_271, m_pVROverlayView) == 48 ); +C_ASSERT( sizeof(u64_COpenVRContext_271().m_pVROverlayView) >= 8 ); +C_ASSERT( offsetof(u64_COpenVRContext_271, m_pVRResources) == 56 ); +C_ASSERT( sizeof(u64_COpenVRContext_271().m_pVRResources) >= 8 ); +C_ASSERT( offsetof(u64_COpenVRContext_271, m_pVRRenderModels) == 64 ); +C_ASSERT( sizeof(u64_COpenVRContext_271().m_pVRRenderModels) >= 8 ); +C_ASSERT( offsetof(u64_COpenVRContext_271, m_pVRExtendedDisplay) == 72 ); +C_ASSERT( sizeof(u64_COpenVRContext_271().m_pVRExtendedDisplay) >= 8 ); +C_ASSERT( offsetof(u64_COpenVRContext_271, m_pVRSettings) == 80 ); +C_ASSERT( sizeof(u64_COpenVRContext_271().m_pVRSettings) >= 8 ); +C_ASSERT( offsetof(u64_COpenVRContext_271, m_pVRApplications) == 88 ); +C_ASSERT( sizeof(u64_COpenVRContext_271().m_pVRApplications) >= 8 ); +C_ASSERT( offsetof(u64_COpenVRContext_271, m_pVRTrackedCamera) == 96 ); +C_ASSERT( sizeof(u64_COpenVRContext_271().m_pVRTrackedCamera) >= 8 ); +C_ASSERT( offsetof(u64_COpenVRContext_271, m_pVRScreenshots) == 104 ); +C_ASSERT( sizeof(u64_COpenVRContext_271().m_pVRScreenshots) >= 8 ); +C_ASSERT( offsetof(u64_COpenVRContext_271, m_pVRDriverManager) == 112 ); +C_ASSERT( sizeof(u64_COpenVRContext_271().m_pVRDriverManager) >= 8 ); +C_ASSERT( offsetof(u64_COpenVRContext_271, m_pVRInput) == 120 ); +C_ASSERT( sizeof(u64_COpenVRContext_271().m_pVRInput) >= 8 ); +C_ASSERT( offsetof(u64_COpenVRContext_271, m_pVRIOBuffer) == 128 ); +C_ASSERT( sizeof(u64_COpenVRContext_271().m_pVRIOBuffer) >= 8 ); +C_ASSERT( offsetof(u64_COpenVRContext_271, m_pVRSpatialAnchors) == 136 ); +C_ASSERT( sizeof(u64_COpenVRContext_271().m_pVRSpatialAnchors) >= 8 ); +C_ASSERT( offsetof(u64_COpenVRContext_271, m_pVRDebug) == 144 ); +C_ASSERT( sizeof(u64_COpenVRContext_271().m_pVRDebug) >= 8 ); +C_ASSERT( offsetof(u64_COpenVRContext_271, m_pVRNotifications) == 152 ); +C_ASSERT( sizeof(u64_COpenVRContext_271().m_pVRNotifications) >= 8 ); +C_ASSERT( offsetof(u64_COpenVRContext_271, m_pVRIPCResourceManagerClient) == 160 ); +C_ASSERT( sizeof(u64_COpenVRContext_271().m_pVRIPCResourceManagerClient) >= 8 ); + +C_ASSERT( sizeof(w32_COpenVRContext_271) >= 84 ); +C_ASSERT( offsetof(w32_COpenVRContext_271, m_pVRSystem) == 0 ); +C_ASSERT( sizeof(w32_COpenVRContext_271().m_pVRSystem) >= 4 ); +C_ASSERT( offsetof(w32_COpenVRContext_271, m_pVRChaperone) == 4 ); +C_ASSERT( sizeof(w32_COpenVRContext_271().m_pVRChaperone) >= 4 ); +C_ASSERT( offsetof(w32_COpenVRContext_271, m_pVRChaperoneSetup) == 8 ); +C_ASSERT( sizeof(w32_COpenVRContext_271().m_pVRChaperoneSetup) >= 4 ); +C_ASSERT( offsetof(w32_COpenVRContext_271, m_pVRCompositor) == 12 ); +C_ASSERT( sizeof(w32_COpenVRContext_271().m_pVRCompositor) >= 4 ); +C_ASSERT( offsetof(w32_COpenVRContext_271, m_pVRHeadsetView) == 16 ); +C_ASSERT( sizeof(w32_COpenVRContext_271().m_pVRHeadsetView) >= 4 ); +C_ASSERT( offsetof(w32_COpenVRContext_271, m_pVROverlay) == 20 ); +C_ASSERT( sizeof(w32_COpenVRContext_271().m_pVROverlay) >= 4 ); +C_ASSERT( offsetof(w32_COpenVRContext_271, m_pVROverlayView) == 24 ); +C_ASSERT( sizeof(w32_COpenVRContext_271().m_pVROverlayView) >= 4 ); +C_ASSERT( offsetof(w32_COpenVRContext_271, m_pVRResources) == 28 ); +C_ASSERT( sizeof(w32_COpenVRContext_271().m_pVRResources) >= 4 ); +C_ASSERT( offsetof(w32_COpenVRContext_271, m_pVRRenderModels) == 32 ); +C_ASSERT( sizeof(w32_COpenVRContext_271().m_pVRRenderModels) >= 4 ); +C_ASSERT( offsetof(w32_COpenVRContext_271, m_pVRExtendedDisplay) == 36 ); +C_ASSERT( sizeof(w32_COpenVRContext_271().m_pVRExtendedDisplay) >= 4 ); +C_ASSERT( offsetof(w32_COpenVRContext_271, m_pVRSettings) == 40 ); +C_ASSERT( sizeof(w32_COpenVRContext_271().m_pVRSettings) >= 4 ); +C_ASSERT( offsetof(w32_COpenVRContext_271, m_pVRApplications) == 44 ); +C_ASSERT( sizeof(w32_COpenVRContext_271().m_pVRApplications) >= 4 ); +C_ASSERT( offsetof(w32_COpenVRContext_271, m_pVRTrackedCamera) == 48 ); +C_ASSERT( sizeof(w32_COpenVRContext_271().m_pVRTrackedCamera) >= 4 ); +C_ASSERT( offsetof(w32_COpenVRContext_271, m_pVRScreenshots) == 52 ); +C_ASSERT( sizeof(w32_COpenVRContext_271().m_pVRScreenshots) >= 4 ); +C_ASSERT( offsetof(w32_COpenVRContext_271, m_pVRDriverManager) == 56 ); +C_ASSERT( sizeof(w32_COpenVRContext_271().m_pVRDriverManager) >= 4 ); +C_ASSERT( offsetof(w32_COpenVRContext_271, m_pVRInput) == 60 ); +C_ASSERT( sizeof(w32_COpenVRContext_271().m_pVRInput) >= 4 ); +C_ASSERT( offsetof(w32_COpenVRContext_271, m_pVRIOBuffer) == 64 ); +C_ASSERT( sizeof(w32_COpenVRContext_271().m_pVRIOBuffer) >= 4 ); +C_ASSERT( offsetof(w32_COpenVRContext_271, m_pVRSpatialAnchors) == 68 ); +C_ASSERT( sizeof(w32_COpenVRContext_271().m_pVRSpatialAnchors) >= 4 ); +C_ASSERT( offsetof(w32_COpenVRContext_271, m_pVRDebug) == 72 ); +C_ASSERT( sizeof(w32_COpenVRContext_271().m_pVRDebug) >= 4 ); +C_ASSERT( offsetof(w32_COpenVRContext_271, m_pVRNotifications) == 76 ); +C_ASSERT( sizeof(w32_COpenVRContext_271().m_pVRNotifications) >= 4 ); +C_ASSERT( offsetof(w32_COpenVRContext_271, m_pVRIPCResourceManagerClient) == 80 ); +C_ASSERT( sizeof(w32_COpenVRContext_271().m_pVRIPCResourceManagerClient) >= 4 ); + +C_ASSERT( sizeof(u32_COpenVRContext_271) >= 84 ); +C_ASSERT( offsetof(u32_COpenVRContext_271, m_pVRSystem) == 0 ); +C_ASSERT( sizeof(u32_COpenVRContext_271().m_pVRSystem) >= 4 ); +C_ASSERT( offsetof(u32_COpenVRContext_271, m_pVRChaperone) == 4 ); +C_ASSERT( sizeof(u32_COpenVRContext_271().m_pVRChaperone) >= 4 ); +C_ASSERT( offsetof(u32_COpenVRContext_271, m_pVRChaperoneSetup) == 8 ); +C_ASSERT( sizeof(u32_COpenVRContext_271().m_pVRChaperoneSetup) >= 4 ); +C_ASSERT( offsetof(u32_COpenVRContext_271, m_pVRCompositor) == 12 ); +C_ASSERT( sizeof(u32_COpenVRContext_271().m_pVRCompositor) >= 4 ); +C_ASSERT( offsetof(u32_COpenVRContext_271, m_pVRHeadsetView) == 16 ); +C_ASSERT( sizeof(u32_COpenVRContext_271().m_pVRHeadsetView) >= 4 ); +C_ASSERT( offsetof(u32_COpenVRContext_271, m_pVROverlay) == 20 ); +C_ASSERT( sizeof(u32_COpenVRContext_271().m_pVROverlay) >= 4 ); +C_ASSERT( offsetof(u32_COpenVRContext_271, m_pVROverlayView) == 24 ); +C_ASSERT( sizeof(u32_COpenVRContext_271().m_pVROverlayView) >= 4 ); +C_ASSERT( offsetof(u32_COpenVRContext_271, m_pVRResources) == 28 ); +C_ASSERT( sizeof(u32_COpenVRContext_271().m_pVRResources) >= 4 ); +C_ASSERT( offsetof(u32_COpenVRContext_271, m_pVRRenderModels) == 32 ); +C_ASSERT( sizeof(u32_COpenVRContext_271().m_pVRRenderModels) >= 4 ); +C_ASSERT( offsetof(u32_COpenVRContext_271, m_pVRExtendedDisplay) == 36 ); +C_ASSERT( sizeof(u32_COpenVRContext_271().m_pVRExtendedDisplay) >= 4 ); +C_ASSERT( offsetof(u32_COpenVRContext_271, m_pVRSettings) == 40 ); +C_ASSERT( sizeof(u32_COpenVRContext_271().m_pVRSettings) >= 4 ); +C_ASSERT( offsetof(u32_COpenVRContext_271, m_pVRApplications) == 44 ); +C_ASSERT( sizeof(u32_COpenVRContext_271().m_pVRApplications) >= 4 ); +C_ASSERT( offsetof(u32_COpenVRContext_271, m_pVRTrackedCamera) == 48 ); +C_ASSERT( sizeof(u32_COpenVRContext_271().m_pVRTrackedCamera) >= 4 ); +C_ASSERT( offsetof(u32_COpenVRContext_271, m_pVRScreenshots) == 52 ); +C_ASSERT( sizeof(u32_COpenVRContext_271().m_pVRScreenshots) >= 4 ); +C_ASSERT( offsetof(u32_COpenVRContext_271, m_pVRDriverManager) == 56 ); +C_ASSERT( sizeof(u32_COpenVRContext_271().m_pVRDriverManager) >= 4 ); +C_ASSERT( offsetof(u32_COpenVRContext_271, m_pVRInput) == 60 ); +C_ASSERT( sizeof(u32_COpenVRContext_271().m_pVRInput) >= 4 ); +C_ASSERT( offsetof(u32_COpenVRContext_271, m_pVRIOBuffer) == 64 ); +C_ASSERT( sizeof(u32_COpenVRContext_271().m_pVRIOBuffer) >= 4 ); +C_ASSERT( offsetof(u32_COpenVRContext_271, m_pVRSpatialAnchors) == 68 ); +C_ASSERT( sizeof(u32_COpenVRContext_271().m_pVRSpatialAnchors) >= 4 ); +C_ASSERT( offsetof(u32_COpenVRContext_271, m_pVRDebug) == 72 ); +C_ASSERT( sizeof(u32_COpenVRContext_271().m_pVRDebug) >= 4 ); +C_ASSERT( offsetof(u32_COpenVRContext_271, m_pVRNotifications) == 76 ); +C_ASSERT( sizeof(u32_COpenVRContext_271().m_pVRNotifications) >= 4 ); +C_ASSERT( offsetof(u32_COpenVRContext_271, m_pVRIPCResourceManagerClient) == 80 ); +C_ASSERT( sizeof(u32_COpenVRContext_271().m_pVRIPCResourceManagerClient) >= 4 ); + C_ASSERT( sizeof(w64_COpenVRContext_11030) >= 160 ); C_ASSERT( offsetof(w64_COpenVRContext_11030, m_pVRSystem) == 0 ); C_ASSERT( sizeof(w64_COpenVRContext_11030().m_pVRSystem) >= 8 ); @@ -14566,6 +14914,140 @@ u64_D3D12TextureData_t::operator w32_D3D12TextureData_t() const } #endif +C_ASSERT( sizeof(w64_DmabufAttributes_t) >= 104 ); +C_ASSERT( offsetof(w64_DmabufAttributes_t, pNext) == 0 ); +C_ASSERT( sizeof(w64_DmabufAttributes_t().pNext) >= 8 ); +C_ASSERT( offsetof(w64_DmabufAttributes_t, unWidth) == 8 ); +C_ASSERT( sizeof(w64_DmabufAttributes_t().unWidth) >= 4 ); +C_ASSERT( offsetof(w64_DmabufAttributes_t, unHeight) == 12 ); +C_ASSERT( sizeof(w64_DmabufAttributes_t().unHeight) >= 4 ); +C_ASSERT( offsetof(w64_DmabufAttributes_t, unDepth) == 16 ); +C_ASSERT( sizeof(w64_DmabufAttributes_t().unDepth) >= 4 ); +C_ASSERT( offsetof(w64_DmabufAttributes_t, unMipLevels) == 20 ); +C_ASSERT( sizeof(w64_DmabufAttributes_t().unMipLevels) >= 4 ); +C_ASSERT( offsetof(w64_DmabufAttributes_t, unArrayLayers) == 24 ); +C_ASSERT( sizeof(w64_DmabufAttributes_t().unArrayLayers) >= 4 ); +C_ASSERT( offsetof(w64_DmabufAttributes_t, unSampleCount) == 28 ); +C_ASSERT( sizeof(w64_DmabufAttributes_t().unSampleCount) >= 4 ); +C_ASSERT( offsetof(w64_DmabufAttributes_t, unFormat) == 32 ); +C_ASSERT( sizeof(w64_DmabufAttributes_t().unFormat) >= 4 ); +C_ASSERT( offsetof(w64_DmabufAttributes_t, ulModifier) == 40 ); +C_ASSERT( sizeof(w64_DmabufAttributes_t().ulModifier) >= 8 ); +C_ASSERT( offsetof(w64_DmabufAttributes_t, unPlaneCount) == 48 ); +C_ASSERT( sizeof(w64_DmabufAttributes_t().unPlaneCount) >= 4 ); +C_ASSERT( offsetof(w64_DmabufAttributes_t, plane) == 52 ); +C_ASSERT( sizeof(w64_DmabufAttributes_t().plane) >= 48 ); + +C_ASSERT( sizeof(u64_DmabufAttributes_t) >= 104 ); +C_ASSERT( offsetof(u64_DmabufAttributes_t, pNext) == 0 ); +C_ASSERT( sizeof(u64_DmabufAttributes_t().pNext) >= 8 ); +C_ASSERT( offsetof(u64_DmabufAttributes_t, unWidth) == 8 ); +C_ASSERT( sizeof(u64_DmabufAttributes_t().unWidth) >= 4 ); +C_ASSERT( offsetof(u64_DmabufAttributes_t, unHeight) == 12 ); +C_ASSERT( sizeof(u64_DmabufAttributes_t().unHeight) >= 4 ); +C_ASSERT( offsetof(u64_DmabufAttributes_t, unDepth) == 16 ); +C_ASSERT( sizeof(u64_DmabufAttributes_t().unDepth) >= 4 ); +C_ASSERT( offsetof(u64_DmabufAttributes_t, unMipLevels) == 20 ); +C_ASSERT( sizeof(u64_DmabufAttributes_t().unMipLevels) >= 4 ); +C_ASSERT( offsetof(u64_DmabufAttributes_t, unArrayLayers) == 24 ); +C_ASSERT( sizeof(u64_DmabufAttributes_t().unArrayLayers) >= 4 ); +C_ASSERT( offsetof(u64_DmabufAttributes_t, unSampleCount) == 28 ); +C_ASSERT( sizeof(u64_DmabufAttributes_t().unSampleCount) >= 4 ); +C_ASSERT( offsetof(u64_DmabufAttributes_t, unFormat) == 32 ); +C_ASSERT( sizeof(u64_DmabufAttributes_t().unFormat) >= 4 ); +C_ASSERT( offsetof(u64_DmabufAttributes_t, ulModifier) == 40 ); +C_ASSERT( sizeof(u64_DmabufAttributes_t().ulModifier) >= 8 ); +C_ASSERT( offsetof(u64_DmabufAttributes_t, unPlaneCount) == 48 ); +C_ASSERT( sizeof(u64_DmabufAttributes_t().unPlaneCount) >= 4 ); +C_ASSERT( offsetof(u64_DmabufAttributes_t, plane) == 52 ); +C_ASSERT( sizeof(u64_DmabufAttributes_t().plane) >= 48 ); + +C_ASSERT( sizeof(w32_DmabufAttributes_t) >= 96 ); +C_ASSERT( offsetof(w32_DmabufAttributes_t, pNext) == 0 ); +C_ASSERT( sizeof(w32_DmabufAttributes_t().pNext) >= 4 ); +C_ASSERT( offsetof(w32_DmabufAttributes_t, unWidth) == 4 ); +C_ASSERT( sizeof(w32_DmabufAttributes_t().unWidth) >= 4 ); +C_ASSERT( offsetof(w32_DmabufAttributes_t, unHeight) == 8 ); +C_ASSERT( sizeof(w32_DmabufAttributes_t().unHeight) >= 4 ); +C_ASSERT( offsetof(w32_DmabufAttributes_t, unDepth) == 12 ); +C_ASSERT( sizeof(w32_DmabufAttributes_t().unDepth) >= 4 ); +C_ASSERT( offsetof(w32_DmabufAttributes_t, unMipLevels) == 16 ); +C_ASSERT( sizeof(w32_DmabufAttributes_t().unMipLevels) >= 4 ); +C_ASSERT( offsetof(w32_DmabufAttributes_t, unArrayLayers) == 20 ); +C_ASSERT( sizeof(w32_DmabufAttributes_t().unArrayLayers) >= 4 ); +C_ASSERT( offsetof(w32_DmabufAttributes_t, unSampleCount) == 24 ); +C_ASSERT( sizeof(w32_DmabufAttributes_t().unSampleCount) >= 4 ); +C_ASSERT( offsetof(w32_DmabufAttributes_t, unFormat) == 28 ); +C_ASSERT( sizeof(w32_DmabufAttributes_t().unFormat) >= 4 ); +C_ASSERT( offsetof(w32_DmabufAttributes_t, ulModifier) == 32 ); +C_ASSERT( sizeof(w32_DmabufAttributes_t().ulModifier) >= 8 ); +C_ASSERT( offsetof(w32_DmabufAttributes_t, unPlaneCount) == 40 ); +C_ASSERT( sizeof(w32_DmabufAttributes_t().unPlaneCount) >= 4 ); +C_ASSERT( offsetof(w32_DmabufAttributes_t, plane) == 44 ); +C_ASSERT( sizeof(w32_DmabufAttributes_t().plane) >= 48 ); + +C_ASSERT( sizeof(u32_DmabufAttributes_t) >= 92 ); +C_ASSERT( offsetof(u32_DmabufAttributes_t, pNext) == 0 ); +C_ASSERT( sizeof(u32_DmabufAttributes_t().pNext) >= 4 ); +C_ASSERT( offsetof(u32_DmabufAttributes_t, unWidth) == 4 ); +C_ASSERT( sizeof(u32_DmabufAttributes_t().unWidth) >= 4 ); +C_ASSERT( offsetof(u32_DmabufAttributes_t, unHeight) == 8 ); +C_ASSERT( sizeof(u32_DmabufAttributes_t().unHeight) >= 4 ); +C_ASSERT( offsetof(u32_DmabufAttributes_t, unDepth) == 12 ); +C_ASSERT( sizeof(u32_DmabufAttributes_t().unDepth) >= 4 ); +C_ASSERT( offsetof(u32_DmabufAttributes_t, unMipLevels) == 16 ); +C_ASSERT( sizeof(u32_DmabufAttributes_t().unMipLevels) >= 4 ); +C_ASSERT( offsetof(u32_DmabufAttributes_t, unArrayLayers) == 20 ); +C_ASSERT( sizeof(u32_DmabufAttributes_t().unArrayLayers) >= 4 ); +C_ASSERT( offsetof(u32_DmabufAttributes_t, unSampleCount) == 24 ); +C_ASSERT( sizeof(u32_DmabufAttributes_t().unSampleCount) >= 4 ); +C_ASSERT( offsetof(u32_DmabufAttributes_t, unFormat) == 28 ); +C_ASSERT( sizeof(u32_DmabufAttributes_t().unFormat) >= 4 ); +C_ASSERT( offsetof(u32_DmabufAttributes_t, ulModifier) == 32 ); +C_ASSERT( sizeof(u32_DmabufAttributes_t().ulModifier) >= 8 ); +C_ASSERT( offsetof(u32_DmabufAttributes_t, unPlaneCount) == 40 ); +C_ASSERT( sizeof(u32_DmabufAttributes_t().unPlaneCount) >= 4 ); +C_ASSERT( offsetof(u32_DmabufAttributes_t, plane) == 44 ); +C_ASSERT( sizeof(u32_DmabufAttributes_t().plane) >= 48 ); + +#if defined(__x86_64__) || defined(__aarch64__) +w32_DmabufAttributes_t::operator u64_DmabufAttributes_t() const +{ + u64_DmabufAttributes_t ret; + ret.pNext = this->pNext; + ret.unWidth = this->unWidth; + ret.unHeight = this->unHeight; + ret.unDepth = this->unDepth; + ret.unMipLevels = this->unMipLevels; + ret.unArrayLayers = this->unArrayLayers; + ret.unSampleCount = this->unSampleCount; + ret.unFormat = this->unFormat; + ret.ulModifier = this->ulModifier; + ret.unPlaneCount = this->unPlaneCount; + ret.plane = this->plane; + return ret; +} +#endif + +#if defined(__x86_64__) || defined(__aarch64__) +u64_DmabufAttributes_t::operator w32_DmabufAttributes_t() const +{ + w32_DmabufAttributes_t ret; + ret.pNext = this->pNext; + ret.unWidth = this->unWidth; + ret.unHeight = this->unHeight; + ret.unDepth = this->unDepth; + ret.unMipLevels = this->unMipLevels; + ret.unArrayLayers = this->unArrayLayers; + ret.unSampleCount = this->unSampleCount; + ret.unFormat = this->unFormat; + ret.ulModifier = this->ulModifier; + ret.unPlaneCount = this->unPlaneCount; + ret.plane = this->plane; + return ret; +} +#endif + C_ASSERT( sizeof(w64_HiddenAreaMesh_t) >= 16 ); C_ASSERT( offsetof(w64_HiddenAreaMesh_t, pVertexData) == 0 ); C_ASSERT( sizeof(w64_HiddenAreaMesh_t().pVertexData) >= 8 ); diff --git a/vrclient_x64/unixlib_generated.h b/vrclient_x64/unixlib_generated.h index df1247d860..e7d55d82ae 100644 --- a/vrclient_x64/unixlib_generated.h +++ b/vrclient_x64/unixlib_generated.h @@ -44443,6 +44443,1394 @@ struct wow64_IVROverlay_IVROverlay_027_CloseMessageOverlay_params struct u_iface u_iface; }; +struct IVROverlay_IVROverlay_028_FindOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchOverlayKey; + uint64_t *pOverlayHandle; +}; + +struct wow64_IVROverlay_IVROverlay_028_FindOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); + W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); +}; + +struct IVROverlay_IVROverlay_028_CreateOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchOverlayKey; + const char *pchOverlayName; + uint64_t *pOverlayHandle; +}; + +struct wow64_IVROverlay_IVROverlay_028_CreateOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); + W32_PTR(const char *pchOverlayName, pchOverlayName, const char *); + W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); +}; + +struct IVROverlay_IVROverlay_028_CreateSubviewOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t parentOverlayHandle; + const char *pchSubviewOverlayKey; + const char *pchSubviewOverlayName; + uint64_t *pSubviewOverlayHandle; +}; + +struct wow64_IVROverlay_IVROverlay_028_CreateSubviewOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t parentOverlayHandle; + W32_PTR(const char *pchSubviewOverlayKey, pchSubviewOverlayKey, const char *); + W32_PTR(const char *pchSubviewOverlayName, pchSubviewOverlayName, const char *); + W32_PTR(uint64_t *pSubviewOverlayHandle, pSubviewOverlayHandle, uint64_t *); +}; + +struct IVROverlay_IVROverlay_028_DestroyOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; +}; + +struct wow64_IVROverlay_IVROverlay_028_DestroyOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; +}; + +struct IVROverlay_IVROverlay_028_GetOverlayKey_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + char *pchValue; + uint32_t unBufferSize; + uint32_t *pError; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayKey_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(char *pchValue, pchValue, char *); + uint32_t unBufferSize; + W32_PTR(uint32_t *pError, pError, uint32_t *); +}; + +struct IVROverlay_IVROverlay_028_GetOverlayName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + char *pchValue; + uint32_t unBufferSize; + uint32_t *pError; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(char *pchValue, pchValue, char *); + uint32_t unBufferSize; + W32_PTR(uint32_t *pError, pError, uint32_t *); +}; + +struct IVROverlay_IVROverlay_028_SetOverlayName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + const char *pchName; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(const char *pchName, pchName, const char *); +}; + +struct IVROverlay_IVROverlay_028_GetOverlayImageData_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + void *pvBuffer; + uint32_t unBufferSize; + uint32_t *punWidth; + uint32_t *punHeight; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayImageData_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(void *pvBuffer, pvBuffer, void *); + uint32_t unBufferSize; + W32_PTR(uint32_t *punWidth, punWidth, uint32_t *); + W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); +}; + +struct IVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum_params +{ + struct u_iface u_iface; + struct u_buffer _ret; + uint32_t error; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum_params +{ + struct u_iface u_iface; + struct u_buffer _ret; + uint32_t error; +}; + +struct IVROverlay_IVROverlay_028_SetOverlayRenderingPid_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t unPID; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayRenderingPid_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t unPID; +}; + +struct IVROverlay_IVROverlay_028_GetOverlayRenderingPid_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayRenderingPid_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; +}; + +struct IVROverlay_IVROverlay_028_SetOverlayFlag_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eOverlayFlag; + int8_t bEnabled; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayFlag_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eOverlayFlag; + int8_t bEnabled; +}; + +struct IVROverlay_IVROverlay_028_GetOverlayFlag_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eOverlayFlag; + int8_t *pbEnabled; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayFlag_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eOverlayFlag; + W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); +}; + +struct IVROverlay_IVROverlay_028_GetOverlayFlags_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *pFlags; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayFlags_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); +}; + +struct IVROverlay_IVROverlay_028_SetOverlayColor_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + float fRed; + float fGreen; + float fBlue; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayColor_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + float fRed; + float fGreen; + float fBlue; +}; + +struct IVROverlay_IVROverlay_028_GetOverlayColor_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + float *pfRed; + float *pfGreen; + float *pfBlue; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayColor_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(float *pfRed, pfRed, float *); + W32_PTR(float *pfGreen, pfGreen, float *); + W32_PTR(float *pfBlue, pfBlue, float *); +}; + +struct IVROverlay_IVROverlay_028_SetOverlayAlpha_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + float fAlpha; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayAlpha_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + float fAlpha; +}; + +struct IVROverlay_IVROverlay_028_GetOverlayAlpha_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + float *pfAlpha; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayAlpha_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(float *pfAlpha, pfAlpha, float *); +}; + +struct IVROverlay_IVROverlay_028_SetOverlayTexelAspect_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + float fTexelAspect; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTexelAspect_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + float fTexelAspect; +}; + +struct IVROverlay_IVROverlay_028_GetOverlayTexelAspect_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + float *pfTexelAspect; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTexelAspect_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); +}; + +struct IVROverlay_IVROverlay_028_SetOverlaySortOrder_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t unSortOrder; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlaySortOrder_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t unSortOrder; +}; + +struct IVROverlay_IVROverlay_028_GetOverlaySortOrder_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *punSortOrder; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlaySortOrder_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); +}; + +struct IVROverlay_IVROverlay_028_SetOverlayWidthInMeters_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + float fWidthInMeters; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayWidthInMeters_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + float fWidthInMeters; +}; + +struct IVROverlay_IVROverlay_028_GetOverlayWidthInMeters_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + float *pfWidthInMeters; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayWidthInMeters_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); +}; + +struct IVROverlay_IVROverlay_028_SetOverlayCurvature_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + float fCurvature; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayCurvature_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + float fCurvature; +}; + +struct IVROverlay_IVROverlay_028_GetOverlayCurvature_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + float *pfCurvature; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayCurvature_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(float *pfCurvature, pfCurvature, float *); +}; + +struct IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + float fRadians; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + float fRadians; +}; + +struct IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + float *pfRadians; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(float *pfRadians, pfRadians, float *); +}; + +struct IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eTextureColorSpace; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eTextureColorSpace; +}; + +struct IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *peTextureColorSpace; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); +}; + +struct IVROverlay_IVROverlay_028_SetOverlayTextureBounds_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + const VRTextureBounds_t *pOverlayTextureBounds; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTextureBounds_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); +}; + +struct IVROverlay_IVROverlay_028_GetOverlayTextureBounds_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + VRTextureBounds_t *pOverlayTextureBounds; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureBounds_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); +}; + +struct IVROverlay_IVROverlay_028_GetOverlayTransformType_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *peTransformType; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformType_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); +}; + +struct IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eTrackingOrigin; + const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eTrackingOrigin; + W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); +}; + +struct IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *peTrackingOrigin; + HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *peTrackingOrigin, peTrackingOrigin, uint32_t *); + W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); +}; + +struct IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t unTrackedDevice; + const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t unTrackedDevice; + W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); +}; + +struct IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *punTrackedDevice; + HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *punTrackedDevice, punTrackedDevice, uint32_t *); + W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); +}; + +struct IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t unDeviceIndex; + const char *pchComponentName; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t unDeviceIndex; + W32_PTR(const char *pchComponentName, pchComponentName, const char *); +}; + +struct IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *punDeviceIndex; + char *pchComponentName; + uint32_t unComponentNameSize; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *punDeviceIndex, punDeviceIndex, uint32_t *); + W32_PTR(char *pchComponentName, pchComponentName, char *); + uint32_t unComponentNameSize; +}; + +struct IVROverlay_IVROverlay_028_SetOverlayTransformCursor_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulCursorOverlayHandle; + const HmdVector2_t *pvHotspot; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformCursor_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulCursorOverlayHandle; + W32_PTR(const HmdVector2_t *pvHotspot, pvHotspot, const HmdVector2_t *); +}; + +struct IVROverlay_IVROverlay_028_GetOverlayTransformCursor_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + HmdVector2_t *pvHotspot; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformCursor_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(HmdVector2_t *pvHotspot, pvHotspot, HmdVector2_t *); +}; + +struct IVROverlay_IVROverlay_028_SetOverlayTransformProjection_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eTrackingOrigin; + const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; + const VROverlayProjection_t *pProjection; + uint32_t eEye; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformProjection_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eTrackingOrigin; + W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); + W32_PTR(const VROverlayProjection_t *pProjection, pProjection, const VROverlayProjection_t *); + uint32_t eEye; +}; + +struct IVROverlay_IVROverlay_028_SetSubviewPosition_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + float fX; + float fY; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetSubviewPosition_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + float fX; + float fY; +}; + +struct IVROverlay_IVROverlay_028_ShowOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; +}; + +struct wow64_IVROverlay_IVROverlay_028_ShowOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; +}; + +struct IVROverlay_IVROverlay_028_HideOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; +}; + +struct wow64_IVROverlay_IVROverlay_028_HideOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; +}; + +struct IVROverlay_IVROverlay_028_IsOverlayVisible_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; +}; + +struct wow64_IVROverlay_IVROverlay_028_IsOverlayVisible_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; +}; + +struct IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eTrackingOrigin; + HmdVector2_t coordinatesInOverlay; + HmdMatrix34_t *pmatTransform; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eTrackingOrigin; + HmdVector2_t coordinatesInOverlay; + W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); +}; + +struct IVROverlay_IVROverlay_028_WaitFrameSync_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t nTimeoutMs; +}; + +struct wow64_IVROverlay_IVROverlay_028_WaitFrameSync_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t nTimeoutMs; +}; + +struct IVROverlay_IVROverlay_028_PollNextOverlayEvent_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; + w_VREvent_t_223 *pEvent; + uint32_t uncbVREvent; +}; + +struct wow64_IVROverlay_IVROverlay_028_PollNextOverlayEvent_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(w32_VREvent_t_223 *pEvent, pEvent, w32_VREvent_t_223 *); + uint32_t uncbVREvent; +}; + +struct IVROverlay_IVROverlay_028_GetOverlayInputMethod_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *peInputMethod; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayInputMethod_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); +}; + +struct IVROverlay_IVROverlay_028_SetOverlayInputMethod_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eInputMethod; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayInputMethod_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eInputMethod; +}; + +struct IVROverlay_IVROverlay_028_GetOverlayMouseScale_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + HmdVector2_t *pvecMouseScale; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayMouseScale_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); +}; + +struct IVROverlay_IVROverlay_028_SetOverlayMouseScale_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + const HmdVector2_t *pvecMouseScale; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayMouseScale_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); +}; + +struct IVROverlay_IVROverlay_028_ComputeOverlayIntersection_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; + const VROverlayIntersectionParams_t *pParams; + VROverlayIntersectionResults_t *pResults; +}; + +struct wow64_IVROverlay_IVROverlay_028_ComputeOverlayIntersection_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(const VROverlayIntersectionParams_t *pParams, pParams, const VROverlayIntersectionParams_t *); + W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); +}; + +struct IVROverlay_IVROverlay_028_IsHoverTargetOverlay_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; +}; + +struct wow64_IVROverlay_IVROverlay_028_IsHoverTargetOverlay_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; +}; + +struct IVROverlay_IVROverlay_028_SetOverlayIntersectionMask_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives; + uint32_t unNumMaskPrimitives; + uint32_t unPrimitiveSize; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayIntersectionMask_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, pMaskPrimitives, VROverlayIntersectionMaskPrimitive_t *); + uint32_t unNumMaskPrimitives; + uint32_t unPrimitiveSize; +}; + +struct IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + float fDurationSeconds; + float fFrequency; + float fAmplitude; +}; + +struct wow64_IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + float fDurationSeconds; + float fFrequency; + float fAmplitude; +}; + +struct IVROverlay_IVROverlay_028_SetOverlayCursor_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint64_t ulCursorHandle; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayCursor_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint64_t ulCursorHandle; +}; + +struct IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + const HmdVector2_t *pvCursor; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(const HmdVector2_t *pvCursor, pvCursor, const HmdVector2_t *); +}; + +struct IVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; +}; + +struct wow64_IVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; +}; + +struct IVROverlay_IVROverlay_028_SetOverlayTexture_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + const w_Texture_t *pTexture; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTexture_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); +}; + +struct IVROverlay_IVROverlay_028_ClearOverlayTexture_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; +}; + +struct wow64_IVROverlay_IVROverlay_028_ClearOverlayTexture_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; +}; + +struct IVROverlay_IVROverlay_028_SetOverlayRaw_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + void *pvBuffer; + uint32_t unWidth; + uint32_t unHeight; + uint32_t unBytesPerPixel; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayRaw_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(void *pvBuffer, pvBuffer, void *); + uint32_t unWidth; + uint32_t unHeight; + uint32_t unBytesPerPixel; +}; + +struct IVROverlay_IVROverlay_028_SetOverlayFromFile_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + const char *pchFilePath; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetOverlayFromFile_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(const char *pchFilePath, pchFilePath, const char *); +}; + +struct IVROverlay_IVROverlay_028_GetOverlayTexture_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + void **pNativeTextureHandle; + void *pNativeTextureRef; + uint32_t *pWidth; + uint32_t *pHeight; + uint32_t *pNativeFormat; + uint32_t *pAPIType; + uint32_t *pColorSpace; + VRTextureBounds_t *pTextureBounds; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTexture_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(void **pNativeTextureHandle, pNativeTextureHandle, void **); + W32_PTR(void *pNativeTextureRef, pNativeTextureRef, void *); + W32_PTR(uint32_t *pWidth, pWidth, uint32_t *); + W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); + W32_PTR(uint32_t *pNativeFormat, pNativeFormat, uint32_t *); + W32_PTR(uint32_t *pAPIType, pAPIType, uint32_t *); + W32_PTR(uint32_t *pColorSpace, pColorSpace, uint32_t *); + W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); +}; + +struct IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + void *pNativeTextureHandle; +}; + +struct wow64_IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); +}; + +struct IVROverlay_IVROverlay_028_GetOverlayTextureSize_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *pWidth; + uint32_t *pHeight; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureSize_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *pWidth, pWidth, uint32_t *); + W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); +}; + +struct IVROverlay_IVROverlay_028_CreateDashboardOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchOverlayKey; + const char *pchOverlayFriendlyName; + uint64_t *pMainHandle; + uint64_t *pThumbnailHandle; +}; + +struct wow64_IVROverlay_IVROverlay_028_CreateDashboardOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); + W32_PTR(const char *pchOverlayFriendlyName, pchOverlayFriendlyName, const char *); + W32_PTR(uint64_t *pMainHandle, pMainHandle, uint64_t *); + W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); +}; + +struct IVROverlay_IVROverlay_028_IsDashboardVisible_params +{ + struct u_iface u_iface; + int8_t _ret; +}; + +struct wow64_IVROverlay_IVROverlay_028_IsDashboardVisible_params +{ + struct u_iface u_iface; + int8_t _ret; +}; + +struct IVROverlay_IVROverlay_028_IsActiveDashboardOverlay_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; +}; + +struct wow64_IVROverlay_IVROverlay_028_IsActiveDashboardOverlay_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; +}; + +struct IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t unProcessId; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t unProcessId; +}; + +struct IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *punProcessId; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); +}; + +struct IVROverlay_IVROverlay_028_ShowDashboard_params +{ + struct u_iface u_iface; + const char *pchOverlayToShow; +}; + +struct wow64_IVROverlay_IVROverlay_028_ShowDashboard_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); +}; + +struct IVROverlay_IVROverlay_028_GetPrimaryDashboardDevice_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetPrimaryDashboardDevice_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct IVROverlay_IVROverlay_028_ShowKeyboard_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t eInputMode; + uint32_t eLineInputMode; + uint32_t unFlags; + const char *pchDescription; + uint32_t unCharMax; + const char *pchExistingText; + uint64_t uUserValue; +}; + +struct wow64_IVROverlay_IVROverlay_028_ShowKeyboard_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t eInputMode; + uint32_t eLineInputMode; + uint32_t unFlags; + W32_PTR(const char *pchDescription, pchDescription, const char *); + uint32_t unCharMax; + W32_PTR(const char *pchExistingText, pchExistingText, const char *); + uint64_t uUserValue; +}; + +struct IVROverlay_IVROverlay_028_ShowKeyboardForOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eInputMode; + uint32_t eLineInputMode; + uint32_t unFlags; + const char *pchDescription; + uint32_t unCharMax; + const char *pchExistingText; + uint64_t uUserValue; +}; + +struct wow64_IVROverlay_IVROverlay_028_ShowKeyboardForOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eInputMode; + uint32_t eLineInputMode; + uint32_t unFlags; + W32_PTR(const char *pchDescription, pchDescription, const char *); + uint32_t unCharMax; + W32_PTR(const char *pchExistingText, pchExistingText, const char *); + uint64_t uUserValue; +}; + +struct IVROverlay_IVROverlay_028_GetKeyboardText_params +{ + struct u_iface u_iface; + uint32_t _ret; + char *pchText; + uint32_t cchText; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetKeyboardText_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(char *pchText, pchText, char *); + uint32_t cchText; +}; + +struct IVROverlay_IVROverlay_028_HideKeyboard_params +{ + struct u_iface u_iface; +}; + +struct wow64_IVROverlay_IVROverlay_028_HideKeyboard_params +{ + struct u_iface u_iface; +}; + +struct IVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute_params +{ + struct u_iface u_iface; + uint32_t eTrackingOrigin; + const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute_params +{ + struct u_iface u_iface; + uint32_t eTrackingOrigin; + W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); +}; + +struct IVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay_params +{ + struct u_iface u_iface; + uint64_t ulOverlayHandle; + HmdRect2_t avoidRect; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay_params +{ + struct u_iface u_iface; + uint64_t ulOverlayHandle; + HmdRect2_t avoidRect; +}; + +struct IVROverlay_IVROverlay_028_ShowMessageOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchText; + const char *pchCaption; + const char *pchButton0Text; + const char *pchButton1Text; + const char *pchButton2Text; + const char *pchButton3Text; +}; + +struct wow64_IVROverlay_IVROverlay_028_ShowMessageOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchText, pchText, const char *); + W32_PTR(const char *pchCaption, pchCaption, const char *); + W32_PTR(const char *pchButton0Text, pchButton0Text, const char *); + W32_PTR(const char *pchButton1Text, pchButton1Text, const char *); + W32_PTR(const char *pchButton2Text, pchButton2Text, const char *); + W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); +}; + +struct IVROverlay_IVROverlay_028_CloseMessageOverlay_params +{ + struct u_iface u_iface; +}; + +struct wow64_IVROverlay_IVROverlay_028_CloseMessageOverlay_params +{ + struct u_iface u_iface; +}; + struct IVRRenderModels_IVRRenderModels_001_LoadRenderModel_params { struct u_iface u_iface; @@ -61252,6 +62640,88 @@ enum unix_funcs unix_IVROverlay_IVROverlay_027_SetKeyboardPositionForOverlay, unix_IVROverlay_IVROverlay_027_ShowMessageOverlay, unix_IVROverlay_IVROverlay_027_CloseMessageOverlay, + unix_IVROverlay_IVROverlay_028_FindOverlay, + unix_IVROverlay_IVROverlay_028_CreateOverlay, + unix_IVROverlay_IVROverlay_028_CreateSubviewOverlay, + unix_IVROverlay_IVROverlay_028_DestroyOverlay, + unix_IVROverlay_IVROverlay_028_GetOverlayKey, + unix_IVROverlay_IVROverlay_028_GetOverlayName, + unix_IVROverlay_IVROverlay_028_SetOverlayName, + unix_IVROverlay_IVROverlay_028_GetOverlayImageData, + unix_IVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum, + unix_IVROverlay_IVROverlay_028_SetOverlayRenderingPid, + unix_IVROverlay_IVROverlay_028_GetOverlayRenderingPid, + unix_IVROverlay_IVROverlay_028_SetOverlayFlag, + unix_IVROverlay_IVROverlay_028_GetOverlayFlag, + unix_IVROverlay_IVROverlay_028_GetOverlayFlags, + unix_IVROverlay_IVROverlay_028_SetOverlayColor, + unix_IVROverlay_IVROverlay_028_GetOverlayColor, + unix_IVROverlay_IVROverlay_028_SetOverlayAlpha, + unix_IVROverlay_IVROverlay_028_GetOverlayAlpha, + unix_IVROverlay_IVROverlay_028_SetOverlayTexelAspect, + unix_IVROverlay_IVROverlay_028_GetOverlayTexelAspect, + unix_IVROverlay_IVROverlay_028_SetOverlaySortOrder, + unix_IVROverlay_IVROverlay_028_GetOverlaySortOrder, + unix_IVROverlay_IVROverlay_028_SetOverlayWidthInMeters, + unix_IVROverlay_IVROverlay_028_GetOverlayWidthInMeters, + unix_IVROverlay_IVROverlay_028_SetOverlayCurvature, + unix_IVROverlay_IVROverlay_028_GetOverlayCurvature, + unix_IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch, + unix_IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch, + unix_IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace, + unix_IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace, + unix_IVROverlay_IVROverlay_028_SetOverlayTextureBounds, + unix_IVROverlay_IVROverlay_028_GetOverlayTextureBounds, + unix_IVROverlay_IVROverlay_028_GetOverlayTransformType, + unix_IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute, + unix_IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute, + unix_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative, + unix_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative, + unix_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent, + unix_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent, + unix_IVROverlay_IVROverlay_028_SetOverlayTransformCursor, + unix_IVROverlay_IVROverlay_028_GetOverlayTransformCursor, + unix_IVROverlay_IVROverlay_028_SetOverlayTransformProjection, + unix_IVROverlay_IVROverlay_028_SetSubviewPosition, + unix_IVROverlay_IVROverlay_028_ShowOverlay, + unix_IVROverlay_IVROverlay_028_HideOverlay, + unix_IVROverlay_IVROverlay_028_IsOverlayVisible, + unix_IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates, + unix_IVROverlay_IVROverlay_028_WaitFrameSync, + unix_IVROverlay_IVROverlay_028_PollNextOverlayEvent, + unix_IVROverlay_IVROverlay_028_GetOverlayInputMethod, + unix_IVROverlay_IVROverlay_028_SetOverlayInputMethod, + unix_IVROverlay_IVROverlay_028_GetOverlayMouseScale, + unix_IVROverlay_IVROverlay_028_SetOverlayMouseScale, + unix_IVROverlay_IVROverlay_028_ComputeOverlayIntersection, + unix_IVROverlay_IVROverlay_028_IsHoverTargetOverlay, + unix_IVROverlay_IVROverlay_028_SetOverlayIntersectionMask, + unix_IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration, + unix_IVROverlay_IVROverlay_028_SetOverlayCursor, + unix_IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride, + unix_IVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride, + unix_IVROverlay_IVROverlay_028_SetOverlayTexture, + unix_IVROverlay_IVROverlay_028_ClearOverlayTexture, + unix_IVROverlay_IVROverlay_028_SetOverlayRaw, + unix_IVROverlay_IVROverlay_028_SetOverlayFromFile, + unix_IVROverlay_IVROverlay_028_GetOverlayTexture, + unix_IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle, + unix_IVROverlay_IVROverlay_028_GetOverlayTextureSize, + unix_IVROverlay_IVROverlay_028_CreateDashboardOverlay, + unix_IVROverlay_IVROverlay_028_IsDashboardVisible, + unix_IVROverlay_IVROverlay_028_IsActiveDashboardOverlay, + unix_IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess, + unix_IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess, + unix_IVROverlay_IVROverlay_028_ShowDashboard, + unix_IVROverlay_IVROverlay_028_GetPrimaryDashboardDevice, + unix_IVROverlay_IVROverlay_028_ShowKeyboard, + unix_IVROverlay_IVROverlay_028_ShowKeyboardForOverlay, + unix_IVROverlay_IVROverlay_028_GetKeyboardText, + unix_IVROverlay_IVROverlay_028_HideKeyboard, + unix_IVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute, + unix_IVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay, + unix_IVROverlay_IVROverlay_028_ShowMessageOverlay, + unix_IVROverlay_IVROverlay_028_CloseMessageOverlay, unix_IVRRenderModels_IVRRenderModels_001_LoadRenderModel, unix_IVRRenderModels_IVRRenderModels_001_FreeRenderModel, unix_IVRRenderModels_IVRRenderModels_001_GetRenderModelName, diff --git a/vrclient_x64/vrclient_generated.c b/vrclient_x64/vrclient_generated.c index cf362718d9..602253e76a 100644 --- a/vrclient_x64/vrclient_generated.c +++ b/vrclient_x64/vrclient_generated.c @@ -156,6 +156,8 @@ static const struct { const char *iface_version; iface_constructor ctor; } const {"FnTable:IVROverlay_026", create_winIVROverlay_IVROverlay_026_FnTable}, {"IVROverlay_027", create_winIVROverlay_IVROverlay_027}, {"FnTable:IVROverlay_027", create_winIVROverlay_IVROverlay_027_FnTable}, + {"IVROverlay_028", create_winIVROverlay_IVROverlay_028}, + {"FnTable:IVROverlay_028", create_winIVROverlay_IVROverlay_028_FnTable}, {"IVRRenderModels_001", create_winIVRRenderModels_IVRRenderModels_001}, {"FnTable:IVRRenderModels_001", create_winIVRRenderModels_IVRRenderModels_001_FnTable}, {"IVRRenderModels_002", create_winIVRRenderModels_IVRRenderModels_002}, @@ -385,6 +387,8 @@ static const struct { const char *iface_version; iface_destructor dtor; } destru {"FnTable:IVROverlay_026", destroy_winIVROverlay_IVROverlay_026_FnTable}, {"IVROverlay_027", destroy_winIVROverlay_IVROverlay_027}, {"FnTable:IVROverlay_027", destroy_winIVROverlay_IVROverlay_027_FnTable}, + {"IVROverlay_028", destroy_winIVROverlay_IVROverlay_028}, + {"FnTable:IVROverlay_028", destroy_winIVROverlay_IVROverlay_028_FnTable}, {"IVRRenderModels_001", destroy_winIVRRenderModels_IVRRenderModels_001}, {"FnTable:IVRRenderModels_001", destroy_winIVRRenderModels_IVRRenderModels_001_FnTable}, {"IVRRenderModels_002", destroy_winIVRRenderModels_IVRRenderModels_002}, diff --git a/vrclient_x64/vrclient_generated.h b/vrclient_x64/vrclient_generated.h index a2e1daf3bd..a72e3cfb5d 100644 --- a/vrclient_x64/vrclient_generated.h +++ b/vrclient_x64/vrclient_generated.h @@ -304,6 +304,10 @@ extern struct w_iface *create_winIVROverlay_IVROverlay_027( struct u_iface ); extern struct w_iface *create_winIVROverlay_IVROverlay_027_FnTable( struct u_iface ); extern void destroy_winIVROverlay_IVROverlay_027(struct w_iface *); extern void destroy_winIVROverlay_IVROverlay_027_FnTable(struct w_iface *); +extern struct w_iface *create_winIVROverlay_IVROverlay_028( struct u_iface ); +extern struct w_iface *create_winIVROverlay_IVROverlay_028_FnTable( struct u_iface ); +extern void destroy_winIVROverlay_IVROverlay_028(struct w_iface *); +extern void destroy_winIVROverlay_IVROverlay_028_FnTable(struct w_iface *); extern struct w_iface *create_winIVRRenderModels_IVRRenderModels_001( struct u_iface ); extern struct w_iface *create_winIVRRenderModels_IVRRenderModels_001_FnTable( struct u_iface ); extern void destroy_winIVRRenderModels_IVRRenderModels_001(struct w_iface *); diff --git a/vrclient_x64/vrclient_structs_generated.h b/vrclient_x64/vrclient_structs_generated.h index f85a131c98..5228f06a80 100644 --- a/vrclient_x64/vrclient_structs_generated.h +++ b/vrclient_x64/vrclient_structs_generated.h @@ -1318,6 +1318,16 @@ struct DistortionCoordinates_t }; #pragma pack( pop ) +typedef struct DmabufPlane_t DmabufPlane_t; +#pragma pack( push, 4 ) +struct DmabufPlane_t +{ + uint32_t unOffset; + uint32_t unStride; + int32_t nFd; +}; +#pragma pack( pop ) + typedef struct DriverDirectMode_FrameTiming DriverDirectMode_FrameTiming; #pragma pack( push, 4 ) struct DriverDirectMode_FrameTiming @@ -1532,6 +1542,10 @@ typedef struct w64_AppOverrideKeys_t u64_AppOverrideKeys_t; typedef struct w64_AppOverrideKeys_t w64_AppOverrideKeys_t; typedef struct w32_AppOverrideKeys_t u32_AppOverrideKeys_t; typedef struct w32_AppOverrideKeys_t w32_AppOverrideKeys_t; +typedef struct w64_COpenVRContext_271 u64_COpenVRContext_271; +typedef struct w64_COpenVRContext_271 w64_COpenVRContext_271; +typedef struct w32_COpenVRContext_271 u32_COpenVRContext_271; +typedef struct w32_COpenVRContext_271 w32_COpenVRContext_271; typedef struct w64_COpenVRContext_11030 u64_COpenVRContext_11030; typedef struct w64_COpenVRContext_11030 w64_COpenVRContext_11030; typedef struct w32_COpenVRContext_11030 u32_COpenVRContext_11030; @@ -1636,6 +1650,10 @@ typedef struct w64_D3D12TextureData_t u64_D3D12TextureData_t; typedef struct w64_D3D12TextureData_t w64_D3D12TextureData_t; typedef struct w32_D3D12TextureData_t u32_D3D12TextureData_t; typedef struct w32_D3D12TextureData_t w32_D3D12TextureData_t; +typedef struct w64_DmabufAttributes_t u64_DmabufAttributes_t; +typedef struct w64_DmabufAttributes_t w64_DmabufAttributes_t; +typedef struct w32_DmabufAttributes_t u32_DmabufAttributes_t; +typedef struct w32_DmabufAttributes_t w32_DmabufAttributes_t; typedef struct w64_HiddenAreaMesh_t u64_HiddenAreaMesh_t; typedef struct w64_HiddenAreaMesh_t w64_HiddenAreaMesh_t; typedef struct w32_HiddenAreaMesh_t u32_HiddenAreaMesh_t; @@ -1646,6 +1664,12 @@ typedef struct u_IVRDebug u32_IVRDebug; typedef struct w_IVRDebug w_IVRDebug; typedef struct w_IVRDebug w64_IVRDebug; typedef struct w_IVRDebug w32_IVRDebug; +typedef struct u_IVRIPCResourceManagerClient u_IVRIPCResourceManagerClient; +typedef struct u_IVRIPCResourceManagerClient u64_IVRIPCResourceManagerClient; +typedef struct u_IVRIPCResourceManagerClient u32_IVRIPCResourceManagerClient; +typedef struct w_IVRIPCResourceManagerClient w_IVRIPCResourceManagerClient; +typedef struct w_IVRIPCResourceManagerClient w64_IVRIPCResourceManagerClient; +typedef struct w_IVRIPCResourceManagerClient w32_IVRIPCResourceManagerClient; typedef struct u_IVRSpatialAnchors u_IVRSpatialAnchors; typedef struct u_IVRSpatialAnchors u64_IVRSpatialAnchors; typedef struct u_IVRSpatialAnchors u32_IVRSpatialAnchors; @@ -2101,6 +2125,75 @@ typedef w64_AppOverrideKeys_t w_AppOverrideKeys_t; typedef u64_AppOverrideKeys_t u_AppOverrideKeys_t; #endif +#pragma pack( push, 8 ) +struct w64_COpenVRContext_271 +{ + W64_PTR(void /*IVRSystem*/ *m_pVRSystem, m_pVRSystem, void /*IVRSystem*/ *); + W64_PTR(void /*IVRChaperone*/ *m_pVRChaperone, m_pVRChaperone, void /*IVRChaperone*/ *); + W64_PTR(void /*IVRChaperoneSetup*/ *m_pVRChaperoneSetup, m_pVRChaperoneSetup, void /*IVRChaperoneSetup*/ *); + W64_PTR(void /*IVRCompositor*/ *m_pVRCompositor, m_pVRCompositor, void /*IVRCompositor*/ *); + W64_PTR(void /*IVRHeadsetView*/ *m_pVRHeadsetView, m_pVRHeadsetView, void /*IVRHeadsetView*/ *); + W64_PTR(void /*IVROverlay*/ *m_pVROverlay, m_pVROverlay, void /*IVROverlay*/ *); + W64_PTR(void /*IVROverlayView*/ *m_pVROverlayView, m_pVROverlayView, void /*IVROverlayView*/ *); + W64_PTR(void /*IVRResources*/ *m_pVRResources, m_pVRResources, void /*IVRResources*/ *); + W64_PTR(void /*IVRRenderModels*/ *m_pVRRenderModels, m_pVRRenderModels, void /*IVRRenderModels*/ *); + W64_PTR(void /*IVRExtendedDisplay*/ *m_pVRExtendedDisplay, m_pVRExtendedDisplay, void /*IVRExtendedDisplay*/ *); + W64_PTR(void /*IVRSettings*/ *m_pVRSettings, m_pVRSettings, void /*IVRSettings*/ *); + W64_PTR(void /*IVRApplications*/ *m_pVRApplications, m_pVRApplications, void /*IVRApplications*/ *); + W64_PTR(void /*IVRTrackedCamera*/ *m_pVRTrackedCamera, m_pVRTrackedCamera, void /*IVRTrackedCamera*/ *); + W64_PTR(void /*IVRScreenshots*/ *m_pVRScreenshots, m_pVRScreenshots, void /*IVRScreenshots*/ *); + W64_PTR(void /*IVRDriverManager*/ *m_pVRDriverManager, m_pVRDriverManager, void /*IVRDriverManager*/ *); + W64_PTR(void /*IVRInput*/ *m_pVRInput, m_pVRInput, void /*IVRInput*/ *); + W64_PTR(void /*IVRIOBuffer*/ *m_pVRIOBuffer, m_pVRIOBuffer, void /*IVRIOBuffer*/ *); + W64_PTR(void /*IVRSpatialAnchors*/ *m_pVRSpatialAnchors, m_pVRSpatialAnchors, void /*IVRSpatialAnchors*/ *); + W64_PTR(void /*IVRDebug*/ *m_pVRDebug, m_pVRDebug, void /*IVRDebug*/ *); + W64_PTR(void /*IVRNotifications*/ *m_pVRNotifications, m_pVRNotifications, void /*IVRNotifications*/ *); + W64_PTR(void /*IVRIPCResourceManagerClient*/ *m_pVRIPCResourceManagerClient, m_pVRIPCResourceManagerClient, void /*IVRIPCResourceManagerClient*/ *); +#ifdef __cplusplus + operator w32_COpenVRContext_271() const; +#endif /* __cplusplus */ +}; +#pragma pack( pop ) + +#pragma pack( push, 4 ) +struct w32_COpenVRContext_271 +{ + W32_PTR(void /*IVRSystem*/ *m_pVRSystem, m_pVRSystem, void /*IVRSystem*/ *); + W32_PTR(void /*IVRChaperone*/ *m_pVRChaperone, m_pVRChaperone, void /*IVRChaperone*/ *); + W32_PTR(void /*IVRChaperoneSetup*/ *m_pVRChaperoneSetup, m_pVRChaperoneSetup, void /*IVRChaperoneSetup*/ *); + W32_PTR(void /*IVRCompositor*/ *m_pVRCompositor, m_pVRCompositor, void /*IVRCompositor*/ *); + W32_PTR(void /*IVRHeadsetView*/ *m_pVRHeadsetView, m_pVRHeadsetView, void /*IVRHeadsetView*/ *); + W32_PTR(void /*IVROverlay*/ *m_pVROverlay, m_pVROverlay, void /*IVROverlay*/ *); + W32_PTR(void /*IVROverlayView*/ *m_pVROverlayView, m_pVROverlayView, void /*IVROverlayView*/ *); + W32_PTR(void /*IVRResources*/ *m_pVRResources, m_pVRResources, void /*IVRResources*/ *); + W32_PTR(void /*IVRRenderModels*/ *m_pVRRenderModels, m_pVRRenderModels, void /*IVRRenderModels*/ *); + W32_PTR(void /*IVRExtendedDisplay*/ *m_pVRExtendedDisplay, m_pVRExtendedDisplay, void /*IVRExtendedDisplay*/ *); + W32_PTR(void /*IVRSettings*/ *m_pVRSettings, m_pVRSettings, void /*IVRSettings*/ *); + W32_PTR(void /*IVRApplications*/ *m_pVRApplications, m_pVRApplications, void /*IVRApplications*/ *); + W32_PTR(void /*IVRTrackedCamera*/ *m_pVRTrackedCamera, m_pVRTrackedCamera, void /*IVRTrackedCamera*/ *); + W32_PTR(void /*IVRScreenshots*/ *m_pVRScreenshots, m_pVRScreenshots, void /*IVRScreenshots*/ *); + W32_PTR(void /*IVRDriverManager*/ *m_pVRDriverManager, m_pVRDriverManager, void /*IVRDriverManager*/ *); + W32_PTR(void /*IVRInput*/ *m_pVRInput, m_pVRInput, void /*IVRInput*/ *); + W32_PTR(void /*IVRIOBuffer*/ *m_pVRIOBuffer, m_pVRIOBuffer, void /*IVRIOBuffer*/ *); + W32_PTR(void /*IVRSpatialAnchors*/ *m_pVRSpatialAnchors, m_pVRSpatialAnchors, void /*IVRSpatialAnchors*/ *); + W32_PTR(void /*IVRDebug*/ *m_pVRDebug, m_pVRDebug, void /*IVRDebug*/ *); + W32_PTR(void /*IVRNotifications*/ *m_pVRNotifications, m_pVRNotifications, void /*IVRNotifications*/ *); + W32_PTR(void /*IVRIPCResourceManagerClient*/ *m_pVRIPCResourceManagerClient, m_pVRIPCResourceManagerClient, void /*IVRIPCResourceManagerClient*/ *); +#ifdef __cplusplus + operator u64_COpenVRContext_271() const; +#endif /* __cplusplus */ +}; +#pragma pack( pop ) + +#ifdef __i386__ +typedef w32_COpenVRContext_271 w_COpenVRContext_271; +typedef u32_COpenVRContext_271 u_COpenVRContext_271; +#endif +#if defined(__x86_64__) || defined(__aarch64__) +typedef w64_COpenVRContext_271 w_COpenVRContext_271; +typedef u64_COpenVRContext_271 u_COpenVRContext_271; +#endif + #pragma pack( push, 8 ) struct w64_COpenVRContext_11030 { @@ -4088,6 +4181,58 @@ typedef w64_D3D12TextureData_t w_D3D12TextureData_t; typedef u64_D3D12TextureData_t u_D3D12TextureData_t; #endif +#pragma pack( push, 8 ) +struct w64_DmabufAttributes_t +{ + W64_PTR(void *pNext, pNext, void *); + uint32_t unWidth; + uint32_t unHeight; + uint32_t unDepth; + uint32_t unMipLevels; + uint32_t unArrayLayers; + uint32_t unSampleCount; + uint32_t unFormat; + uint8_t __pad_36[4]; + uint64_t ulModifier; + uint32_t unPlaneCount; + W64_ARRAY(DmabufPlane_t, 4, plane); + uint8_t __pad_100[4]; +#ifdef __cplusplus + operator w32_DmabufAttributes_t() const; +#endif /* __cplusplus */ +}; +#pragma pack( pop ) + +#pragma pack( push, 8 ) +struct w32_DmabufAttributes_t +{ + W32_PTR(void *pNext, pNext, void *); + uint32_t unWidth; + uint32_t unHeight; + uint32_t unDepth; + uint32_t unMipLevels; + uint32_t unArrayLayers; + uint32_t unSampleCount; + uint32_t unFormat; + uint64_t ulModifier; + uint32_t unPlaneCount; + W32_ARRAY(DmabufPlane_t, 4, plane); + uint8_t __pad_92[4]; +#ifdef __cplusplus + operator u64_DmabufAttributes_t() const; +#endif /* __cplusplus */ +}; +#pragma pack( pop ) + +#ifdef __i386__ +typedef w32_DmabufAttributes_t w_DmabufAttributes_t; +typedef u32_DmabufAttributes_t u_DmabufAttributes_t; +#endif +#if defined(__x86_64__) || defined(__aarch64__) +typedef w64_DmabufAttributes_t w_DmabufAttributes_t; +typedef u64_DmabufAttributes_t u_DmabufAttributes_t; +#endif + #pragma pack( push, 8 ) struct w64_HiddenAreaMesh_t { @@ -4140,6 +4285,38 @@ struct u_IVRDebug_IVRDebug_001 #endif /* __cplusplus */ }; +struct w_IVRIPCResourceManagerClient_IVRIPCResourceManagerClient_001 +{ +#ifdef __cplusplus + virtual int8_t NewSharedVulkanImage( uint32_t, uint32_t, uint32_t, int8_t, int8_t, int8_t, uint32_t, uint32_t, uint64_t * ) = 0; + virtual int8_t NewSharedVulkanBuffer( uint32_t, uint32_t, uint64_t * ) = 0; + virtual int8_t NewSharedVulkanSemaphore( uint64_t * ) = 0; + virtual int8_t RefResource( uint64_t, uint64_t * ) = 0; + virtual int8_t UnrefResource( uint64_t ) = 0; + virtual int8_t GetDmabufFormats( uint32_t *, uint32_t * ) = 0; + virtual int8_t GetDmabufModifiers( uint32_t, uint32_t, uint32_t *, uint64_t * ) = 0; + virtual int8_t ImportDmabuf( uint32_t, w_DmabufAttributes_t *, uint64_t * ) = 0; + virtual int8_t ReceiveSharedFd( uint64_t, int32_t * ) = 0; + virtual ~w_IVRIPCResourceManagerClient_IVRIPCResourceManagerClient_001( ) = 0; +#endif /* __cplusplus */ +}; + +struct u_IVRIPCResourceManagerClient_IVRIPCResourceManagerClient_001 +{ +#ifdef __cplusplus + virtual int8_t NewSharedVulkanImage( uint32_t, uint32_t, uint32_t, int8_t, int8_t, int8_t, uint32_t, uint32_t, uint64_t * ) = 0; + virtual int8_t NewSharedVulkanBuffer( uint32_t, uint32_t, uint64_t * ) = 0; + virtual int8_t NewSharedVulkanSemaphore( uint64_t * ) = 0; + virtual int8_t RefResource( uint64_t, uint64_t * ) = 0; + virtual int8_t UnrefResource( uint64_t ) = 0; + virtual int8_t GetDmabufFormats( uint32_t *, uint32_t * ) = 0; + virtual int8_t GetDmabufModifiers( uint32_t, uint32_t, uint32_t *, uint64_t * ) = 0; + virtual int8_t ImportDmabuf( uint32_t, u_DmabufAttributes_t *, uint64_t * ) = 0; + virtual int8_t ReceiveSharedFd( uint64_t, int32_t * ) = 0; + virtual ~u_IVRIPCResourceManagerClient_IVRIPCResourceManagerClient_001( ) = 0; +#endif /* __cplusplus */ +}; + struct w_IVRSpatialAnchors_IVRSpatialAnchors_001 { #ifdef __cplusplus diff --git a/vrclient_x64/vroverlay_manual.c b/vrclient_x64/vroverlay_manual.c index 862c2c36c3..b7d6b2b01d 100644 --- a/vrclient_x64/vroverlay_manual.c +++ b/vrclient_x64/vroverlay_manual.c @@ -470,3 +470,23 @@ uint32_t __thiscall winIVROverlay_IVROverlay_027_SetOverlayTexture( struct w_ifa return params._ret; } + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayTexture( struct w_iface *_this, uint64_t ulOverlayHandle, + const w_Texture_t *pTexture ) +{ + struct set_overlay_texture_state state = {.texture = *pTexture}; + struct IVROverlay_IVROverlay_028_SetOverlayTexture_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pTexture = &state.texture, + }; + + TRACE( "%p\n", _this ); + + if (pTexture->eType == TextureType_DirectX) load_overlay_texture_dxvk( pTexture, &state ); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayTexture, ¶ms ); + if (pTexture->eType == TextureType_DirectX) free_unix_overlay_texture_dxvk( &state ); + + return params._ret; +} diff --git a/vrclient_x64/winIVROverlay.c b/vrclient_x64/winIVROverlay.c index 5342f17a61..b5bf60c392 100644 --- a/vrclient_x64/winIVROverlay.c +++ b/vrclient_x64/winIVROverlay.c @@ -26763,6 +26763,1397 @@ void destroy_winIVROverlay_IVROverlay_027_FnTable(struct w_iface *object) HeapFree(GetProcessHeap(), 0, object); } +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_FindOverlay, 12) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_CreateOverlay, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_CreateSubviewOverlay, 24) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_DestroyOverlay, 12) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayKey, 24) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayName, 24) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayName, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayImageData, 28) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum, 8) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayRenderingPid, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayRenderingPid, 12) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayFlag, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayFlag, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayFlags, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayColor, 24) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayColor, 24) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayAlpha, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayAlpha, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayTexelAspect, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayTexelAspect, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlaySortOrder, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlaySortOrder, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayWidthInMeters, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayWidthInMeters, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayCurvature, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayCurvature, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayPreCurvePitch, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayPreCurvePitch, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayTextureColorSpace, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayTextureColorSpace, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayTextureBounds, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayTextureBounds, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayTransformType, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayTransformAbsolute, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayTransformAbsolute, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent, 24) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayTransformCursor, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayTransformCursor, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayTransformProjection, 28) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetSubviewPosition, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_ShowOverlay, 12) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_HideOverlay, 12) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_IsOverlayVisible, 12) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates, 28) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_WaitFrameSync, 8) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_PollNextOverlayEvent, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayInputMethod, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayInputMethod, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayMouseScale, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayMouseScale, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_ComputeOverlayIntersection, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_IsHoverTargetOverlay, 12) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayIntersectionMask, 24) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration, 24) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayCursor, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride, 12) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayTexture, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_ClearOverlayTexture, 12) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayRaw, 28) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetOverlayFromFile, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayTexture, 44) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetOverlayTextureSize, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_CreateDashboardOverlay, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_IsDashboardVisible, 4) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_IsActiveDashboardOverlay, 12) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_ShowDashboard, 8) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetPrimaryDashboardDevice, 4) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_ShowKeyboard, 36) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_ShowKeyboardForOverlay, 44) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_GetKeyboardText, 12) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_HideKeyboard, 4) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute, 12) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay, 28) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_ShowMessageOverlay, 28) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_028_CloseMessageOverlay, 4) + +uint32_t __thiscall winIVROverlay_IVROverlay_028_FindOverlay(struct w_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) +{ + struct IVROverlay_IVROverlay_028_FindOverlay_params params = + { + .u_iface = _this->u_iface, + .pchOverlayKey = pchOverlayKey, + .pOverlayHandle = pOverlayHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_FindOverlay, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_CreateOverlay(struct w_iface *_this, const char *pchOverlayKey, const char *pchOverlayName, uint64_t *pOverlayHandle) +{ + struct IVROverlay_IVROverlay_028_CreateOverlay_params params = + { + .u_iface = _this->u_iface, + .pchOverlayKey = pchOverlayKey, + .pchOverlayName = pchOverlayName, + .pOverlayHandle = pOverlayHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_CreateOverlay, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_CreateSubviewOverlay(struct w_iface *_this, uint64_t parentOverlayHandle, const char *pchSubviewOverlayKey, const char *pchSubviewOverlayName, uint64_t *pSubviewOverlayHandle) +{ + struct IVROverlay_IVROverlay_028_CreateSubviewOverlay_params params = + { + .u_iface = _this->u_iface, + .parentOverlayHandle = parentOverlayHandle, + .pchSubviewOverlayKey = pchSubviewOverlayKey, + .pchSubviewOverlayName = pchSubviewOverlayName, + .pSubviewOverlayHandle = pSubviewOverlayHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_CreateSubviewOverlay, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_DestroyOverlay(struct w_iface *_this, uint64_t ulOverlayHandle) +{ + struct IVROverlay_IVROverlay_028_DestroyOverlay_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_DestroyOverlay, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlayKey(struct w_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) +{ + struct IVROverlay_IVROverlay_028_GetOverlayKey_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pchValue = pchValue, + .unBufferSize = unBufferSize, + .pError = pError, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayKey, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlayName(struct w_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) +{ + struct IVROverlay_IVROverlay_028_GetOverlayName_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pchValue = pchValue, + .unBufferSize = unBufferSize, + .pError = pError, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayName, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayName(struct w_iface *_this, uint64_t ulOverlayHandle, const char *pchName) +{ + struct IVROverlay_IVROverlay_028_SetOverlayName_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pchName = pchName, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayName, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlayImageData(struct w_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight) +{ + struct IVROverlay_IVROverlay_028_GetOverlayImageData_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pvBuffer = pvBuffer, + .unBufferSize = unBufferSize, + .punWidth = punWidth, + .punHeight = punHeight, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayImageData, ¶ms ); + return params._ret; +} + +const char * __thiscall winIVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum(struct w_iface *_this, uint32_t error) +{ + struct IVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum_params params = + { + .u_iface = _this->u_iface, + .error = error, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum, ¶ms ); + return get_unix_buffer( params._ret ); +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayRenderingPid(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t unPID) +{ + struct IVROverlay_IVROverlay_028_SetOverlayRenderingPid_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .unPID = unPID, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayRenderingPid, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlayRenderingPid(struct w_iface *_this, uint64_t ulOverlayHandle) +{ + struct IVROverlay_IVROverlay_028_GetOverlayRenderingPid_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayRenderingPid, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayFlag(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) +{ + struct IVROverlay_IVROverlay_028_SetOverlayFlag_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .eOverlayFlag = eOverlayFlag, + .bEnabled = bEnabled, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayFlag, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlayFlag(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) +{ + struct IVROverlay_IVROverlay_028_GetOverlayFlag_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .eOverlayFlag = eOverlayFlag, + .pbEnabled = pbEnabled, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayFlag, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlayFlags(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t *pFlags) +{ + struct IVROverlay_IVROverlay_028_GetOverlayFlags_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pFlags = pFlags, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayFlags, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayColor(struct w_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) +{ + struct IVROverlay_IVROverlay_028_SetOverlayColor_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .fRed = fRed, + .fGreen = fGreen, + .fBlue = fBlue, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayColor, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlayColor(struct w_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) +{ + struct IVROverlay_IVROverlay_028_GetOverlayColor_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pfRed = pfRed, + .pfGreen = pfGreen, + .pfBlue = pfBlue, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayColor, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayAlpha(struct w_iface *_this, uint64_t ulOverlayHandle, float fAlpha) +{ + struct IVROverlay_IVROverlay_028_SetOverlayAlpha_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .fAlpha = fAlpha, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayAlpha, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlayAlpha(struct w_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) +{ + struct IVROverlay_IVROverlay_028_GetOverlayAlpha_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pfAlpha = pfAlpha, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayAlpha, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayTexelAspect(struct w_iface *_this, uint64_t ulOverlayHandle, float fTexelAspect) +{ + struct IVROverlay_IVROverlay_028_SetOverlayTexelAspect_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .fTexelAspect = fTexelAspect, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayTexelAspect, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlayTexelAspect(struct w_iface *_this, uint64_t ulOverlayHandle, float *pfTexelAspect) +{ + struct IVROverlay_IVROverlay_028_GetOverlayTexelAspect_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pfTexelAspect = pfTexelAspect, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayTexelAspect, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlaySortOrder(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t unSortOrder) +{ + struct IVROverlay_IVROverlay_028_SetOverlaySortOrder_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .unSortOrder = unSortOrder, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlaySortOrder, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlaySortOrder(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t *punSortOrder) +{ + struct IVROverlay_IVROverlay_028_GetOverlaySortOrder_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .punSortOrder = punSortOrder, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlaySortOrder, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayWidthInMeters(struct w_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) +{ + struct IVROverlay_IVROverlay_028_SetOverlayWidthInMeters_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .fWidthInMeters = fWidthInMeters, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayWidthInMeters, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlayWidthInMeters(struct w_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) +{ + struct IVROverlay_IVROverlay_028_GetOverlayWidthInMeters_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pfWidthInMeters = pfWidthInMeters, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayWidthInMeters, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayCurvature(struct w_iface *_this, uint64_t ulOverlayHandle, float fCurvature) +{ + struct IVROverlay_IVROverlay_028_SetOverlayCurvature_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .fCurvature = fCurvature, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayCurvature, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlayCurvature(struct w_iface *_this, uint64_t ulOverlayHandle, float *pfCurvature) +{ + struct IVROverlay_IVROverlay_028_GetOverlayCurvature_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pfCurvature = pfCurvature, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayCurvature, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayPreCurvePitch(struct w_iface *_this, uint64_t ulOverlayHandle, float fRadians) +{ + struct IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .fRadians = fRadians, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlayPreCurvePitch(struct w_iface *_this, uint64_t ulOverlayHandle, float *pfRadians) +{ + struct IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pfRadians = pfRadians, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayTextureColorSpace(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureColorSpace) +{ + struct IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .eTextureColorSpace = eTextureColorSpace, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlayTextureColorSpace(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTextureColorSpace) +{ + struct IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .peTextureColorSpace = peTextureColorSpace, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayTextureBounds(struct w_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) +{ + struct IVROverlay_IVROverlay_028_SetOverlayTextureBounds_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pOverlayTextureBounds = pOverlayTextureBounds, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayTextureBounds, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlayTextureBounds(struct w_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) +{ + struct IVROverlay_IVROverlay_028_GetOverlayTextureBounds_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pOverlayTextureBounds = pOverlayTextureBounds, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayTextureBounds, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlayTransformType(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) +{ + struct IVROverlay_IVROverlay_028_GetOverlayTransformType_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .peTransformType = peTransformType, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayTransformType, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayTransformAbsolute(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) +{ + struct IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .eTrackingOrigin = eTrackingOrigin, + .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlayTransformAbsolute(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) +{ + struct IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .peTrackingOrigin = peTrackingOrigin, + .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) +{ + struct IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .unTrackedDevice = unTrackedDevice, + .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) +{ + struct IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .punTrackedDevice = punTrackedDevice, + .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t unDeviceIndex, const char *pchComponentName) +{ + struct IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .unDeviceIndex = unDeviceIndex, + .pchComponentName = pchComponentName, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t *punDeviceIndex, char *pchComponentName, uint32_t unComponentNameSize) +{ + struct IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .punDeviceIndex = punDeviceIndex, + .pchComponentName = pchComponentName, + .unComponentNameSize = unComponentNameSize, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayTransformCursor(struct w_iface *_this, uint64_t ulCursorOverlayHandle, const HmdVector2_t *pvHotspot) +{ + struct IVROverlay_IVROverlay_028_SetOverlayTransformCursor_params params = + { + .u_iface = _this->u_iface, + .ulCursorOverlayHandle = ulCursorOverlayHandle, + .pvHotspot = pvHotspot, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayTransformCursor, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlayTransformCursor(struct w_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvHotspot) +{ + struct IVROverlay_IVROverlay_028_GetOverlayTransformCursor_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pvHotspot = pvHotspot, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayTransformCursor, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayTransformProjection(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, const VROverlayProjection_t *pProjection, uint32_t eEye) +{ + struct IVROverlay_IVROverlay_028_SetOverlayTransformProjection_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .eTrackingOrigin = eTrackingOrigin, + .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, + .pProjection = pProjection, + .eEye = eEye, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayTransformProjection, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetSubviewPosition(struct w_iface *_this, uint64_t ulOverlayHandle, float fX, float fY) +{ + struct IVROverlay_IVROverlay_028_SetSubviewPosition_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .fX = fX, + .fY = fY, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetSubviewPosition, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_ShowOverlay(struct w_iface *_this, uint64_t ulOverlayHandle) +{ + struct IVROverlay_IVROverlay_028_ShowOverlay_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_ShowOverlay, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_HideOverlay(struct w_iface *_this, uint64_t ulOverlayHandle) +{ + struct IVROverlay_IVROverlay_028_HideOverlay_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_HideOverlay, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVROverlay_IVROverlay_028_IsOverlayVisible(struct w_iface *_this, uint64_t ulOverlayHandle) +{ + struct IVROverlay_IVROverlay_028_IsOverlayVisible_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_IsOverlayVisible, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform) +{ + struct IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .eTrackingOrigin = eTrackingOrigin, + .coordinatesInOverlay = coordinatesInOverlay, + .pmatTransform = pmatTransform, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_WaitFrameSync(struct w_iface *_this, uint32_t nTimeoutMs) +{ + struct IVROverlay_IVROverlay_028_WaitFrameSync_params params = + { + .u_iface = _this->u_iface, + .nTimeoutMs = nTimeoutMs, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_WaitFrameSync, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVROverlay_IVROverlay_028_PollNextOverlayEvent(struct w_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_223 *pEvent, uint32_t uncbVREvent) +{ + w_VREvent_t_223 w_pEvent; + struct IVROverlay_IVROverlay_028_PollNextOverlayEvent_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pEvent = pEvent ? &w_pEvent : NULL, + .uncbVREvent = uncbVREvent, + }; + TRACE("%p\n", _this); + uncbVREvent = min( uncbVREvent, sizeof(w_pEvent) ); + if (pEvent) memcpy( &w_pEvent, pEvent, uncbVREvent ); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_PollNextOverlayEvent, ¶ms ); + if (pEvent) memcpy( pEvent, &w_pEvent, uncbVREvent ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlayInputMethod(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) +{ + struct IVROverlay_IVROverlay_028_GetOverlayInputMethod_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .peInputMethod = peInputMethod, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayInputMethod, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayInputMethod(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) +{ + struct IVROverlay_IVROverlay_028_SetOverlayInputMethod_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .eInputMethod = eInputMethod, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayInputMethod, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlayMouseScale(struct w_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) +{ + struct IVROverlay_IVROverlay_028_GetOverlayMouseScale_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pvecMouseScale = pvecMouseScale, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayMouseScale, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayMouseScale(struct w_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) +{ + struct IVROverlay_IVROverlay_028_SetOverlayMouseScale_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pvecMouseScale = pvecMouseScale, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayMouseScale, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVROverlay_IVROverlay_028_ComputeOverlayIntersection(struct w_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) +{ + struct IVROverlay_IVROverlay_028_ComputeOverlayIntersection_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pParams = pParams, + .pResults = pResults, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_ComputeOverlayIntersection, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVROverlay_IVROverlay_028_IsHoverTargetOverlay(struct w_iface *_this, uint64_t ulOverlayHandle) +{ + struct IVROverlay_IVROverlay_028_IsHoverTargetOverlay_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_IsHoverTargetOverlay, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayIntersectionMask(struct w_iface *_this, uint64_t ulOverlayHandle, VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize) +{ + struct IVROverlay_IVROverlay_028_SetOverlayIntersectionMask_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pMaskPrimitives = pMaskPrimitives, + .unNumMaskPrimitives = unNumMaskPrimitives, + .unPrimitiveSize = unPrimitiveSize, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayIntersectionMask, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration(struct w_iface *_this, uint64_t ulOverlayHandle, float fDurationSeconds, float fFrequency, float fAmplitude) +{ + struct IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .fDurationSeconds = fDurationSeconds, + .fFrequency = fFrequency, + .fAmplitude = fAmplitude, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayCursor(struct w_iface *_this, uint64_t ulOverlayHandle, uint64_t ulCursorHandle) +{ + struct IVROverlay_IVROverlay_028_SetOverlayCursor_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .ulCursorHandle = ulCursorHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayCursor, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride(struct w_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvCursor) +{ + struct IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pvCursor = pvCursor, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride(struct w_iface *_this, uint64_t ulOverlayHandle) +{ + struct IVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride, ¶ms ); + return params._ret; +} + +extern uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayTexture(struct w_iface *_this, uint64_t ulOverlayHandle, const w_Texture_t *pTexture); + +uint32_t __thiscall winIVROverlay_IVROverlay_028_ClearOverlayTexture(struct w_iface *_this, uint64_t ulOverlayHandle) +{ + struct IVROverlay_IVROverlay_028_ClearOverlayTexture_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_ClearOverlayTexture, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayRaw(struct w_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unBytesPerPixel) +{ + struct IVROverlay_IVROverlay_028_SetOverlayRaw_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pvBuffer = pvBuffer, + .unWidth = unWidth, + .unHeight = unHeight, + .unBytesPerPixel = unBytesPerPixel, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayRaw, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetOverlayFromFile(struct w_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) +{ + struct IVROverlay_IVROverlay_028_SetOverlayFromFile_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pchFilePath = pchFilePath, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetOverlayFromFile, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlayTexture(struct w_iface *_this, uint64_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, uint32_t *pAPIType, uint32_t *pColorSpace, VRTextureBounds_t *pTextureBounds) +{ + struct IVROverlay_IVROverlay_028_GetOverlayTexture_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pNativeTextureHandle = pNativeTextureHandle, + .pNativeTextureRef = pNativeTextureRef, + .pWidth = pWidth, + .pHeight = pHeight, + .pNativeFormat = pNativeFormat, + .pAPIType = pAPIType, + .pColorSpace = pColorSpace, + .pTextureBounds = pTextureBounds, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayTexture, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle(struct w_iface *_this, uint64_t ulOverlayHandle, void *pNativeTextureHandle) +{ + struct IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pNativeTextureHandle = pNativeTextureHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetOverlayTextureSize(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t *pWidth, uint32_t *pHeight) +{ + struct IVROverlay_IVROverlay_028_GetOverlayTextureSize_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pWidth = pWidth, + .pHeight = pHeight, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetOverlayTextureSize, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_CreateDashboardOverlay(struct w_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) +{ + struct IVROverlay_IVROverlay_028_CreateDashboardOverlay_params params = + { + .u_iface = _this->u_iface, + .pchOverlayKey = pchOverlayKey, + .pchOverlayFriendlyName = pchOverlayFriendlyName, + .pMainHandle = pMainHandle, + .pThumbnailHandle = pThumbnailHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_CreateDashboardOverlay, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVROverlay_IVROverlay_028_IsDashboardVisible(struct w_iface *_this) +{ + struct IVROverlay_IVROverlay_028_IsDashboardVisible_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_IsDashboardVisible, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVROverlay_IVROverlay_028_IsActiveDashboardOverlay(struct w_iface *_this, uint64_t ulOverlayHandle) +{ + struct IVROverlay_IVROverlay_028_IsActiveDashboardOverlay_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_IsActiveDashboardOverlay, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) +{ + struct IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .unProcessId = unProcessId, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) +{ + struct IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .punProcessId = punProcessId, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess, ¶ms ); + return params._ret; +} + +void __thiscall winIVROverlay_IVROverlay_028_ShowDashboard(struct w_iface *_this, const char *pchOverlayToShow) +{ + struct IVROverlay_IVROverlay_028_ShowDashboard_params params = + { + .u_iface = _this->u_iface, + .pchOverlayToShow = pchOverlayToShow, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_ShowDashboard, ¶ms ); +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetPrimaryDashboardDevice(struct w_iface *_this) +{ + struct IVROverlay_IVROverlay_028_GetPrimaryDashboardDevice_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetPrimaryDashboardDevice, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_ShowKeyboard(struct w_iface *_this, uint32_t eInputMode, uint32_t eLineInputMode, uint32_t unFlags, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, uint64_t uUserValue) +{ + struct IVROverlay_IVROverlay_028_ShowKeyboard_params params = + { + .u_iface = _this->u_iface, + .eInputMode = eInputMode, + .eLineInputMode = eLineInputMode, + .unFlags = unFlags, + .pchDescription = pchDescription, + .unCharMax = unCharMax, + .pchExistingText = pchExistingText, + .uUserValue = uUserValue, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_ShowKeyboard, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_ShowKeyboardForOverlay(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMode, uint32_t eLineInputMode, uint32_t unFlags, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, uint64_t uUserValue) +{ + struct IVROverlay_IVROverlay_028_ShowKeyboardForOverlay_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .eInputMode = eInputMode, + .eLineInputMode = eLineInputMode, + .unFlags = unFlags, + .pchDescription = pchDescription, + .unCharMax = unCharMax, + .pchExistingText = pchExistingText, + .uUserValue = uUserValue, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_ShowKeyboardForOverlay, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_GetKeyboardText(struct w_iface *_this, char *pchText, uint32_t cchText) +{ + struct IVROverlay_IVROverlay_028_GetKeyboardText_params params = + { + .u_iface = _this->u_iface, + .pchText = pchText, + .cchText = cchText, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_GetKeyboardText, ¶ms ); + return params._ret; +} + +void __thiscall winIVROverlay_IVROverlay_028_HideKeyboard(struct w_iface *_this) +{ + struct IVROverlay_IVROverlay_028_HideKeyboard_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_HideKeyboard, ¶ms ); +} + +void __thiscall winIVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute(struct w_iface *_this, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform) +{ + struct IVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute_params params = + { + .u_iface = _this->u_iface, + .eTrackingOrigin = eTrackingOrigin, + .pmatTrackingOriginToKeyboardTransform = pmatTrackingOriginToKeyboardTransform, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute, ¶ms ); +} + +void __thiscall winIVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay(struct w_iface *_this, uint64_t ulOverlayHandle, HmdRect2_t avoidRect) +{ + struct IVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .avoidRect = avoidRect, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay, ¶ms ); +} + +uint32_t __thiscall winIVROverlay_IVROverlay_028_ShowMessageOverlay(struct w_iface *_this, const char *pchText, const char *pchCaption, const char *pchButton0Text, const char *pchButton1Text, const char *pchButton2Text, const char *pchButton3Text) +{ + struct IVROverlay_IVROverlay_028_ShowMessageOverlay_params params = + { + .u_iface = _this->u_iface, + .pchText = pchText, + .pchCaption = pchCaption, + .pchButton0Text = pchButton0Text, + .pchButton1Text = pchButton1Text, + .pchButton2Text = pchButton2Text, + .pchButton3Text = pchButton3Text, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_ShowMessageOverlay, ¶ms ); + return params._ret; +} + +void __thiscall winIVROverlay_IVROverlay_028_CloseMessageOverlay(struct w_iface *_this) +{ + struct IVROverlay_IVROverlay_028_CloseMessageOverlay_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_028_CloseMessageOverlay, ¶ms ); +} + +extern vtable_ptr winIVROverlay_IVROverlay_028_vtable; + +DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_028, 0, ".?AVIVROverlay@@") + +__ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_028_vtables) + __ASM_VTABLE(winIVROverlay_IVROverlay_028, + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_FindOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_CreateOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_CreateSubviewOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_DestroyOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayKey) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayName) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayName) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayImageData) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayRenderingPid) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayRenderingPid) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayFlag) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayFlag) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayFlags) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayColor) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayColor) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayAlpha) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayAlpha) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayTexelAspect) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayTexelAspect) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlaySortOrder) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlaySortOrder) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayWidthInMeters) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayWidthInMeters) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayCurvature) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayCurvature) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayPreCurvePitch) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayPreCurvePitch) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayTextureColorSpace) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayTextureColorSpace) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayTextureBounds) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayTextureBounds) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayTransformType) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayTransformAbsolute) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayTransformAbsolute) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayTransformCursor) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayTransformCursor) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayTransformProjection) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetSubviewPosition) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_ShowOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_HideOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_IsOverlayVisible) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_WaitFrameSync) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_PollNextOverlayEvent) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayInputMethod) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayInputMethod) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayMouseScale) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayMouseScale) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_ComputeOverlayIntersection) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_IsHoverTargetOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayIntersectionMask) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayCursor) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayTexture) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_ClearOverlayTexture) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayRaw) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetOverlayFromFile) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayTexture) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetOverlayTextureSize) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_CreateDashboardOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_IsDashboardVisible) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_IsActiveDashboardOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_ShowDashboard) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetPrimaryDashboardDevice) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_ShowKeyboard) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_ShowKeyboardForOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_GetKeyboardText) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_HideKeyboard) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_ShowMessageOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_028_CloseMessageOverlay) + ); +__ASM_BLOCK_END + +struct w_iface *create_winIVROverlay_IVROverlay_028( struct u_iface u_iface ) +{ + struct w_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); + TRACE("-> %p\n", r); + r->vtable = &winIVROverlay_IVROverlay_028_vtable; + r->u_iface = u_iface; + return r; +} + +void destroy_winIVROverlay_IVROverlay_028(struct w_iface *object) +{ + TRACE("%p\n", object); + HeapFree(GetProcessHeap(), 0, object); +} + +struct w_iface *create_winIVROverlay_IVROverlay_028_FnTable( struct u_iface u_iface ) +{ + struct w_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); + struct thunk *thunks = alloc_thunks(82); + struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 82 * sizeof(*vtable)); + int i; + + TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); + init_thunk(&thunks[0], r, winIVROverlay_IVROverlay_028_FindOverlay, 2, FALSE, FALSE); + init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_028_CreateOverlay, 3, FALSE, FALSE); + init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_028_CreateSubviewOverlay, 4, FALSE, FALSE); + init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_028_DestroyOverlay, 1, FALSE, FALSE); + init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_028_GetOverlayKey, 4, FALSE, FALSE); + init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_028_GetOverlayName, 4, FALSE, FALSE); + init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_028_SetOverlayName, 2, FALSE, FALSE); + init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_028_GetOverlayImageData, 5, FALSE, FALSE); + init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); + init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_028_SetOverlayRenderingPid, 2, FALSE, FALSE); + init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_028_GetOverlayRenderingPid, 1, FALSE, FALSE); + init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_028_SetOverlayFlag, 3, FALSE, FALSE); + init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_028_GetOverlayFlag, 3, FALSE, FALSE); + init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_028_GetOverlayFlags, 2, FALSE, FALSE); + init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_028_SetOverlayColor, 4, TRUE, TRUE); + init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_028_GetOverlayColor, 4, FALSE, FALSE); + init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_028_SetOverlayAlpha, 2, TRUE, FALSE); + init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_028_GetOverlayAlpha, 2, FALSE, FALSE); + init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_028_SetOverlayTexelAspect, 2, TRUE, FALSE); + init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_028_GetOverlayTexelAspect, 2, FALSE, FALSE); + init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_028_SetOverlaySortOrder, 2, FALSE, FALSE); + init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_028_GetOverlaySortOrder, 2, FALSE, FALSE); + init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_028_SetOverlayWidthInMeters, 2, TRUE, FALSE); + init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_028_GetOverlayWidthInMeters, 2, FALSE, FALSE); + init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_028_SetOverlayCurvature, 2, TRUE, FALSE); + init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_028_GetOverlayCurvature, 2, FALSE, FALSE); + init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_028_SetOverlayPreCurvePitch, 2, TRUE, FALSE); + init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_028_GetOverlayPreCurvePitch, 2, FALSE, FALSE); + init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_028_SetOverlayTextureColorSpace, 2, FALSE, FALSE); + init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_028_GetOverlayTextureColorSpace, 2, FALSE, FALSE); + init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_028_SetOverlayTextureBounds, 2, FALSE, FALSE); + init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_028_GetOverlayTextureBounds, 2, FALSE, FALSE); + init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_028_GetOverlayTransformType, 2, FALSE, FALSE); + init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_028_SetOverlayTransformAbsolute, 3, FALSE, FALSE); + init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_028_GetOverlayTransformAbsolute, 3, FALSE, FALSE); + init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); + init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); + init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent, 3, FALSE, FALSE); + init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent, 4, FALSE, FALSE); + init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_028_SetOverlayTransformCursor, 2, FALSE, FALSE); + init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_028_GetOverlayTransformCursor, 2, FALSE, FALSE); + init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_028_SetOverlayTransformProjection, 5, FALSE, FALSE); + init_thunk(&thunks[42], r, winIVROverlay_IVROverlay_028_SetSubviewPosition, 3, TRUE, FALSE); + init_thunk(&thunks[43], r, winIVROverlay_IVROverlay_028_ShowOverlay, 1, FALSE, FALSE); + init_thunk(&thunks[44], r, winIVROverlay_IVROverlay_028_HideOverlay, 1, FALSE, FALSE); + init_thunk(&thunks[45], r, winIVROverlay_IVROverlay_028_IsOverlayVisible, 1, FALSE, FALSE); + init_thunk(&thunks[46], r, winIVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates, 4, FALSE, FALSE); + init_thunk(&thunks[47], r, winIVROverlay_IVROverlay_028_WaitFrameSync, 1, FALSE, FALSE); + init_thunk(&thunks[48], r, winIVROverlay_IVROverlay_028_PollNextOverlayEvent, 3, FALSE, FALSE); + init_thunk(&thunks[49], r, winIVROverlay_IVROverlay_028_GetOverlayInputMethod, 2, FALSE, FALSE); + init_thunk(&thunks[50], r, winIVROverlay_IVROverlay_028_SetOverlayInputMethod, 2, FALSE, FALSE); + init_thunk(&thunks[51], r, winIVROverlay_IVROverlay_028_GetOverlayMouseScale, 2, FALSE, FALSE); + init_thunk(&thunks[52], r, winIVROverlay_IVROverlay_028_SetOverlayMouseScale, 2, FALSE, FALSE); + init_thunk(&thunks[53], r, winIVROverlay_IVROverlay_028_ComputeOverlayIntersection, 3, FALSE, FALSE); + init_thunk(&thunks[54], r, winIVROverlay_IVROverlay_028_IsHoverTargetOverlay, 1, FALSE, FALSE); + init_thunk(&thunks[55], r, winIVROverlay_IVROverlay_028_SetOverlayIntersectionMask, 4, FALSE, FALSE); + init_thunk(&thunks[56], r, winIVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration, 4, TRUE, TRUE); + init_thunk(&thunks[57], r, winIVROverlay_IVROverlay_028_SetOverlayCursor, 2, FALSE, FALSE); + init_thunk(&thunks[58], r, winIVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride, 2, FALSE, FALSE); + init_thunk(&thunks[59], r, winIVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride, 1, FALSE, FALSE); + init_thunk(&thunks[60], r, winIVROverlay_IVROverlay_028_SetOverlayTexture, 2, FALSE, FALSE); + init_thunk(&thunks[61], r, winIVROverlay_IVROverlay_028_ClearOverlayTexture, 1, FALSE, FALSE); + init_thunk(&thunks[62], r, winIVROverlay_IVROverlay_028_SetOverlayRaw, 5, FALSE, FALSE); + init_thunk(&thunks[63], r, winIVROverlay_IVROverlay_028_SetOverlayFromFile, 2, FALSE, FALSE); + init_thunk(&thunks[64], r, winIVROverlay_IVROverlay_028_GetOverlayTexture, 9, FALSE, FALSE); + init_thunk(&thunks[65], r, winIVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle, 2, FALSE, FALSE); + init_thunk(&thunks[66], r, winIVROverlay_IVROverlay_028_GetOverlayTextureSize, 3, FALSE, FALSE); + init_thunk(&thunks[67], r, winIVROverlay_IVROverlay_028_CreateDashboardOverlay, 4, FALSE, FALSE); + init_thunk(&thunks[68], r, winIVROverlay_IVROverlay_028_IsDashboardVisible, 0, FALSE, FALSE); + init_thunk(&thunks[69], r, winIVROverlay_IVROverlay_028_IsActiveDashboardOverlay, 1, FALSE, FALSE); + init_thunk(&thunks[70], r, winIVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); + init_thunk(&thunks[71], r, winIVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess, 2, FALSE, FALSE); + init_thunk(&thunks[72], r, winIVROverlay_IVROverlay_028_ShowDashboard, 1, FALSE, FALSE); + init_thunk(&thunks[73], r, winIVROverlay_IVROverlay_028_GetPrimaryDashboardDevice, 0, FALSE, FALSE); + init_thunk(&thunks[74], r, winIVROverlay_IVROverlay_028_ShowKeyboard, 7, FALSE, FALSE); + init_thunk(&thunks[75], r, winIVROverlay_IVROverlay_028_ShowKeyboardForOverlay, 8, FALSE, FALSE); + init_thunk(&thunks[76], r, winIVROverlay_IVROverlay_028_GetKeyboardText, 2, FALSE, FALSE); + init_thunk(&thunks[77], r, winIVROverlay_IVROverlay_028_HideKeyboard, 0, FALSE, FALSE); + init_thunk(&thunks[78], r, winIVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute, 2, FALSE, FALSE); + init_thunk(&thunks[79], r, winIVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay, 2, FALSE, FALSE); + init_thunk(&thunks[80], r, winIVROverlay_IVROverlay_028_ShowMessageOverlay, 6, FALSE, FALSE); + init_thunk(&thunks[81], r, winIVROverlay_IVROverlay_028_CloseMessageOverlay, 0, FALSE, FALSE); + for (i = 0; i < 82; i++) + vtable[i] = &thunks[i]; + r->u_iface = u_iface; + r->vtable = (void *)vtable; + return r; +} + +void destroy_winIVROverlay_IVROverlay_028_FnTable(struct w_iface *object) +{ + TRACE("%p\n", object); + VirtualFree(object->vtable[0], 0, MEM_RELEASE); + HeapFree(GetProcessHeap(), 0, object->vtable); + HeapFree(GetProcessHeap(), 0, object); +} + void init_winIVROverlay_rtti( char *base ) { #if defined(__x86_64__) || defined(__aarch64__) @@ -26789,5 +28180,6 @@ void init_winIVROverlay_rtti( char *base ) init_winIVROverlay_IVROverlay_025_rtti( base ); init_winIVROverlay_IVROverlay_026_rtti( base ); init_winIVROverlay_IVROverlay_027_rtti( base ); + init_winIVROverlay_IVROverlay_028_rtti( base ); #endif /* defined(__x86_64__) || defined(__aarch64__) */ } From a184c3b8895b982f8e4f47b08dedb2c55799aba2 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Mon, 28 Jul 2025 14:34:22 -0600 Subject: [PATCH 23/65] proton: Add SSR Wives: The Murder Of My Winter Crush Demo to MFDXGI hack. CW-Bug-Id: #25730 --- proton | 3 +++ 1 file changed, 3 insertions(+) diff --git a/proton b/proton index 8075711350..03970cc45f 100755 --- a/proton +++ b/proton @@ -1204,6 +1204,9 @@ def default_compat_config(): #CW bug 24913 "2620730", + + #CW bug 25730 + "2882920", ]: ret.add("nomfdxgiman") From d008ef6f10215828a6b51ba23317c8ea8d86194c Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Tue, 29 Jul 2025 12:35:48 -0600 Subject: [PATCH 24/65] build: Build icydemux gstreamer plugin. CW-Bug-Id: #25735 --- Makefile.in | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile.in b/Makefile.in index 4d1fa3be7b..32a0138bc4 100644 --- a/Makefile.in +++ b/Makefile.in @@ -201,6 +201,7 @@ GST_GOOD_MESON_ARGS := \ -Davi=enabled \ -Ddebugutils=enabled \ -Ddeinterlace=enabled \ + -Dicydemux=enabled \ -Disomp4=enabled \ -Dmatroska=enabled \ -Dmpg123=enabled \ From 6c17f3e1a1963b79367ad35b35496543053a1ca6 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Wed, 30 Jul 2025 10:57:00 -0600 Subject: [PATCH 25/65] steam_helper: Add SteamPath and ValvePlatformMutex env vars. CW-Bug-Id: #25738 --- steam_helper/steam.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/steam_helper/steam.c b/steam_helper/steam.c index 3965c78fa7..e6c7bd8b11 100644 --- a/steam_helper/steam.c +++ b/steam_helper/steam.c @@ -801,6 +801,8 @@ int main(int argc, char *argv[]) if (getenv("SteamGameId")) { + WCHAR path[MAX_PATH], *p; + /* do setup only for game process */ event = CreateEventW( NULL, FALSE, FALSE, L"Steam3Master_SharedMemLock" ); @@ -811,6 +813,17 @@ int main(int argc, char *argv[]) set_active_process_pid(); + SetEnvironmentVariableW(L"SteamPath", L"C:\\Program Files (x86)\\Steam"); + *path = 0; + GetModuleFileNameW(NULL, path, ARRAY_SIZE(path)); + p = path; + while (*p) + { + if (*p == '\\') *p = '/'; + ++p; + } + SetEnvironmentVariableW(L"ValvePlatformMutex", path); + setup_steam_registry(); setup_steam_files(); From 92d099370424b56d6eba4d4666986aabc07ff152 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Thu, 31 Jul 2025 15:03:23 -0600 Subject: [PATCH 26/65] Makefile.in: Fix applying patch for LiberationMono-Regular.sfd. CW-Bug-Id: #25743 --- Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.in b/Makefile.in index 32a0138bc4..ab6853e8ce 100644 --- a/Makefile.in +++ b/Makefile.in @@ -926,8 +926,8 @@ georgia_NAMES := "Georgia" "Georgia" "Georgia" georgia_ORIG := LiberationSerif-Regular #The use of "Courier New" here is for compatibility with programs that require that exact string. This font is not Courier New. cour_NAMES := "CourierNew" "Courier New" "Courier New" -cour_PATCH := $(FONTS)/patches/LiberationMono-Regular.patch cour_ORIG := LiberationMono-Regular +LiberationMono-Regular_PATCH := $(FONTS)/patches/LiberationMono-Regular.patch #The use of "Courier New" here is for compatibility with programs that require that exact string. This font is not Courier New. courbd_NAMES := "CourierNewPS-BoldMT" "Courier New" "Courier New Bold" courbd_ORIG := LiberationMono-Bold From 29548fa7244d59a4ca61c7279a55a98f088a4b51 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Fri, 1 Aug 2025 10:17:06 -0600 Subject: [PATCH 27/65] proton: Hide AMD GPU for Crysis 3. CW-Bug-Id: #25745 --- proton | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/proton b/proton index 03970cc45f..72f5d5bfd2 100755 --- a/proton +++ b/proton @@ -1455,6 +1455,11 @@ class Session: elif appid in default_cpu_limit: self.env["WINE_CPU_TOPOLOGY"] = str(default_cpu_limit[appid]) + if "WINE_HIDE_AMD_GPU" not in self.env and appid in [ + "1282690", + ]: + self.env["WINE_HIDE_AMD_GPU"] = "1" + def init_wine(self): if "HOST_LC_ALL" in self.env and len(self.env["HOST_LC_ALL"]) > 0: #steam sets LC_ALL=C to help some games, but Wine requires the real value From 98a6295571fd5ba01d6f925bc09954d8648ce23c Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Thu, 7 Aug 2025 16:08:32 -0600 Subject: [PATCH 28/65] proton: Hide NV GPU for The Crew Motorfest. CW-Bug-Id: #25787 --- proton | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/proton b/proton index 72f5d5bfd2..9764be20ab 100755 --- a/proton +++ b/proton @@ -1361,6 +1361,11 @@ def default_compat_config(): ]: ret.add("disablenvapi") + if appid in [ + "2698940", #The Crew Motorfest + ]: + ret.add("hidenvgpu") + if appid in [ "2395210" #Tony Hawk's Pro Skater 1 + 2 ]: From f59a8eab4a5ee6c6cef76b09ccad7e6fb3e44e75 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Thu, 7 Aug 2025 17:27:47 -0600 Subject: [PATCH 29/65] proton: Enable gamedrive for Firefly Village. CW-Bug-Id: #25789 --- proton | 2 ++ 1 file changed, 2 insertions(+) diff --git a/proton b/proton index 9764be20ab..50df12131f 100755 --- a/proton +++ b/proton @@ -1301,6 +1301,8 @@ def default_compat_config(): "2531310", #The Last of Us Part II Remastered "2564460", #Banter "2680010", #The First Berserker: Khazan + "3438330", #Firefly Village Demo + "3393740", #Firefly Village ]: ret.add("gamedrive") From f1fdf7b31d7de7e9957d4ae421d84765acdf2f4e Mon Sep 17 00:00:00 2001 From: Anna Lasky Date: Fri, 8 Aug 2025 13:30:11 -0500 Subject: [PATCH 30/65] proton: Add Spark & Kling to MFDXGI hack CW-Bug-Id: #25778 --- proton | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/proton b/proton index 50df12131f..0c79b4ec4a 100755 --- a/proton +++ b/proton @@ -1202,11 +1202,10 @@ def default_compat_config(): #affected by CW bug 20240 "1331440", #FUSER - #CW bug 24913 - "2620730", - - #CW bug 25730 - "2882920", + #affected by Unity race + "2620730", #DEVIATOR - CW bug 24913 + "2882920", #SSR Wives: The Murder Of My Winter Crush Demo - CW bug 25730 + "2712910", #Spark & Kling - CW bug 25778 ]: ret.add("nomfdxgiman") From c92a71b21fed629f72acfb8f566d35c983249190 Mon Sep 17 00:00:00 2001 From: Arkadiusz Hiler Date: Tue, 12 Aug 2025 17:34:25 +0300 Subject: [PATCH 31/65] README.md: Add a section on build failures. --- README.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/README.md b/README.md index 1136f6cc06..924b66a165 100644 --- a/README.md +++ b/README.md @@ -150,6 +150,28 @@ is only useful after building Proton. `make dxvk` / `make vkd3d-proton` - rebuild DXVK / vkd3d-proton. +### Figuring Out What Failed To Build + +Proton build system invokes builds of many subprojects in parallel. If one +subprojects fails there can be thousands of lines printed by other sub-builds +before the top level exits. This can make the real reason of the build failing +hard to find. + +Appending `2>&1 | tee build.log` will log the full build output to a `build.log` +file. Searching that file from the bottom up for occurrences of `Error` should +point to the right area. E.g.: + +``` +make 2>&1 | tee build.log +grep -n '] Error [0-9]' build.log +``` + +``` +11220:make: *** [../Makefile.in:465: /builds/proton/proton/build-dir/.kaldi-i386-configure] Error 1 +12427:make: *** [../Makefile.in:1323: deploy] Error 2 +``` + + ### Debug Builds To prevent symbol stripping add `UNSTRIPPED_BUILD=1` to the `make` From 9d55590d3a87a788248ecc438c640d7cd085d1b0 Mon Sep 17 00:00:00 2001 From: Anna Lasky Date: Fri, 15 Aug 2025 09:09:00 -0500 Subject: [PATCH 32/65] proton: Enable gamedrive compat option for Avatar: Frontiers of Pandora. CW-Bug-Id: #25812 --- proton | 1 + 1 file changed, 1 insertion(+) diff --git a/proton b/proton index 0c79b4ec4a..b38baf43b5 100755 --- a/proton +++ b/proton @@ -1302,6 +1302,7 @@ def default_compat_config(): "2680010", #The First Berserker: Khazan "3438330", #Firefly Village Demo "3393740", #Firefly Village + "2840770", #Avatar: Frontiers of Pandora ]: ret.add("gamedrive") From 7804911925e6f997c1fe55bfbe36aa5d413aa1fc Mon Sep 17 00:00:00 2001 From: Esme Povirk Date: Tue, 17 Jun 2025 00:08:18 +0000 Subject: [PATCH 33/65] Update Wine Mono to 10.1.0. --- Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.in b/Makefile.in index ab6853e8ce..30b9c51cb2 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1062,7 +1062,7 @@ all-dist: $(OBJ)/.gecko-i386-dist $(OBJ)/.gecko-x86_64-dist ## wine-mono ## -WINEMONO_VER := 10.0.0 +WINEMONO_VER := 10.1.0 WINEMONO_TARBALL := wine-mono-$(WINEMONO_VER)-x86.tar.xz DIST_WINEMONO_DIR := $(DST_DIR)/share/wine/mono DIST_WINEMONO := $(OBJ)/.wine-mono-dist From 1b22f0dd7fe20fe1e0a819e086b45edcc7fbbef3 Mon Sep 17 00:00:00 2001 From: Esme Povirk Date: Tue, 19 Aug 2025 18:54:27 +0000 Subject: [PATCH 34/65] proton: Add a compatibility flag for FNA3D_FORCE_DRIVER=D3D11. CW-Bug-Id: #25045 --- README.md | 1 + proton | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/README.md b/README.md index 924b66a165..c3c567dfdd 100644 --- a/README.md +++ b/README.md @@ -333,6 +333,7 @@ the Wine prefix. Removing the option will revert to the previous behavior. | | `WINE_FULLSCREEN_INTEGER_SCALING` | Enable integer scaling mode, to give sharp pixels when upscaling. | | `cmdlineappend:` | | Append the string after the colon as an argument to the game command. May be specified more than once. Escape commas and backslashes with a backslash. | | `xalia` or `noxalia` | `PROTON_USE_XALIA` | Enable Xalia, a program that can add a gamepad UI for some keyboard/mouse interfaces, or set to 0 to disable. The default is to enable it dynamically based on window contents. | +| `fnad3d11` | `FNA3D_FORCE_DRIVER=D3D11` | Force FNA to use D3D11 for rendering. | | `seccomp` | `PROTON_USE_SECCOMP` | **Note: Obsoleted in Proton 5.13.** In older versions, enable seccomp-bpf filter to emulate native syscalls, required for some DRM protections to work. | | `d9vk` | `PROTON_USE_D9VK` | **Note: Obsoleted in Proton 5.0.** In older versions, use Vulkan-based DXVK instead of OpenGL-based wined3d for d3d9. | diff --git a/proton b/proton index b38baf43b5..5b5d4bff23 100755 --- a/proton +++ b/proton @@ -1378,6 +1378,13 @@ def default_compat_config(): ]: ret.add("hideapu") + if appid in [ + "249610", # Galactic Arms Race + "287240", # Eterium Demo + "280200", # Eterium + ]: + ret.add("fnad3d11") + #options to also be enabled for prerequisite setup steps if "STEAM_COMPAT_APP_ID" in os.environ: appid = os.environ["STEAM_COMPAT_APP_ID"] @@ -1767,6 +1774,9 @@ class Session: if "PROTON_CRASH_REPORT_DIR" in self.env: self.env["WINE_CRASH_REPORT_DIR"] = self.env["PROTON_CRASH_REPORT_DIR"] + if "fnad3d11" in self.compat_config and "FNA3D_FORCE_DRIVER" not in self.env: + self.env["FNA3D_FORCE_DRIVER"] = "D3D11" + # NVIDIA software may check for the "DriverStore" by querying the # NGXCore\NGXPath registry key via `D3DDDI_QUERYREGISTRY_SERVICEKEY` for # a given adapter. In the case where this path cannot be found, the From 362093fa00e3ec4fb09671bcf1ff5bcaa04ba653 Mon Sep 17 00:00:00 2001 From: Arkadiusz Hiler Date: Thu, 28 Aug 2025 16:20:12 +0300 Subject: [PATCH 35/65] proton: Enable OpenCL stub for Arken Age. CW-Bug-Id: #25866 --- proton | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proton b/proton index 5b5d4bff23..031eae9fc9 100755 --- a/proton +++ b/proton @@ -1439,7 +1439,7 @@ class Session: if os.environ.get("SteamGameId", 0) == "352130": del self.dlloverrides["steam.exe"] - if os.environ.get("SteamGameId", 0) not in ["2767030"]: + if os.environ.get("SteamGameId", 0) not in ["2767030", "2274200"]: self.dlloverrides["opencl"] = "n,d" self.compat_config = default_compat_config() From 7c09f006c1cb64b7de508fc5d01f2137e45c70d0 Mon Sep 17 00:00:00 2001 From: Quaylyn Rimer Date: Thu, 31 Jul 2025 20:23:31 -0600 Subject: [PATCH 36/65] steam_helper: Increment index in setup_steam_files(). Link: https://github.com/ValveSoftware/Proton/pull/8943 --- steam_helper/steam.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/steam_helper/steam.c b/steam_helper/steam.c index e6c7bd8b11..a009ba307b 100644 --- a/steam_helper/steam.c +++ b/steam_helper/steam.c @@ -652,6 +652,7 @@ static void setup_steam_files(void) else { pos += strappend( &buf, &buf_size, pos, "\t\"%u\"\n\t{\n\t\t\"path\"\t\t\"%s\"\n\t}\n", index, str ); + ++index; free( str ); } } @@ -675,6 +676,7 @@ static void setup_steam_files(void) else { pos += strappend( &buf, &buf_size, pos, "\t\"%u\"\n\t{\n\t\t\"path\"\t\t\"%s\"\n\t}\n", index, str ); + ++index; free( str ); } free( path ); From 69be1fa459a5fee465068efefb748f6de51576f6 Mon Sep 17 00:00:00 2001 From: Anna Lasky Date: Wed, 3 Sep 2025 13:13:23 -0500 Subject: [PATCH 37/65] proton: Enable gamedrive compat option for Tales of Berseria. CW-Bug-Id: #25892 --- proton | 1 + 1 file changed, 1 insertion(+) diff --git a/proton b/proton index 031eae9fc9..c4d1416aec 100755 --- a/proton +++ b/proton @@ -1303,6 +1303,7 @@ def default_compat_config(): "3438330", #Firefly Village Demo "3393740", #Firefly Village "2840770", #Avatar: Frontiers of Pandora + "429660", #Tales of Berseria ]: ret.add("gamedrive") From a1958acd9ea310a005ac7cdb6e5a80e31f36b9f5 Mon Sep 17 00:00:00 2001 From: Esme Povirk Date: Wed, 3 Sep 2025 19:08:34 +0000 Subject: [PATCH 38/65] Update Wine Mono to 10.2.0. --- Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.in b/Makefile.in index 30b9c51cb2..fc083d7088 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1062,7 +1062,7 @@ all-dist: $(OBJ)/.gecko-i386-dist $(OBJ)/.gecko-x86_64-dist ## wine-mono ## -WINEMONO_VER := 10.1.0 +WINEMONO_VER := 10.2.0 WINEMONO_TARBALL := wine-mono-$(WINEMONO_VER)-x86.tar.xz DIST_WINEMONO_DIR := $(DST_DIR)/share/wine/mono DIST_WINEMONO := $(OBJ)/.wine-mono-dist From b9221a70cc07515b1fc454541ea9e7b5e173238a Mon Sep 17 00:00:00 2001 From: Esme Povirk Date: Wed, 3 Sep 2025 20:52:40 +0000 Subject: [PATCH 39/65] xalia-fixups: Remove work-around for winforms accessibility crashes. This should no longer be needed after the Wine Mono 10.2.0 update. CW-Bug-Id: #25607 --- xalia-fixups.gudl | 6 ------ 1 file changed, 6 deletions(-) diff --git a/xalia-fixups.gudl b/xalia-fixups.gudl index 2923b0fdd6..624bbb7d51 100644 --- a/xalia-fixups.gudl +++ b/xalia-fixups.gudl @@ -7,9 +7,3 @@ if (is_hwnd_syslink) { if (win32_class_name == "Rockstar Games Launcher Installer") { application_supports_gamepad: true; } - -if (win32_class_name >= "WindowsForms10." and win32_class_name < "WindowsForms10/") { - // Controls that delegate IEnumVariant in winforms can crash in Wine Mono when queried, don't touch them for now. - recurse: false; - interactable: false; -} From 488b70aab04b0776728de305524e8ce2f59f6f02 Mon Sep 17 00:00:00 2001 From: Arkadiusz Hiler Date: Mon, 28 Jul 2025 14:50:09 +0300 Subject: [PATCH 40/65] docker: Update to MinGW 11 and GCC 14. CW-Bug-Id: #25736 --- docker/Makefile | 12 +++++------- docker/proton.Dockerfile.in | 6 +----- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/docker/Makefile b/docker/Makefile index d263f55c5e..70fc5c34ae 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -1,4 +1,4 @@ -STEAMRT_VERSION = 3.0.20250210.116596 +STEAMRT_VERSION = 3.0.20250519.130773 STEAMRT_URLBASE = registry.gitlab.steamos.cloud PROTONSDK_URLBASE = $(STEAMRT_URLBASE)/proton/sniper/sdk @@ -10,8 +10,8 @@ PROTONSDK_VERSION = $(STEAMRT_VERSION)-0-dev BASE_IMAGE = $(STEAMRT_URLBASE)/steamrt/sniper/sdk:0.20221017.1 BINUTILS_VERSION = 2.42 -GCC_VERSION = 10.3.0 -MINGW_VERSION = 9.0.0 +GCC_VERSION = 14.2.0 +MINGW_VERSION = 11.0.0 RUST_VERSION = 1.68.0 NINJA_VERSION = 1.11.1 @@ -30,8 +30,8 @@ RUST_SOURCE_i686 = rust-$(RUST_VERSION)-i686-unknown-linux-gnu.tar.gz NINJA_SOURCE = ninja-build_$(NINJA_VERSION).orig.tar.gz BINUTILS_SHA256 = f6e4d41fd5fc778b06b7891457b3620da5ecea1006c6a4a41ae998109f85a800 -GCC_SHA256 = 64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344 -MINGW_SHA256 = 1929b94b402f5ff4d7d37a9fe88daa9cc55515a6134805c104d1794ae22a4181 +GCC_SHA256 = a7b39bc69cbf9e25826c5a60ab26477001f7c08d85cec04bc0e29cabed6f3cc9 +MINGW_SHA256 = bd0ea1633bd830204cc23a696889335e9d4a32b8619439ee17f22188695fcc5f RUST_SHA256_x86_64 = 7be1acdac656d0b0b7e909e5c0d4ddf61c755c203ec26ebafbd306322335b361 RUST_SHA256_i686 = dc931adeb2943dcadfbd29546481f0296fcb97a511421053ecae6586a85869b1 NINJA_SHA256 = 31747ae633213f1eda3842686f83c2aa1412e0f5691d1c14dbbcc67fe7400cea @@ -183,8 +183,6 @@ push:: $(DOCKER) push $(PROTONSDK_URLBASE)/gcc-$(1)-$(2):latest endef -$(eval $(call create-gcc-rules,i686,linux-gnu)) -$(eval $(call create-gcc-rules,x86_64,linux-gnu)) $(eval $(call create-gcc-rules,i686,w64-mingw32)) $(eval $(call create-gcc-rules,x86_64,w64-mingw32)) diff --git a/docker/proton.Dockerfile.in b/docker/proton.Dockerfile.in index 8d26eb59fe..baf4b3496c 100644 --- a/docker/proton.Dockerfile.in +++ b/docker/proton.Dockerfile.in @@ -10,8 +10,6 @@ FROM @PROTONSDK_URLBASE@/mingw-pthreads-i686:@MINGW_VERSION@ AS mingw-pthreads-i FROM @PROTONSDK_URLBASE@/mingw-pthreads-x86_64:@MINGW_VERSION@ AS mingw-pthreads-x86_64 FROM @PROTONSDK_URLBASE@/mingw-widl-i686:@MINGW_VERSION@ AS mingw-widl-i686 FROM @PROTONSDK_URLBASE@/mingw-widl-x86_64:@MINGW_VERSION@ AS mingw-widl-x86_64 -FROM @PROTONSDK_URLBASE@/gcc-i686-linux-gnu:@GCC_VERSION@ AS gcc-linux-i686 -FROM @PROTONSDK_URLBASE@/gcc-x86_64-linux-gnu:@GCC_VERSION@ AS gcc-linux-x86_64 FROM @PROTONSDK_URLBASE@/gcc-i686-w64-mingw32:@GCC_VERSION@ AS gcc-mingw-i686 FROM @PROTONSDK_URLBASE@/gcc-x86_64-w64-mingw32:@GCC_VERSION@ AS gcc-mingw-x86_64 @@ -28,8 +26,6 @@ COPY --from=mingw-pthreads-i686 /opt/usr /usr COPY --from=mingw-pthreads-x86_64 /opt/usr /usr COPY --from=mingw-widl-i686 /opt/usr /usr COPY --from=mingw-widl-x86_64 /opt/usr /usr -COPY --from=gcc-linux-i686 /opt/usr /usr -COPY --from=gcc-linux-x86_64 /opt/usr /usr COPY --from=gcc-mingw-i686 /opt/usr /usr COPY --from=gcc-mingw-x86_64 /opt/usr /usr @@ -49,7 +45,7 @@ RUN wget -q @RUST_URLBASE@/@RUST_SOURCE_i686@ \ RUN bash -c 'ls /opt/rust/bin/* | xargs -n1 -I{} ln -sf {} /usr/bin/' RUN bash -c 'mkdir -p /usr/lib/ccache && ls /usr/bin/{,*-}{cc,c++,gcc,g++}{,-[0-9]*} | sed -re s:/bin:/lib/ccache: | xargs -n1 ln -sf ../../bin/ccache' -ENV PATH=/usr/lib/ccache:$PATH +ENV PATH=/usr/lib/ccache:/usr/lib/gcc-14/bin:$PATH RUN apt-get install -y \ autoconf-archive \ From c2f1e94b913c4683c48d9db1482db6bed7732686 Mon Sep 17 00:00:00 2001 From: Arkadiusz Hiler Date: Mon, 28 Jul 2025 14:56:00 +0300 Subject: [PATCH 41/65] update openfst CW-Bug-Id: #25736 --- openfst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openfst b/openfst index 7dfd808194..18e94e6387 160000 --- a/openfst +++ b/openfst @@ -1 +1 @@ -Subproject commit 7dfd808194105162f20084bb4d8e4ee4b65266d5 +Subproject commit 18e94e63870ebcf79ebb42b7035cd3cb626ec090 From 6a1dd0a414ce4038a9ef8d502a3dcb36a5dee3de Mon Sep 17 00:00:00 2001 From: Arkadiusz Hiler Date: Tue, 29 Jul 2025 12:01:04 +0300 Subject: [PATCH 42/65] make/rules-makedep: Move linking to ntdll.so to LDFLAGS. UNIXLDFLAGS are prepended to gcc invokation and newer GCCs are unhappy about the order. CW-Bug-Id: #25736 --- make/rules-makedep.mk | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/make/rules-makedep.mk b/make/rules-makedep.mk index 09823449ff..524df457b9 100644 --- a/make/rules-makedep.mk +++ b/make/rules-makedep.mk @@ -22,7 +22,7 @@ $$(OBJ)/.$(1)-$(3)-configure: $$(OBJ)/.wine-$$(HOST_ARCH)-tools -e '/^CFLAGS/c CFLAGS = $$($(2)_$(3)_INCFLAGS) $$($(2)_CFLAGS) $$($(3)_CFLAGS) $$(CFLAGS)' \ -e '/^CPPFLAGS/c CPPFLAGS = $$($(2)_$(3)_INCFLAGS) $$($(2)_CFLAGS) $$($(3)_CFLAGS) $$(CFLAGS)' \ -e '/^CXXFLAGS/c CXXFLAGS = $$($(2)_$(3)_INCFLAGS) -std=c++17 $$($(2)_CFLAGS) $$($(3)_CFLAGS) $$(CFLAGS)' \ - -e '/^LDFLAGS/c LDFLAGS = $$($(2)_$(3)-$(4)_LIBFLAGS) $$($(2)_$(3)_LIBFLAGS) $$($(2)_LDFLAGS) $$($(3)_LDFLAGS) $$(LDFLAGS)' \ + -e '/^LDFLAGS/c LDFLAGS = $$($(2)_$(3)-$(4)_LIBFLAGS) $$($(2)_$(3)_LIBFLAGS) $$($(2)_LDFLAGS) $$($(3)_LDFLAGS) $$(LDFLAGS) -L$$(WINE_$(3)_LIBDIR)/wine/$(3)-unix -l:ntdll.so' \ \ -e '/^x86_64_CC/a x86_64_CXX = $$(x86_64-windows_TARGET)-g++' \ -e '/^x86_64_CFLAGS/c x86_64_CFLAGS = $$($(2)_x86_64_INCFLAGS) $$($(2)_CFLAGS) $$(x86_64_CFLAGS) $$(CFLAGS)' \ @@ -36,7 +36,6 @@ $$(OBJ)/.$(1)-$(3)-configure: $$(OBJ)/.wine-$$(HOST_ARCH)-tools -e '/^i386_CXXFLAGS/c i386_CXXFLAGS = $$($(2)_i386_INCFLAGS) -std=c++17 $$($(2)_CFLAGS) $$(i386_CFLAGS) $$(CFLAGS)' \ -e '/^i386_LDFLAGS/c i386_LDFLAGS = $$($(2)_i386-windows_LIBFLAGS) $$($(2)_i386_LIBFLAGS) $$(i386_LDFLAGS) $$(LDFLAGS)' \ \ - -e 's@UNIXLDFLAGS =@UNIXLDFLAGS = -L$$(WINE_$(3)_LIBDIR)/wine/$(3)-unix -l:ntdll.so@' \ $$(WINE_$(3)_OBJ)/Makefile > $$($(2)_$(3)_OBJ)/Makefile cd "$$($(2)_$(3)_OBJ)" && env $$($(2)_$(3)_ENV) \ From d6dce9a3b23431e7289930d940dacc610eb25f51 Mon Sep 17 00:00:00 2001 From: Arkadiusz Hiler Date: Mon, 28 Jul 2025 14:50:48 +0300 Subject: [PATCH 43/65] Makefile.in: Hack around Sniper + GCC 14 quirks. CW-Bug-Id: #25736 --- Makefile.in | 4 ++++ make/rules-cargo.mk | 8 ++++++++ make/rules-common.mk | 9 ++++++++- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/Makefile.in b/Makefile.in index fc083d7088..851c49553d 100644 --- a/Makefile.in +++ b/Makefile.in @@ -59,6 +59,7 @@ x86_64_CFLAGS := -mcmodel=small -march=nocona -mtune=core-avx2 -mfpmath=sse CFLAGS = -O2 -fwrapv -fno-strict-aliasing CFLAGS += -ggdb -ffunction-sections -fdata-sections -fno-omit-frame-pointer CFLAGS += -ffile-prefix-map=$(CCACHE_BASEDIR)=. +CFLAGS += -Wl,--exclude-libs=libstdc++.a ifneq ($(SUPPRESS_WARNINGS),) CFLAGS += -w @@ -483,6 +484,9 @@ $(eval $(call rules-cmake,vosk,x86_64,unix)) ## wine ## +# HACK: glib 2.0 in the runtime is old and causes a lot of errors with a newer GCC +WINE_CFLAGS += -Wno-discarded-qualifiers + WINE_SOURCE_ARGS = \ --exclude configure \ --exclude autom4te.cache \ diff --git a/make/rules-cargo.mk b/make/rules-cargo.mk index a8532cb7f4..8982c4ad01 100644 --- a/make/rules-cargo.mk +++ b/make/rules-cargo.mk @@ -32,3 +32,11 @@ x86_64-unix_CARGO_TARGET := x86_64-unknown-linux-gnu i386-unix_CARGO_ARGS := --target $(i386-unix_CARGO_TARGET) x86_64-unix_CARGO_ARGS := --target $(x86_64-unix_CARGO_TARGET) + +# Used in rules-common.mk +# We need to specify the linker explicitly for at least --target architecture as +# well as host's architecture - some crates build things on host via build.rs +# +# HACK: forced to gcc-10 because Sniper's (SteamRT) gcc-14 doesn't come with +# shared libgcc_s.so and cargo/rustc (?) forces shared linking with that lib. +CARGO_LINKERS := $(foreach a,$(unix_ARCHS),CARGO_TARGET_$(call toupper,$($(a)-unix_CARGO_TARGET))_LINKER="$($(a)-unix_TARGET)-gcc-10") diff --git a/make/rules-common.mk b/make/rules-common.mk index 1c8b262a15..7650e26f2d 100644 --- a/make/rules-common.mk +++ b/make/rules-common.mk @@ -118,8 +118,15 @@ $(2)_$(3)-unix_LIBFLAGS = $$(foreach d,$$($(2)_$(3)_DEPS),-Wl,-rpath-link=$$($$( # RC and WIDL are intentionally always using windows target, as their # unix version doesn't exist. +# HACK: forcing cargo to use gcc-10 as a linker because it's very unhappy about +# Sniper's gcc-14 and lack of libgcc_s. The only version we have guarantee for +# with SteamRT Sniper is the one from gcc 10. +# +# We also always need to specify the linker for the host architecture - a bunch +# of crates build host-native bits via build.rs. + $(2)_$(3)_ENV = \ - CARGO_TARGET_$$(call toupper,$$($(3)-$(4)_CARGO_TARGET))_LINKER="$$($(3)-$(4)_TARGET)-gcc" \ + $$(CARGO_LINKERS) \ CCACHE_BASEDIR="$$(CCACHE_BASEDIR)" \ STRIP="$$(STRIP)" \ AR="$$($(3)-$(4)_TARGET)-ar" \ From b6e73729658e311898ade0ef2a704b3093278902 Mon Sep 17 00:00:00 2001 From: Arkadiusz Hiler Date: Tue, 29 Jul 2025 23:15:07 +0300 Subject: [PATCH 44/65] Switch to newer Proton SDK CW-Bug-Id: #25736 --- Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.in b/Makefile.in index 851c49553d..be8df93c35 100644 --- a/Makefile.in +++ b/Makefile.in @@ -24,7 +24,7 @@ SHELL := /bin/bash # BUILD_NAME - Name of the build for manifests etc. # STEAMRT_IMAGE - Name of the docker image to use for building -STEAMRT_IMAGE ?= registry.gitlab.steamos.cloud/proton/sniper/sdk:3.0.20250210.116596-0 +STEAMRT_IMAGE ?= registry.gitlab.steamos.cloud/proton/sniper/sdk:3.0.20250519.130773-0 ifeq ($(SRCDIR),) foo := $(error SRCDIR not set, do not include Makefile.in directly, run ./configure.sh to generate Makefile) endif From 786576c5d69ee26e62a5f2bf4655edd16bbc5bbb Mon Sep 17 00:00:00 2001 From: Arkadiusz Hiler Date: Wed, 13 Aug 2025 23:09:19 +0300 Subject: [PATCH 45/65] update wine --- wine | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wine b/wine index 6d8179558c..ecf0b0c62e 160000 --- a/wine +++ b/wine @@ -1 +1 @@ -Subproject commit 6d8179558ca237a22d7eb4da2e2f515389aaf6d3 +Subproject commit ecf0b0c62ea164f319cb0781e83b9d1a191f3907 From 83833c67eb763f55b8919a5f1500fc0e9e5c472c Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Fri, 5 Sep 2025 10:18:49 -0600 Subject: [PATCH 46/65] vrclient: Update to SDK v2.12.14. CW-Bug-Id: #25901 --- openvr | 2 +- vrclient_x64/Makefile.in | 2 + .../cppIVRCompositor_IVRCompositor_029.cpp | 886 + vrclient_x64/cppIVRSystem_IVRSystem_023.cpp | 875 + vrclient_x64/gen_wrapper.py | 2 + vrclient_x64/openvr_v2.12.14/ivrclientcore.h | 35 + vrclient_x64/openvr_v2.12.14/openvr.h | 6064 +++++ vrclient_x64/unix_private_generated.h | 312 + vrclient_x64/unix_vrcompositor_manual.cpp | 13 + vrclient_x64/unix_vrsystem_manual.cpp | 1 + vrclient_x64/unixlib_generated.cpp | 212 + vrclient_x64/unixlib_generated.h | 18378 +++++++++------- vrclient_x64/vrclient_generated.c | 8 + vrclient_x64/vrclient_generated.h | 8 + vrclient_x64/vrclient_structs_generated.h | 25 +- vrclient_x64/vrcompositor_manual.c | 159 + vrclient_x64/vrsystem_manual.c | 29 +- vrclient_x64/winIVRCompositor.c | 786 + vrclient_x64/winIVRSystem.c | 800 + 19 files changed, 20190 insertions(+), 8407 deletions(-) create mode 100644 vrclient_x64/cppIVRCompositor_IVRCompositor_029.cpp create mode 100644 vrclient_x64/cppIVRSystem_IVRSystem_023.cpp create mode 100644 vrclient_x64/openvr_v2.12.14/ivrclientcore.h create mode 100644 vrclient_x64/openvr_v2.12.14/openvr.h diff --git a/openvr b/openvr index ebd4253312..9182530513 160000 --- a/openvr +++ b/openvr @@ -1 +1 @@ -Subproject commit ebd425331229365dc3ec42d1bb8b2cc3c2332f81 +Subproject commit 91825305130f446f82054c1ec3d416321ace0072 diff --git a/vrclient_x64/Makefile.in b/vrclient_x64/Makefile.in index b4e962ed4d..9204020e0a 100644 --- a/vrclient_x64/Makefile.in +++ b/vrclient_x64/Makefile.in @@ -75,6 +75,7 @@ SOURCES = \ cppIVRCompositor_IVRCompositor_026.cpp \ cppIVRCompositor_IVRCompositor_027.cpp \ cppIVRCompositor_IVRCompositor_028.cpp \ + cppIVRCompositor_IVRCompositor_029.cpp \ cppIVRControlPanel_IVRControlPanel_006.cpp \ cppIVRDriverManager_IVRDriverManager_001.cpp \ cppIVRExtendedDisplay_IVRExtendedDisplay_001.cpp \ @@ -141,6 +142,7 @@ SOURCES = \ cppIVRSystem_IVRSystem_020.cpp \ cppIVRSystem_IVRSystem_021.cpp \ cppIVRSystem_IVRSystem_022.cpp \ + cppIVRSystem_IVRSystem_023.cpp \ cppIVRTrackedCamera_IVRTrackedCamera_001.cpp \ cppIVRTrackedCamera_IVRTrackedCamera_002.cpp \ cppIVRTrackedCamera_IVRTrackedCamera_003.cpp \ diff --git a/vrclient_x64/cppIVRCompositor_IVRCompositor_029.cpp b/vrclient_x64/cppIVRCompositor_IVRCompositor_029.cpp new file mode 100644 index 0000000000..db7a703dcd --- /dev/null +++ b/vrclient_x64/cppIVRCompositor_IVRCompositor_029.cpp @@ -0,0 +1,886 @@ +/* This file is auto-generated, do not edit. */ +#include "unix_private.h" + +#if 0 +#pragma makedep unix +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_SetTrackingSpace( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_SetTrackingSpace_params *params = (struct IVRCompositor_IVRCompositor_029_SetTrackingSpace_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->SetTrackingSpace( params->eOrigin ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_SetTrackingSpace( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_SetTrackingSpace_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_SetTrackingSpace_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->SetTrackingSpace( params->eOrigin ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_GetTrackingSpace( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_GetTrackingSpace_params *params = (struct IVRCompositor_IVRCompositor_029_GetTrackingSpace_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetTrackingSpace( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetTrackingSpace( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_GetTrackingSpace_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_GetTrackingSpace_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetTrackingSpace( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_WaitGetPoses( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_WaitGetPoses_params *params = (struct IVRCompositor_IVRCompositor_029_WaitGetPoses_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->WaitGetPoses( params->pRenderPoseArray, params->unRenderPoseArrayCount, params->pGamePoseArray, params->unGamePoseArrayCount ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_WaitGetPoses( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_WaitGetPoses_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_WaitGetPoses_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->WaitGetPoses( params->pRenderPoseArray, params->unRenderPoseArrayCount, params->pGamePoseArray, params->unGamePoseArrayCount ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_GetLastPoses( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_GetLastPoses_params *params = (struct IVRCompositor_IVRCompositor_029_GetLastPoses_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetLastPoses( params->pRenderPoseArray, params->unRenderPoseArrayCount, params->pGamePoseArray, params->unGamePoseArrayCount ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetLastPoses( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_GetLastPoses_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_GetLastPoses_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetLastPoses( params->pRenderPoseArray, params->unRenderPoseArrayCount, params->pGamePoseArray, params->unGamePoseArrayCount ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_GetLastPoseForTrackedDeviceIndex( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_GetLastPoseForTrackedDeviceIndex_params *params = (struct IVRCompositor_IVRCompositor_029_GetLastPoseForTrackedDeviceIndex_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetLastPoseForTrackedDeviceIndex( params->unDeviceIndex, params->pOutputPose, params->pOutputGamePose ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetLastPoseForTrackedDeviceIndex( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_GetLastPoseForTrackedDeviceIndex_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_GetLastPoseForTrackedDeviceIndex_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetLastPoseForTrackedDeviceIndex( params->unDeviceIndex, params->pOutputPose, params->pOutputGamePose ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_ClearLastSubmittedFrame( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_ClearLastSubmittedFrame_params *params = (struct IVRCompositor_IVRCompositor_029_ClearLastSubmittedFrame_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->ClearLastSubmittedFrame( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_ClearLastSubmittedFrame( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_ClearLastSubmittedFrame_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_ClearLastSubmittedFrame_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->ClearLastSubmittedFrame( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_PostPresentHandoff( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_PostPresentHandoff_params *params = (struct IVRCompositor_IVRCompositor_029_PostPresentHandoff_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->PostPresentHandoff( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_PostPresentHandoff( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_PostPresentHandoff_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_PostPresentHandoff_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->PostPresentHandoff( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_GetFrameTiming( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_GetFrameTiming_params *params = (struct IVRCompositor_IVRCompositor_029_GetFrameTiming_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetFrameTiming( params->pTiming, params->unFramesAgo ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetFrameTiming( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_GetFrameTiming_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_GetFrameTiming_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + u_Compositor_FrameTiming_251 u_pTiming; + if (params->pTiming) u_pTiming = *params->pTiming; + params->_ret = iface->GetFrameTiming( params->pTiming ? &u_pTiming : nullptr, params->unFramesAgo ); + if (params->pTiming) *params->pTiming = u_pTiming; + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_GetFrameTimings( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_GetFrameTimings_params *params = (struct IVRCompositor_IVRCompositor_029_GetFrameTimings_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetFrameTimings( params->pTiming, params->nFrames ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetFrameTimings( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_GetFrameTimings_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_GetFrameTimings_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + u_Compositor_FrameTiming_251 u_pTiming; + if (params->pTiming) u_pTiming = *params->pTiming; + params->_ret = iface->GetFrameTimings( params->pTiming ? &u_pTiming : nullptr, params->nFrames ); + if (params->pTiming) *params->pTiming = u_pTiming; + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_GetFrameTimeRemaining( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_GetFrameTimeRemaining_params *params = (struct IVRCompositor_IVRCompositor_029_GetFrameTimeRemaining_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetFrameTimeRemaining( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetFrameTimeRemaining( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_GetFrameTimeRemaining_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_GetFrameTimeRemaining_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetFrameTimeRemaining( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_GetCumulativeStats( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_GetCumulativeStats_params *params = (struct IVRCompositor_IVRCompositor_029_GetCumulativeStats_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->GetCumulativeStats( params->pStats, params->nStatsSizeInBytes ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetCumulativeStats( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_GetCumulativeStats_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_GetCumulativeStats_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->GetCumulativeStats( params->pStats, params->nStatsSizeInBytes ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_FadeToColor( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_FadeToColor_params *params = (struct IVRCompositor_IVRCompositor_029_FadeToColor_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->FadeToColor( params->fSeconds, params->fRed, params->fGreen, params->fBlue, params->fAlpha, params->bBackground ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_FadeToColor( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_FadeToColor_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_FadeToColor_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->FadeToColor( params->fSeconds, params->fRed, params->fGreen, params->fBlue, params->fAlpha, params->bBackground ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_GetCurrentFadeColor( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_GetCurrentFadeColor_params *params = (struct IVRCompositor_IVRCompositor_029_GetCurrentFadeColor_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + *params->_ret = iface->GetCurrentFadeColor( params->bBackground ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetCurrentFadeColor( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_GetCurrentFadeColor_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_GetCurrentFadeColor_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + *params->_ret = iface->GetCurrentFadeColor( params->bBackground ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_FadeGrid( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_FadeGrid_params *params = (struct IVRCompositor_IVRCompositor_029_FadeGrid_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->FadeGrid( params->fSeconds, params->bFadeGridIn ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_FadeGrid( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_FadeGrid_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_FadeGrid_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->FadeGrid( params->fSeconds, params->bFadeGridIn ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_GetCurrentGridAlpha( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_GetCurrentGridAlpha_params *params = (struct IVRCompositor_IVRCompositor_029_GetCurrentGridAlpha_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetCurrentGridAlpha( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetCurrentGridAlpha( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_GetCurrentGridAlpha_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_GetCurrentGridAlpha_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetCurrentGridAlpha( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_ClearSkyboxOverride( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_ClearSkyboxOverride_params *params = (struct IVRCompositor_IVRCompositor_029_ClearSkyboxOverride_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->ClearSkyboxOverride( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_ClearSkyboxOverride( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_ClearSkyboxOverride_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_ClearSkyboxOverride_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->ClearSkyboxOverride( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_CompositorBringToFront( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_CompositorBringToFront_params *params = (struct IVRCompositor_IVRCompositor_029_CompositorBringToFront_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->CompositorBringToFront( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_CompositorBringToFront( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_CompositorBringToFront_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_CompositorBringToFront_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->CompositorBringToFront( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_CompositorGoToBack( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_CompositorGoToBack_params *params = (struct IVRCompositor_IVRCompositor_029_CompositorGoToBack_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->CompositorGoToBack( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_CompositorGoToBack( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_CompositorGoToBack_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_CompositorGoToBack_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->CompositorGoToBack( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_CompositorQuit( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_CompositorQuit_params *params = (struct IVRCompositor_IVRCompositor_029_CompositorQuit_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->CompositorQuit( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_CompositorQuit( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_CompositorQuit_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_CompositorQuit_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->CompositorQuit( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_IsFullscreen( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_IsFullscreen_params *params = (struct IVRCompositor_IVRCompositor_029_IsFullscreen_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->IsFullscreen( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_IsFullscreen( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_IsFullscreen_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_IsFullscreen_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->IsFullscreen( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_GetCurrentSceneFocusProcess( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_GetCurrentSceneFocusProcess_params *params = (struct IVRCompositor_IVRCompositor_029_GetCurrentSceneFocusProcess_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetCurrentSceneFocusProcess( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetCurrentSceneFocusProcess( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_GetCurrentSceneFocusProcess_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_GetCurrentSceneFocusProcess_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetCurrentSceneFocusProcess( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_GetLastFrameRenderer( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_GetLastFrameRenderer_params *params = (struct IVRCompositor_IVRCompositor_029_GetLastFrameRenderer_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetLastFrameRenderer( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetLastFrameRenderer( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_GetLastFrameRenderer_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_GetLastFrameRenderer_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetLastFrameRenderer( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_CanRenderScene( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_CanRenderScene_params *params = (struct IVRCompositor_IVRCompositor_029_CanRenderScene_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->CanRenderScene( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_CanRenderScene( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_CanRenderScene_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_CanRenderScene_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->CanRenderScene( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_ShowMirrorWindow( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_ShowMirrorWindow_params *params = (struct IVRCompositor_IVRCompositor_029_ShowMirrorWindow_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->ShowMirrorWindow( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_ShowMirrorWindow( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_ShowMirrorWindow_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_ShowMirrorWindow_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->ShowMirrorWindow( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_HideMirrorWindow( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_HideMirrorWindow_params *params = (struct IVRCompositor_IVRCompositor_029_HideMirrorWindow_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->HideMirrorWindow( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_HideMirrorWindow( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_HideMirrorWindow_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_HideMirrorWindow_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->HideMirrorWindow( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_IsMirrorWindowVisible( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_IsMirrorWindowVisible_params *params = (struct IVRCompositor_IVRCompositor_029_IsMirrorWindowVisible_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->IsMirrorWindowVisible( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_IsMirrorWindowVisible( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_IsMirrorWindowVisible_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_IsMirrorWindowVisible_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->IsMirrorWindowVisible( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_CompositorDumpImages( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_CompositorDumpImages_params *params = (struct IVRCompositor_IVRCompositor_029_CompositorDumpImages_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->CompositorDumpImages( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_CompositorDumpImages( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_CompositorDumpImages_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_CompositorDumpImages_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->CompositorDumpImages( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_ShouldAppRenderWithLowResources( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_ShouldAppRenderWithLowResources_params *params = (struct IVRCompositor_IVRCompositor_029_ShouldAppRenderWithLowResources_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->ShouldAppRenderWithLowResources( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_ShouldAppRenderWithLowResources( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_ShouldAppRenderWithLowResources_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_ShouldAppRenderWithLowResources_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->ShouldAppRenderWithLowResources( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_ForceInterleavedReprojectionOn( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_ForceInterleavedReprojectionOn_params *params = (struct IVRCompositor_IVRCompositor_029_ForceInterleavedReprojectionOn_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->ForceInterleavedReprojectionOn( params->bOverride ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_ForceInterleavedReprojectionOn( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_ForceInterleavedReprojectionOn_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_ForceInterleavedReprojectionOn_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->ForceInterleavedReprojectionOn( params->bOverride ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_ForceReconnectProcess( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_ForceReconnectProcess_params *params = (struct IVRCompositor_IVRCompositor_029_ForceReconnectProcess_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->ForceReconnectProcess( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_ForceReconnectProcess( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_ForceReconnectProcess_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_ForceReconnectProcess_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->ForceReconnectProcess( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_SuspendRendering( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_SuspendRendering_params *params = (struct IVRCompositor_IVRCompositor_029_SuspendRendering_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->SuspendRendering( params->bSuspend ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_SuspendRendering( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_SuspendRendering_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_SuspendRendering_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->SuspendRendering( params->bSuspend ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_GetMirrorTextureD3D11( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_GetMirrorTextureD3D11_params *params = (struct IVRCompositor_IVRCompositor_029_GetMirrorTextureD3D11_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetMirrorTextureD3D11( params->eEye, params->pD3D11DeviceOrResource, params->ppD3D11ShaderResourceView ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetMirrorTextureD3D11( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_GetMirrorTextureD3D11_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_GetMirrorTextureD3D11_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + void *u_ppD3D11ShaderResourceView; + params->_ret = iface->GetMirrorTextureD3D11( params->eEye, params->pD3D11DeviceOrResource, params->ppD3D11ShaderResourceView ? &u_ppD3D11ShaderResourceView : nullptr ); + if (params->ppD3D11ShaderResourceView) *params->ppD3D11ShaderResourceView = u_ppD3D11ShaderResourceView; + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_ReleaseMirrorTextureD3D11( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_ReleaseMirrorTextureD3D11_params *params = (struct IVRCompositor_IVRCompositor_029_ReleaseMirrorTextureD3D11_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->ReleaseMirrorTextureD3D11( params->pD3D11ShaderResourceView ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_ReleaseMirrorTextureD3D11( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_ReleaseMirrorTextureD3D11_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_ReleaseMirrorTextureD3D11_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->ReleaseMirrorTextureD3D11( params->pD3D11ShaderResourceView ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_GetMirrorTextureGL( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_GetMirrorTextureGL_params *params = (struct IVRCompositor_IVRCompositor_029_GetMirrorTextureGL_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetMirrorTextureGL( params->eEye, params->pglTextureId, params->pglSharedTextureHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetMirrorTextureGL( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_GetMirrorTextureGL_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_GetMirrorTextureGL_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + void *u_pglSharedTextureHandle; + if (params->pglSharedTextureHandle) u_pglSharedTextureHandle = *params->pglSharedTextureHandle; + params->_ret = iface->GetMirrorTextureGL( params->eEye, params->pglTextureId, params->pglSharedTextureHandle ? &u_pglSharedTextureHandle : nullptr ); + if (params->pglSharedTextureHandle) *params->pglSharedTextureHandle = u_pglSharedTextureHandle; + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_ReleaseSharedGLTexture( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_ReleaseSharedGLTexture_params *params = (struct IVRCompositor_IVRCompositor_029_ReleaseSharedGLTexture_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->ReleaseSharedGLTexture( params->glTextureId, params->glSharedTextureHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_ReleaseSharedGLTexture( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_ReleaseSharedGLTexture_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_ReleaseSharedGLTexture_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->ReleaseSharedGLTexture( params->glTextureId, params->glSharedTextureHandle ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_LockGLSharedTextureForAccess( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_LockGLSharedTextureForAccess_params *params = (struct IVRCompositor_IVRCompositor_029_LockGLSharedTextureForAccess_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->LockGLSharedTextureForAccess( params->glSharedTextureHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_LockGLSharedTextureForAccess( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_LockGLSharedTextureForAccess_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_LockGLSharedTextureForAccess_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->LockGLSharedTextureForAccess( params->glSharedTextureHandle ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_UnlockGLSharedTextureForAccess( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_UnlockGLSharedTextureForAccess_params *params = (struct IVRCompositor_IVRCompositor_029_UnlockGLSharedTextureForAccess_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->UnlockGLSharedTextureForAccess( params->glSharedTextureHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_UnlockGLSharedTextureForAccess( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_UnlockGLSharedTextureForAccess_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_UnlockGLSharedTextureForAccess_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->UnlockGLSharedTextureForAccess( params->glSharedTextureHandle ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_GetVulkanInstanceExtensionsRequired( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_GetVulkanInstanceExtensionsRequired_params *params = (struct IVRCompositor_IVRCompositor_029_GetVulkanInstanceExtensionsRequired_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetVulkanInstanceExtensionsRequired( params->pchValue, params->unBufferSize ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetVulkanInstanceExtensionsRequired( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_GetVulkanInstanceExtensionsRequired_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_GetVulkanInstanceExtensionsRequired_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetVulkanInstanceExtensionsRequired( params->pchValue, params->unBufferSize ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_SetExplicitTimingMode( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_SetExplicitTimingMode_params *params = (struct IVRCompositor_IVRCompositor_029_SetExplicitTimingMode_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->SetExplicitTimingMode( params->eTimingMode ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_SetExplicitTimingMode( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_SetExplicitTimingMode_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_SetExplicitTimingMode_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->SetExplicitTimingMode( params->eTimingMode ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_SubmitExplicitTimingData( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_SubmitExplicitTimingData_params *params = (struct IVRCompositor_IVRCompositor_029_SubmitExplicitTimingData_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->SubmitExplicitTimingData( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_SubmitExplicitTimingData( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_SubmitExplicitTimingData_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_SubmitExplicitTimingData_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->SubmitExplicitTimingData( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_IsMotionSmoothingEnabled( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_IsMotionSmoothingEnabled_params *params = (struct IVRCompositor_IVRCompositor_029_IsMotionSmoothingEnabled_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->IsMotionSmoothingEnabled( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_IsMotionSmoothingEnabled( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_IsMotionSmoothingEnabled_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_IsMotionSmoothingEnabled_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->IsMotionSmoothingEnabled( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_IsMotionSmoothingSupported( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_IsMotionSmoothingSupported_params *params = (struct IVRCompositor_IVRCompositor_029_IsMotionSmoothingSupported_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->IsMotionSmoothingSupported( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_IsMotionSmoothingSupported( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_IsMotionSmoothingSupported_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_IsMotionSmoothingSupported_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->IsMotionSmoothingSupported( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_IsCurrentSceneFocusAppLoading( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_IsCurrentSceneFocusAppLoading_params *params = (struct IVRCompositor_IVRCompositor_029_IsCurrentSceneFocusAppLoading_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->IsCurrentSceneFocusAppLoading( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_IsCurrentSceneFocusAppLoading( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_IsCurrentSceneFocusAppLoading_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_IsCurrentSceneFocusAppLoading_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->IsCurrentSceneFocusAppLoading( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_SetStageOverride_Async( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_SetStageOverride_Async_params *params = (struct IVRCompositor_IVRCompositor_029_SetStageOverride_Async_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + char *u_pchRenderModelPath = vrclient_dos_to_unix_path( params->pchRenderModelPath ); + params->_ret = iface->SetStageOverride_Async( u_pchRenderModelPath, params->pTransform, params->pRenderSettings, params->nSizeOfRenderSettings ); + vrclient_free_path( u_pchRenderModelPath ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_SetStageOverride_Async( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_SetStageOverride_Async_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_SetStageOverride_Async_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + char *u_pchRenderModelPath = vrclient_dos_to_unix_path( params->pchRenderModelPath ); + params->_ret = iface->SetStageOverride_Async( u_pchRenderModelPath, params->pTransform, params->pRenderSettings, params->nSizeOfRenderSettings ); + vrclient_free_path( u_pchRenderModelPath ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_ClearStageOverride( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_ClearStageOverride_params *params = (struct IVRCompositor_IVRCompositor_029_ClearStageOverride_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->ClearStageOverride( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_ClearStageOverride( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_ClearStageOverride_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_ClearStageOverride_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + iface->ClearStageOverride( ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_GetCompositorBenchmarkResults( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_GetCompositorBenchmarkResults_params *params = (struct IVRCompositor_IVRCompositor_029_GetCompositorBenchmarkResults_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetCompositorBenchmarkResults( params->pBenchmarkResults, params->nSizeOfBenchmarkResults ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetCompositorBenchmarkResults( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_GetCompositorBenchmarkResults_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_GetCompositorBenchmarkResults_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetCompositorBenchmarkResults( params->pBenchmarkResults, params->nSizeOfBenchmarkResults ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_GetLastPosePredictionIDs( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_GetLastPosePredictionIDs_params *params = (struct IVRCompositor_IVRCompositor_029_GetLastPosePredictionIDs_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetLastPosePredictionIDs( params->pRenderPosePredictionID, params->pGamePosePredictionID ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetLastPosePredictionIDs( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_GetLastPosePredictionIDs_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_GetLastPosePredictionIDs_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetLastPosePredictionIDs( params->pRenderPosePredictionID, params->pGamePosePredictionID ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_029_GetPosesForFrame( void *args ) +{ + struct IVRCompositor_IVRCompositor_029_GetPosesForFrame_params *params = (struct IVRCompositor_IVRCompositor_029_GetPosesForFrame_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetPosesForFrame( params->unPosePredictionID, params->pPoseArray, params->unPoseArrayCount ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetPosesForFrame( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_029_GetPosesForFrame_params *params = (struct wow64_IVRCompositor_IVRCompositor_029_GetPosesForFrame_params *)args; + struct u_IVRCompositor_IVRCompositor_029 *iface = (struct u_IVRCompositor_IVRCompositor_029 *)params->u_iface; + params->_ret = iface->GetPosesForFrame( params->unPosePredictionID, params->pPoseArray, params->unPoseArrayCount ); + return 0; +} +#endif + diff --git a/vrclient_x64/cppIVRSystem_IVRSystem_023.cpp b/vrclient_x64/cppIVRSystem_IVRSystem_023.cpp new file mode 100644 index 0000000000..f2d68cf02c --- /dev/null +++ b/vrclient_x64/cppIVRSystem_IVRSystem_023.cpp @@ -0,0 +1,875 @@ +/* This file is auto-generated, do not edit. */ +#include "unix_private.h" + +#if 0 +#pragma makedep unix +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetRecommendedRenderTargetSize( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetRecommendedRenderTargetSize_params *params = (struct IVRSystem_IVRSystem_023_GetRecommendedRenderTargetSize_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + iface->GetRecommendedRenderTargetSize( params->pnWidth, params->pnHeight ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetRecommendedRenderTargetSize( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetRecommendedRenderTargetSize_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetRecommendedRenderTargetSize_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + iface->GetRecommendedRenderTargetSize( params->pnWidth, params->pnHeight ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetProjectionMatrix( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetProjectionMatrix_params *params = (struct IVRSystem_IVRSystem_023_GetProjectionMatrix_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + *params->_ret = iface->GetProjectionMatrix( params->eEye, params->fNearZ, params->fFarZ ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetProjectionMatrix( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetProjectionMatrix_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetProjectionMatrix_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + *params->_ret = iface->GetProjectionMatrix( params->eEye, params->fNearZ, params->fFarZ ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetProjectionRaw( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetProjectionRaw_params *params = (struct IVRSystem_IVRSystem_023_GetProjectionRaw_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + iface->GetProjectionRaw( params->eEye, params->pfLeft, params->pfRight, params->pfTop, params->pfBottom ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetProjectionRaw( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetProjectionRaw_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetProjectionRaw_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + iface->GetProjectionRaw( params->eEye, params->pfLeft, params->pfRight, params->pfTop, params->pfBottom ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_ComputeDistortion( void *args ) +{ + struct IVRSystem_IVRSystem_023_ComputeDistortion_params *params = (struct IVRSystem_IVRSystem_023_ComputeDistortion_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->ComputeDistortion( params->eEye, params->fU, params->fV, params->pDistortionCoordinates ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_ComputeDistortion( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_ComputeDistortion_params *params = (struct wow64_IVRSystem_IVRSystem_023_ComputeDistortion_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->ComputeDistortion( params->eEye, params->fU, params->fV, params->pDistortionCoordinates ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetEyeToHeadTransform( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetEyeToHeadTransform_params *params = (struct IVRSystem_IVRSystem_023_GetEyeToHeadTransform_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + *params->_ret = iface->GetEyeToHeadTransform( params->eEye ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetEyeToHeadTransform( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetEyeToHeadTransform_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetEyeToHeadTransform_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + *params->_ret = iface->GetEyeToHeadTransform( params->eEye ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetTimeSinceLastVsync( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetTimeSinceLastVsync_params *params = (struct IVRSystem_IVRSystem_023_GetTimeSinceLastVsync_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetTimeSinceLastVsync( params->pfSecondsSinceLastVsync, params->pulFrameCounter ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetTimeSinceLastVsync( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetTimeSinceLastVsync_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetTimeSinceLastVsync_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetTimeSinceLastVsync( params->pfSecondsSinceLastVsync, params->pulFrameCounter ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetD3D9AdapterIndex( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetD3D9AdapterIndex_params *params = (struct IVRSystem_IVRSystem_023_GetD3D9AdapterIndex_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetD3D9AdapterIndex( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetD3D9AdapterIndex( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetD3D9AdapterIndex_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetD3D9AdapterIndex_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetD3D9AdapterIndex( ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetDXGIOutputInfo( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetDXGIOutputInfo_params *params = (struct IVRSystem_IVRSystem_023_GetDXGIOutputInfo_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + iface->GetDXGIOutputInfo( params->pnAdapterIndex ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetDXGIOutputInfo( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetDXGIOutputInfo_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetDXGIOutputInfo_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + iface->GetDXGIOutputInfo( params->pnAdapterIndex ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_IsDisplayOnDesktop( void *args ) +{ + struct IVRSystem_IVRSystem_023_IsDisplayOnDesktop_params *params = (struct IVRSystem_IVRSystem_023_IsDisplayOnDesktop_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->IsDisplayOnDesktop( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_IsDisplayOnDesktop( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_IsDisplayOnDesktop_params *params = (struct wow64_IVRSystem_IVRSystem_023_IsDisplayOnDesktop_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->IsDisplayOnDesktop( ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_SetDisplayVisibility( void *args ) +{ + struct IVRSystem_IVRSystem_023_SetDisplayVisibility_params *params = (struct IVRSystem_IVRSystem_023_SetDisplayVisibility_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->SetDisplayVisibility( params->bIsVisibleOnDesktop ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_SetDisplayVisibility( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_SetDisplayVisibility_params *params = (struct wow64_IVRSystem_IVRSystem_023_SetDisplayVisibility_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->SetDisplayVisibility( params->bIsVisibleOnDesktop ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetDeviceToAbsoluteTrackingPose( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetDeviceToAbsoluteTrackingPose_params *params = (struct IVRSystem_IVRSystem_023_GetDeviceToAbsoluteTrackingPose_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + iface->GetDeviceToAbsoluteTrackingPose( params->eOrigin, params->fPredictedSecondsToPhotonsFromNow, params->pTrackedDevicePoseArray, params->unTrackedDevicePoseArrayCount ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetDeviceToAbsoluteTrackingPose( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetDeviceToAbsoluteTrackingPose_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetDeviceToAbsoluteTrackingPose_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + iface->GetDeviceToAbsoluteTrackingPose( params->eOrigin, params->fPredictedSecondsToPhotonsFromNow, params->pTrackedDevicePoseArray, params->unTrackedDevicePoseArrayCount ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetSeatedZeroPoseToStandingAbsoluteTrackingPose( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params *params = (struct IVRSystem_IVRSystem_023_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + *params->_ret = iface->GetSeatedZeroPoseToStandingAbsoluteTrackingPose( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetSeatedZeroPoseToStandingAbsoluteTrackingPose( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + *params->_ret = iface->GetSeatedZeroPoseToStandingAbsoluteTrackingPose( ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetRawZeroPoseToStandingAbsoluteTrackingPose( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetRawZeroPoseToStandingAbsoluteTrackingPose_params *params = (struct IVRSystem_IVRSystem_023_GetRawZeroPoseToStandingAbsoluteTrackingPose_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + *params->_ret = iface->GetRawZeroPoseToStandingAbsoluteTrackingPose( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetRawZeroPoseToStandingAbsoluteTrackingPose( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetRawZeroPoseToStandingAbsoluteTrackingPose_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetRawZeroPoseToStandingAbsoluteTrackingPose_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + *params->_ret = iface->GetRawZeroPoseToStandingAbsoluteTrackingPose( ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetSortedTrackedDeviceIndicesOfClass( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetSortedTrackedDeviceIndicesOfClass_params *params = (struct IVRSystem_IVRSystem_023_GetSortedTrackedDeviceIndicesOfClass_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetSortedTrackedDeviceIndicesOfClass( params->eTrackedDeviceClass, params->punTrackedDeviceIndexArray, params->unTrackedDeviceIndexArrayCount, params->unRelativeToTrackedDeviceIndex ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetSortedTrackedDeviceIndicesOfClass( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetSortedTrackedDeviceIndicesOfClass_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetSortedTrackedDeviceIndicesOfClass_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetSortedTrackedDeviceIndicesOfClass( params->eTrackedDeviceClass, params->punTrackedDeviceIndexArray, params->unTrackedDeviceIndexArrayCount, params->unRelativeToTrackedDeviceIndex ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetTrackedDeviceActivityLevel( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetTrackedDeviceActivityLevel_params *params = (struct IVRSystem_IVRSystem_023_GetTrackedDeviceActivityLevel_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetTrackedDeviceActivityLevel( params->unDeviceId ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetTrackedDeviceActivityLevel( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetTrackedDeviceActivityLevel_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetTrackedDeviceActivityLevel_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetTrackedDeviceActivityLevel( params->unDeviceId ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_ApplyTransform( void *args ) +{ + struct IVRSystem_IVRSystem_023_ApplyTransform_params *params = (struct IVRSystem_IVRSystem_023_ApplyTransform_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + iface->ApplyTransform( params->pOutputPose, params->pTrackedDevicePose, params->pTransform ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_ApplyTransform( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_ApplyTransform_params *params = (struct wow64_IVRSystem_IVRSystem_023_ApplyTransform_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + iface->ApplyTransform( params->pOutputPose, params->pTrackedDevicePose, params->pTransform ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetTrackedDeviceIndexForControllerRole( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetTrackedDeviceIndexForControllerRole_params *params = (struct IVRSystem_IVRSystem_023_GetTrackedDeviceIndexForControllerRole_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetTrackedDeviceIndexForControllerRole( params->unDeviceType ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetTrackedDeviceIndexForControllerRole( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetTrackedDeviceIndexForControllerRole_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetTrackedDeviceIndexForControllerRole_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetTrackedDeviceIndexForControllerRole( params->unDeviceType ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetControllerRoleForTrackedDeviceIndex( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetControllerRoleForTrackedDeviceIndex_params *params = (struct IVRSystem_IVRSystem_023_GetControllerRoleForTrackedDeviceIndex_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetControllerRoleForTrackedDeviceIndex( params->unDeviceIndex ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetControllerRoleForTrackedDeviceIndex( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetControllerRoleForTrackedDeviceIndex_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetControllerRoleForTrackedDeviceIndex_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetControllerRoleForTrackedDeviceIndex( params->unDeviceIndex ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetTrackedDeviceClass( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetTrackedDeviceClass_params *params = (struct IVRSystem_IVRSystem_023_GetTrackedDeviceClass_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetTrackedDeviceClass( params->unDeviceIndex ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetTrackedDeviceClass( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetTrackedDeviceClass_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetTrackedDeviceClass_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetTrackedDeviceClass( params->unDeviceIndex ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_IsTrackedDeviceConnected( void *args ) +{ + struct IVRSystem_IVRSystem_023_IsTrackedDeviceConnected_params *params = (struct IVRSystem_IVRSystem_023_IsTrackedDeviceConnected_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->IsTrackedDeviceConnected( params->unDeviceIndex ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_IsTrackedDeviceConnected( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_IsTrackedDeviceConnected_params *params = (struct wow64_IVRSystem_IVRSystem_023_IsTrackedDeviceConnected_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->IsTrackedDeviceConnected( params->unDeviceIndex ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetBoolTrackedDeviceProperty( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetBoolTrackedDeviceProperty_params *params = (struct IVRSystem_IVRSystem_023_GetBoolTrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetBoolTrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetBoolTrackedDeviceProperty( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetBoolTrackedDeviceProperty_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetBoolTrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetBoolTrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetFloatTrackedDeviceProperty( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetFloatTrackedDeviceProperty_params *params = (struct IVRSystem_IVRSystem_023_GetFloatTrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetFloatTrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetFloatTrackedDeviceProperty( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetFloatTrackedDeviceProperty_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetFloatTrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetFloatTrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetInt32TrackedDeviceProperty( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetInt32TrackedDeviceProperty_params *params = (struct IVRSystem_IVRSystem_023_GetInt32TrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetInt32TrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetInt32TrackedDeviceProperty( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetInt32TrackedDeviceProperty_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetInt32TrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetInt32TrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetUint64TrackedDeviceProperty( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetUint64TrackedDeviceProperty_params *params = (struct IVRSystem_IVRSystem_023_GetUint64TrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetUint64TrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetUint64TrackedDeviceProperty( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetUint64TrackedDeviceProperty_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetUint64TrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetUint64TrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetMatrix34TrackedDeviceProperty( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetMatrix34TrackedDeviceProperty_params *params = (struct IVRSystem_IVRSystem_023_GetMatrix34TrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + *params->_ret = iface->GetMatrix34TrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetMatrix34TrackedDeviceProperty( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetMatrix34TrackedDeviceProperty_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetMatrix34TrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + *params->_ret = iface->GetMatrix34TrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetArrayTrackedDeviceProperty( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetArrayTrackedDeviceProperty_params *params = (struct IVRSystem_IVRSystem_023_GetArrayTrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetArrayTrackedDeviceProperty( params->unDeviceIndex, params->prop, params->propType, params->pBuffer, params->unBufferSize, params->pError ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetArrayTrackedDeviceProperty( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetArrayTrackedDeviceProperty_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetArrayTrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetArrayTrackedDeviceProperty( params->unDeviceIndex, params->prop, params->propType, params->pBuffer, params->unBufferSize, params->pError ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetStringTrackedDeviceProperty( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetStringTrackedDeviceProperty_params *params = (struct IVRSystem_IVRSystem_023_GetStringTrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetStringTrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pchValue, params->unBufferSize, params->pError ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetStringTrackedDeviceProperty( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetStringTrackedDeviceProperty_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetStringTrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetStringTrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pchValue, params->unBufferSize, params->pError ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetPropErrorNameFromEnum( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetPropErrorNameFromEnum_params *params = (struct IVRSystem_IVRSystem_023_GetPropErrorNameFromEnum_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetPropErrorNameFromEnum( params->error ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetPropErrorNameFromEnum( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetPropErrorNameFromEnum_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetPropErrorNameFromEnum_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetPropErrorNameFromEnum( params->error ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_PollNextEvent( void *args ) +{ + struct IVRSystem_IVRSystem_023_PollNextEvent_params *params = (struct IVRSystem_IVRSystem_023_PollNextEvent_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + u_VREvent_t_223 u_pEvent; + if (params->pEvent) u_pEvent = *params->pEvent; + uint32_t u_uncbVREvent = params->uncbVREvent ? sizeof(u_pEvent) : 0; + params->_ret = iface->PollNextEvent( params->pEvent ? &u_pEvent : nullptr, u_uncbVREvent ); + if (params->pEvent) *params->pEvent = u_pEvent; + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_PollNextEvent( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_PollNextEvent_params *params = (struct wow64_IVRSystem_IVRSystem_023_PollNextEvent_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + u_VREvent_t_223 u_pEvent; + if (params->pEvent) u_pEvent = *params->pEvent; + uint32_t u_uncbVREvent = params->uncbVREvent ? sizeof(u_pEvent) : 0; + params->_ret = iface->PollNextEvent( params->pEvent ? &u_pEvent : nullptr, u_uncbVREvent ); + if (params->pEvent) *params->pEvent = u_pEvent; + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_PollNextEventWithPose( void *args ) +{ + struct IVRSystem_IVRSystem_023_PollNextEventWithPose_params *params = (struct IVRSystem_IVRSystem_023_PollNextEventWithPose_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + u_VREvent_t_223 u_pEvent; + if (params->pEvent) u_pEvent = *params->pEvent; + uint32_t u_uncbVREvent = params->uncbVREvent ? sizeof(u_pEvent) : 0; + params->_ret = iface->PollNextEventWithPose( params->eOrigin, params->pEvent ? &u_pEvent : nullptr, u_uncbVREvent, params->pTrackedDevicePose ); + if (params->pEvent) *params->pEvent = u_pEvent; + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_PollNextEventWithPose( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_PollNextEventWithPose_params *params = (struct wow64_IVRSystem_IVRSystem_023_PollNextEventWithPose_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + u_VREvent_t_223 u_pEvent; + if (params->pEvent) u_pEvent = *params->pEvent; + uint32_t u_uncbVREvent = params->uncbVREvent ? sizeof(u_pEvent) : 0; + params->_ret = iface->PollNextEventWithPose( params->eOrigin, params->pEvent ? &u_pEvent : nullptr, u_uncbVREvent, params->pTrackedDevicePose ); + if (params->pEvent) *params->pEvent = u_pEvent; + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_PollNextEventWithPoseAndOverlays( void *args ) +{ + struct IVRSystem_IVRSystem_023_PollNextEventWithPoseAndOverlays_params *params = (struct IVRSystem_IVRSystem_023_PollNextEventWithPoseAndOverlays_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + u_VREvent_t_223 u_pEvent; + if (params->pEvent) u_pEvent = *params->pEvent; + uint32_t u_uncbVREvent = params->uncbVREvent ? sizeof(u_pEvent) : 0; + params->_ret = iface->PollNextEventWithPoseAndOverlays( params->eOrigin, params->pEvent ? &u_pEvent : nullptr, u_uncbVREvent, params->pTrackedDevicePose, params->pulOverlayHandle ); + if (params->pEvent) *params->pEvent = u_pEvent; + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_PollNextEventWithPoseAndOverlays( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_PollNextEventWithPoseAndOverlays_params *params = (struct wow64_IVRSystem_IVRSystem_023_PollNextEventWithPoseAndOverlays_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + u_VREvent_t_223 u_pEvent; + if (params->pEvent) u_pEvent = *params->pEvent; + uint32_t u_uncbVREvent = params->uncbVREvent ? sizeof(u_pEvent) : 0; + params->_ret = iface->PollNextEventWithPoseAndOverlays( params->eOrigin, params->pEvent ? &u_pEvent : nullptr, u_uncbVREvent, params->pTrackedDevicePose, params->pulOverlayHandle ); + if (params->pEvent) *params->pEvent = u_pEvent; + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetEventTypeNameFromEnum( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetEventTypeNameFromEnum_params *params = (struct IVRSystem_IVRSystem_023_GetEventTypeNameFromEnum_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetEventTypeNameFromEnum( params->eType ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetEventTypeNameFromEnum( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetEventTypeNameFromEnum_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetEventTypeNameFromEnum_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetEventTypeNameFromEnum( params->eType ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetHiddenAreaMesh( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetHiddenAreaMesh_params *params = (struct IVRSystem_IVRSystem_023_GetHiddenAreaMesh_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + *params->_ret = iface->GetHiddenAreaMesh( params->eEye, params->type ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetHiddenAreaMesh( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetHiddenAreaMesh_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetHiddenAreaMesh_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + *params->_ret = iface->GetHiddenAreaMesh( params->eEye, params->type ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetControllerState( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetControllerState_params *params = (struct IVRSystem_IVRSystem_023_GetControllerState_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + u_VRControllerState001_t u_pControllerState; + if (params->pControllerState) u_pControllerState = *params->pControllerState; + uint32_t u_unControllerStateSize = params->unControllerStateSize ? sizeof(u_pControllerState) : 0; + params->_ret = iface->GetControllerState( params->unControllerDeviceIndex, params->pControllerState ? &u_pControllerState : nullptr, u_unControllerStateSize ); + if (params->pControllerState) *params->pControllerState = u_pControllerState; + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetControllerState( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetControllerState_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetControllerState_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + u_VRControllerState001_t u_pControllerState; + if (params->pControllerState) u_pControllerState = *params->pControllerState; + uint32_t u_unControllerStateSize = params->unControllerStateSize ? sizeof(u_pControllerState) : 0; + params->_ret = iface->GetControllerState( params->unControllerDeviceIndex, params->pControllerState ? &u_pControllerState : nullptr, u_unControllerStateSize ); + if (params->pControllerState) *params->pControllerState = u_pControllerState; + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetControllerStateWithPose( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetControllerStateWithPose_params *params = (struct IVRSystem_IVRSystem_023_GetControllerStateWithPose_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + u_VRControllerState001_t u_pControllerState; + if (params->pControllerState) u_pControllerState = *params->pControllerState; + uint32_t u_unControllerStateSize = params->unControllerStateSize ? sizeof(u_pControllerState) : 0; + params->_ret = iface->GetControllerStateWithPose( params->eOrigin, params->unControllerDeviceIndex, params->pControllerState ? &u_pControllerState : nullptr, u_unControllerStateSize, params->pTrackedDevicePose ); + if (params->pControllerState) *params->pControllerState = u_pControllerState; + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetControllerStateWithPose( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetControllerStateWithPose_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetControllerStateWithPose_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + u_VRControllerState001_t u_pControllerState; + if (params->pControllerState) u_pControllerState = *params->pControllerState; + uint32_t u_unControllerStateSize = params->unControllerStateSize ? sizeof(u_pControllerState) : 0; + params->_ret = iface->GetControllerStateWithPose( params->eOrigin, params->unControllerDeviceIndex, params->pControllerState ? &u_pControllerState : nullptr, u_unControllerStateSize, params->pTrackedDevicePose ); + if (params->pControllerState) *params->pControllerState = u_pControllerState; + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_TriggerHapticPulse( void *args ) +{ + struct IVRSystem_IVRSystem_023_TriggerHapticPulse_params *params = (struct IVRSystem_IVRSystem_023_TriggerHapticPulse_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + iface->TriggerHapticPulse( params->unControllerDeviceIndex, params->unAxisId, params->usDurationMicroSec ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_TriggerHapticPulse( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_TriggerHapticPulse_params *params = (struct wow64_IVRSystem_IVRSystem_023_TriggerHapticPulse_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + iface->TriggerHapticPulse( params->unControllerDeviceIndex, params->unAxisId, params->usDurationMicroSec ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetButtonIdNameFromEnum( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetButtonIdNameFromEnum_params *params = (struct IVRSystem_IVRSystem_023_GetButtonIdNameFromEnum_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetButtonIdNameFromEnum( params->eButtonId ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetButtonIdNameFromEnum( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetButtonIdNameFromEnum_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetButtonIdNameFromEnum_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetButtonIdNameFromEnum( params->eButtonId ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetControllerAxisTypeNameFromEnum( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetControllerAxisTypeNameFromEnum_params *params = (struct IVRSystem_IVRSystem_023_GetControllerAxisTypeNameFromEnum_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetControllerAxisTypeNameFromEnum( params->eAxisType ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetControllerAxisTypeNameFromEnum( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetControllerAxisTypeNameFromEnum_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetControllerAxisTypeNameFromEnum_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetControllerAxisTypeNameFromEnum( params->eAxisType ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_IsInputAvailable( void *args ) +{ + struct IVRSystem_IVRSystem_023_IsInputAvailable_params *params = (struct IVRSystem_IVRSystem_023_IsInputAvailable_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->IsInputAvailable( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_IsInputAvailable( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_IsInputAvailable_params *params = (struct wow64_IVRSystem_IVRSystem_023_IsInputAvailable_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->IsInputAvailable( ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_IsSteamVRDrawingControllers( void *args ) +{ + struct IVRSystem_IVRSystem_023_IsSteamVRDrawingControllers_params *params = (struct IVRSystem_IVRSystem_023_IsSteamVRDrawingControllers_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->IsSteamVRDrawingControllers( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_IsSteamVRDrawingControllers( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_IsSteamVRDrawingControllers_params *params = (struct wow64_IVRSystem_IVRSystem_023_IsSteamVRDrawingControllers_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->IsSteamVRDrawingControllers( ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_ShouldApplicationPause( void *args ) +{ + struct IVRSystem_IVRSystem_023_ShouldApplicationPause_params *params = (struct IVRSystem_IVRSystem_023_ShouldApplicationPause_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->ShouldApplicationPause( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_ShouldApplicationPause( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_ShouldApplicationPause_params *params = (struct wow64_IVRSystem_IVRSystem_023_ShouldApplicationPause_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->ShouldApplicationPause( ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_ShouldApplicationReduceRenderingWork( void *args ) +{ + struct IVRSystem_IVRSystem_023_ShouldApplicationReduceRenderingWork_params *params = (struct IVRSystem_IVRSystem_023_ShouldApplicationReduceRenderingWork_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->ShouldApplicationReduceRenderingWork( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_ShouldApplicationReduceRenderingWork( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_ShouldApplicationReduceRenderingWork_params *params = (struct wow64_IVRSystem_IVRSystem_023_ShouldApplicationReduceRenderingWork_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->ShouldApplicationReduceRenderingWork( ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_PerformFirmwareUpdate( void *args ) +{ + struct IVRSystem_IVRSystem_023_PerformFirmwareUpdate_params *params = (struct IVRSystem_IVRSystem_023_PerformFirmwareUpdate_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->PerformFirmwareUpdate( params->unDeviceIndex ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_PerformFirmwareUpdate( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_PerformFirmwareUpdate_params *params = (struct wow64_IVRSystem_IVRSystem_023_PerformFirmwareUpdate_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->PerformFirmwareUpdate( params->unDeviceIndex ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_AcknowledgeQuit_Exiting( void *args ) +{ + struct IVRSystem_IVRSystem_023_AcknowledgeQuit_Exiting_params *params = (struct IVRSystem_IVRSystem_023_AcknowledgeQuit_Exiting_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + iface->AcknowledgeQuit_Exiting( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_AcknowledgeQuit_Exiting( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_AcknowledgeQuit_Exiting_params *params = (struct wow64_IVRSystem_IVRSystem_023_AcknowledgeQuit_Exiting_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + iface->AcknowledgeQuit_Exiting( ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetAppContainerFilePaths( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetAppContainerFilePaths_params *params = (struct IVRSystem_IVRSystem_023_GetAppContainerFilePaths_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetAppContainerFilePaths( params->pchBuffer, params->unBufferSize ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetAppContainerFilePaths( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetAppContainerFilePaths_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetAppContainerFilePaths_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetAppContainerFilePaths( params->pchBuffer, params->unBufferSize ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_023_GetRuntimeVersion( void *args ) +{ + struct IVRSystem_IVRSystem_023_GetRuntimeVersion_params *params = (struct IVRSystem_IVRSystem_023_GetRuntimeVersion_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetRuntimeVersion( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetRuntimeVersion( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_023_GetRuntimeVersion_params *params = (struct wow64_IVRSystem_IVRSystem_023_GetRuntimeVersion_params *)args; + struct u_IVRSystem_IVRSystem_023 *iface = (struct u_IVRSystem_IVRSystem_023 *)params->u_iface; + params->_ret = iface->GetRuntimeVersion( ); + return 0; +} +#endif + diff --git a/vrclient_x64/gen_wrapper.py b/vrclient_x64/gen_wrapper.py index c7f88b9eee..81f8f63c98 100755 --- a/vrclient_x64/gen_wrapper.py +++ b/vrclient_x64/gen_wrapper.py @@ -11,6 +11,7 @@ import re SDK_VERSIONS = [ + "v2.12.14", "v2.7.1", "v2.5.1", "v2.2.3", @@ -249,6 +250,7 @@ "IVRCompositor_PostPresentHandoff": lambda ver, abi: abi == 'w', "IVRCompositor_WaitGetPoses": lambda ver, abi: abi == 'w' and ver > 15, "IVRCompositor_GetVulkanDeviceExtensionsRequired": lambda ver, abi: abi == 'u', + "IVRCompositor_GetSubmitTexture": lambda ver, abi: abi == 'u', "IVRRenderModels_LoadTextureD3D11_Async": lambda ver, abi: abi == 'w', "IVRRenderModels_FreeTextureD3D11": lambda ver, abi: abi == 'w', "IVRRenderModels_LoadIntoTextureD3D11_Async": lambda ver, abi: abi == 'w', diff --git a/vrclient_x64/openvr_v2.12.14/ivrclientcore.h b/vrclient_x64/openvr_v2.12.14/ivrclientcore.h new file mode 100644 index 0000000000..873bd600d0 --- /dev/null +++ b/vrclient_x64/openvr_v2.12.14/ivrclientcore.h @@ -0,0 +1,35 @@ +//========= Copyright Valve Corporation ============// +#include "openvr.h" + +namespace vr +{ + +class IVRClientCore +{ +public: + /** Initializes the system */ + virtual EVRInitError Init( vr::EVRApplicationType eApplicationType, const char *pStartupInfo ) = 0; + + /** cleans up everything in vrclient.dll and prepares the DLL to be unloaded */ + virtual void Cleanup() = 0; + + /** checks to see if the specified interface/version is supported in this vrclient.dll */ + virtual EVRInitError IsInterfaceVersionValid( const char *pchInterfaceVersion ) = 0; + + /** Retrieves any interface from vrclient.dll */ + virtual void *GetGenericInterface( const char *pchNameAndVersion, EVRInitError *peError ) = 0; + + /** Returns true if any driver has an HMD attached. Can be called outside of Init/Cleanup */ + virtual bool BIsHmdPresent() = 0; + + /** Returns an English error string from inside vrclient.dll which might be newer than the API DLL */ + virtual const char *GetEnglishStringForHmdError( vr::EVRInitError eError ) = 0; + + /** Returns an error symbol from inside vrclient.dll which might be newer than the API DLL */ + virtual const char *GetIDForVRInitError( vr::EVRInitError eError ) = 0; +}; + +static const char * const IVRClientCore_Version = "IVRClientCore_003"; + + +} diff --git a/vrclient_x64/openvr_v2.12.14/openvr.h b/vrclient_x64/openvr_v2.12.14/openvr.h new file mode 100644 index 0000000000..230488696f --- /dev/null +++ b/vrclient_x64/openvr_v2.12.14/openvr.h @@ -0,0 +1,6064 @@ + +// openvr.h +//========= Copyright Valve Corporation ============// +// Dynamically generated file. Do not modify this file directly. + +#ifndef _OPENVR_API +#define _OPENVR_API + +#include + + + +// version.h + +namespace vr +{ + static const uint32_t k_nSteamVRVersionMajor = 2; + static const uint32_t k_nSteamVRVersionMinor = 12; + static const uint32_t k_nSteamVRVersionBuild = 14; +} // namespace vr + +// public_vrtypes.h + +#ifndef _INCLUDE_CORE_VRTYPES_PUBLIC_H +#define _INCLUDE_CORE_VRTYPES_PUBLIC_H + +namespace vr +{ +#pragma pack( push, 8 ) + +typedef uint32_t PropertyTypeTag_t; + +// right-handed system +// +y is up +// +x is to the right +// -z is forward +// Distance unit is meters +struct HmdMatrix34_t +{ + float m[3][4]; +}; + +struct HmdMatrix33_t +{ + float m[3][3]; +}; + +struct HmdMatrix44_t +{ + float m[4][4]; +}; + +struct HmdVector3_t +{ + float v[3]; +}; + +struct HmdVector4_t +{ + float v[4]; +}; + +struct HmdVector3d_t +{ + double v[3]; +}; + +struct HmdVector2_t +{ + float v[2]; +}; + +struct HmdQuaternion_t +{ + double w, x, y, z; +}; + +struct HmdQuaternionf_t +{ + float w, x, y, z; +}; + +struct HmdColor_t +{ + float r, g, b, a; +}; + +struct HmdQuad_t +{ + HmdVector3_t vCorners[ 4 ]; +}; + +struct HmdRect2_t +{ + HmdVector2_t vTopLeft; + HmdVector2_t vBottomRight; +}; + +/** Holds the transform for a single bone */ +struct VRBoneTransform_t +{ + HmdVector4_t position; + HmdQuaternionf_t orientation; +}; + +struct VREyeTrackingData_t +{ + bool bActive; + bool bValid; + bool bTracked; + + vr::HmdVector3_t vGazeOrigin; // Ray origin + vr::HmdVector3_t vGazeTarget; // Gaze target (fixation point) +}; + +/** Used to return the post-distortion UVs for each color channel. +* UVs range from 0 to 1 with 0,0 in the upper left corner of the +* source render target. The 0,0 to 1,1 range covers a single eye. */ +struct DistortionCoordinates_t +{ + float rfRed[2]; + float rfGreen[2]; + float rfBlue[2]; +}; + +enum EVREye +{ + Eye_Left = 0, + Eye_Right = 1 +}; + +enum ETextureType +{ + TextureType_Invalid = -1, // Handle has been invalidated + TextureType_DirectX = 0, // Handle is an ID3D11Texture + TextureType_OpenGL = 1, // Handle is an OpenGL texture name or an OpenGL render buffer name, depending on submit flags + TextureType_Vulkan = 2, // Handle is a pointer to a VRVulkanTextureData_t structure + TextureType_IOSurface = 3, // Handle is a macOS cross-process-sharable IOSurfaceRef, deprecated in favor of TextureType_Metal on supported platforms + TextureType_DirectX12 = 4, // Handle is a pointer to a D3D12TextureData_t structure + TextureType_DXGISharedHandle = 5, // Handle is a HANDLE DXGI share handle, only supported for Overlay render targets. + // this texture is used directly by our renderer, so only perform atomic (copyresource or resolve) on it + TextureType_Metal = 6, // Handle is a MTLTexture conforming to the MTLSharedTexture protocol. Textures submitted to IVRCompositor::Submit which + // are of type MTLTextureType2DArray assume layer 0 is the left eye texture (vr::EVREye::Eye_left), layer 1 is the right + // eye texture (vr::EVREye::Eye_Right) + + TextureType_Reserved = 7, + TextureType_SharedTextureHandle = 8, // A pointer to a vr::SharedTextureHandle_t that was imported via, eg. ImportDmabuf. +}; + +enum EColorSpace +{ + ColorSpace_Auto = 0, // Assumes 'gamma' for 8-bit per component formats, otherwise 'linear'. This mirrors the DXGI formats which have _SRGB variants. + ColorSpace_Gamma = 1, // Texture data can be displayed directly on the display without any conversion (a.k.a. display native format). + ColorSpace_Linear = 2, // Same as gamma but has been converted to a linear representation using DXGI's sRGB conversion algorithm. +}; + +struct Texture_t +{ + void* handle; // See ETextureType definition above + ETextureType eType; + EColorSpace eColorSpace; +}; + +/** Allows the application to control what part of the provided texture will be used in the +* frame buffer. */ +struct VRTextureBounds_t +{ + float uMin, vMin; + float uMax, vMax; +}; + +/** Allows specifying pose used to render provided scene texture (if different from value returned by WaitGetPoses). */ +struct VRTextureWithPose_t : public Texture_t +{ + HmdMatrix34_t mDeviceToAbsoluteTracking; // Actual pose used to render scene textures. +}; + +struct VRTextureDepthInfo_t +{ + void* handle; // See ETextureType definition above + HmdMatrix44_t mProjection; + HmdVector2_t vRange; // 0..1 +}; + +struct VRTextureWithDepth_t : public Texture_t +{ + VRTextureDepthInfo_t depth; +}; + +struct VRTextureWithPoseAndDepth_t : public VRTextureWithPose_t +{ + VRTextureDepthInfo_t depth; +}; + +// 64-bit types that are part of public structures +// that are replicated in shared memory. +#if defined(__linux__) || defined(__APPLE__) +typedef uint64_t vrshared_uint64_t __attribute__ ((aligned(8))); +typedef double vrshared_double __attribute__ ((aligned(8))); +#else +typedef uint64_t vrshared_uint64_t; +typedef double vrshared_double; +#endif + +static const uint32_t MaxDmabufPlaneCount = 4; + +struct DmabufPlane_t +{ + uint32_t unOffset; + uint32_t unStride; + int32_t nFd; +}; + +struct DmabufAttributes_t +{ + void *pNext; // MUST be NULL. Unused right now, but could be used to extend this structure in the future. + + uint32_t unWidth; + uint32_t unHeight; + uint32_t unDepth; + uint32_t unMipLevels; + uint32_t unArrayLayers; + uint32_t unSampleCount; + uint32_t unFormat; // DRM_FORMAT_ + uint64_t ulModifier; // DRM_FORMAT_MOD_ + + uint32_t unPlaneCount; + DmabufPlane_t plane[MaxDmabufPlaneCount]; +}; + +#pragma pack( pop ) + +} // namespace vr + +#endif + +// vrtypes.h + +#ifndef _INCLUDE_VRTYPES_H +#define _INCLUDE_VRTYPES_H + +// Forward declarations to avoid requiring vulkan.h +struct VkDevice_T; +struct VkPhysicalDevice_T; +struct VkInstance_T; +struct VkQueue_T; + +// Forward declarations to avoid requiring d3d12.h +struct ID3D12Resource; +struct ID3D12CommandQueue; + +namespace vr +{ +#pragma pack( push, 8 ) + +/** A handle for a spatial anchor. This handle is only valid during the session it was created in. +* Anchors that live beyond one session should be saved by their string descriptors. */ +typedef uint32_t SpatialAnchorHandle_t; + +typedef void* glSharedTextureHandle_t; +typedef int32_t glInt_t; +typedef uint32_t glUInt_t; + + +// Handle to a shared texture (HANDLE on Windows obtained using OpenSharedResource). +typedef uint64_t SharedTextureHandle_t; +#define INVALID_SHARED_TEXTURE_HANDLE ((vr::SharedTextureHandle_t)0) + +enum ETrackingResult +{ + TrackingResult_Uninitialized = 1, + + TrackingResult_Calibrating_InProgress = 100, + TrackingResult_Calibrating_OutOfRange = 101, + + TrackingResult_Running_OK = 200, + TrackingResult_Running_OutOfRange = 201, + + TrackingResult_Fallback_RotationOnly = 300, +}; + +typedef uint32_t DriverId_t; +static const uint32_t k_nDriverNone = 0xFFFFFFFF; + +static const uint32_t k_unMaxDriverDebugResponseSize = 32768; + +/** Used to pass device IDs to API calls */ +typedef uint32_t TrackedDeviceIndex_t; +static const uint32_t k_unTrackedDeviceIndex_Hmd = 0; +static const uint32_t k_unMaxTrackedDeviceCount = 64; +static const uint32_t k_unTrackedDeviceIndexOther = 0xFFFFFFFE; +static const uint32_t k_unTrackedDeviceIndexInvalid = 0xFFFFFFFF; + +/** Describes what kind of object is being tracked at a given ID */ +enum ETrackedDeviceClass +{ + TrackedDeviceClass_Invalid = 0, // the ID was not valid. + TrackedDeviceClass_HMD = 1, // Head-Mounted Displays + TrackedDeviceClass_Controller = 2, // Tracked controllers + TrackedDeviceClass_GenericTracker = 3, // Generic trackers, similar to controllers + TrackedDeviceClass_TrackingReference = 4, // Camera and base stations that serve as tracking reference points + TrackedDeviceClass_DisplayRedirect = 5, // Accessories that aren't necessarily tracked themselves, but may redirect video output from other tracked devices + + TrackedDeviceClass_Max +}; + + +/** Describes what specific role associated with a tracked device */ +enum ETrackedControllerRole +{ + TrackedControllerRole_Invalid = 0, // Invalid value for controller type + TrackedControllerRole_LeftHand = 1, // Tracked device associated with the left hand + TrackedControllerRole_RightHand = 2, // Tracked device associated with the right hand + TrackedControllerRole_OptOut = 3, // Tracked device is opting out of left/right hand selection + TrackedControllerRole_Treadmill = 4, // Tracked device is a treadmill or other locomotion device + TrackedControllerRole_Stylus = 5, // Tracked device is a stylus + TrackedControllerRole_Max = 5 +}; + + +/** Returns true if the tracked controller role is allowed to be a hand */ +inline bool IsRoleAllowedAsHand( ETrackedControllerRole eRole ) +{ + switch ( eRole ) + { + case TrackedControllerRole_Invalid: + case TrackedControllerRole_LeftHand: + case TrackedControllerRole_RightHand: + return true; + default: + return false; + } +} + + +/** describes a single pose for a tracked object */ +struct TrackedDevicePose_t +{ + HmdMatrix34_t mDeviceToAbsoluteTracking; + HmdVector3_t vVelocity; // velocity in tracker space in m/s + HmdVector3_t vAngularVelocity; // angular velocity in radians/s (?) + ETrackingResult eTrackingResult; + bool bPoseIsValid; + + // This indicates that there is a device connected for this spot in the pose array. + // It could go from true to false if the user unplugs the device. + bool bDeviceIsConnected; +}; + +/** Identifies which style of tracking origin the application wants to use +* for the poses it is requesting */ +enum ETrackingUniverseOrigin +{ + TrackingUniverseSeated = 0, // Poses are provided relative to the seated zero pose + TrackingUniverseStanding = 1, // Poses are provided relative to the safe bounds configured by the user + TrackingUniverseRawAndUncalibrated = 2, // Poses are provided in the coordinate system defined by the driver. It has Y up and is unified for devices of the same driver. You usually don't want this one. +}; + +enum EAdditionalRadioFeatures +{ + AdditionalRadioFeatures_None = 0x00000000, + AdditionalRadioFeatures_HTCLinkBox = 0x00000001, + AdditionalRadioFeatures_InternalDongle = 0x00000002, + AdditionalRadioFeatures_ExternalDongle = 0x00000004, +}; + +typedef uint64_t WebConsoleHandle_t; +#define INVALID_WEB_CONSOLE_HANDLE ((vr::WebConsoleHandle_t)0) + +// Refers to a single container of properties +typedef uint64_t PropertyContainerHandle_t; +typedef uint32_t PropertyTypeTag_t; + +static const PropertyContainerHandle_t k_ulInvalidPropertyContainer = 0; +static const PropertyTypeTag_t k_unInvalidPropertyTag = 0; + +typedef PropertyContainerHandle_t DriverHandle_t; +static const PropertyContainerHandle_t k_ulInvalidDriverHandle = 0; + +// Use these tags to set/get common types as struct properties +static const PropertyTypeTag_t k_unFloatPropertyTag = 1; +static const PropertyTypeTag_t k_unInt32PropertyTag = 2; +static const PropertyTypeTag_t k_unUint64PropertyTag = 3; +static const PropertyTypeTag_t k_unBoolPropertyTag = 4; +static const PropertyTypeTag_t k_unStringPropertyTag = 5; +static const PropertyTypeTag_t k_unErrorPropertyTag = 6; +static const PropertyTypeTag_t k_unDoublePropertyTag = 7; + +static const PropertyTypeTag_t k_unHmdMatrix34PropertyTag = 20; +static const PropertyTypeTag_t k_unHmdMatrix44PropertyTag = 21; +static const PropertyTypeTag_t k_unHmdVector3PropertyTag = 22; +static const PropertyTypeTag_t k_unHmdVector4PropertyTag = 23; +static const PropertyTypeTag_t k_unHmdVector2PropertyTag = 24; +static const PropertyTypeTag_t k_unHmdQuadPropertyTag = 25; + +static const PropertyTypeTag_t k_unHiddenAreaPropertyTag = 30; +static const PropertyTypeTag_t k_unPathHandleInfoTag = 31; +static const PropertyTypeTag_t k_unActionPropertyTag = 32; +static const PropertyTypeTag_t k_unInputValuePropertyTag = 33; +static const PropertyTypeTag_t k_unWildcardPropertyTag = 34; +static const PropertyTypeTag_t k_unHapticVibrationPropertyTag = 35; +static const PropertyTypeTag_t k_unSkeletonPropertyTag = 36; + +static const PropertyTypeTag_t k_unSpatialAnchorPosePropertyTag = 40; +static const PropertyTypeTag_t k_unJsonPropertyTag = 41; +static const PropertyTypeTag_t k_unActiveActionSetPropertyTag = 42; + +static const PropertyTypeTag_t k_unOpenVRInternalReserved_Start = 1000; +static const PropertyTypeTag_t k_unOpenVRInternalReserved_End = 10000; + + +/** Each entry in this enum represents a property that can be retrieved about a +* tracked device. Many fields are only valid for one ETrackedDeviceClass. */ +enum ETrackedDeviceProperty +{ + Prop_Invalid = 0, + + // general properties that apply to all device classes + Prop_TrackingSystemName_String = 1000, + Prop_ModelNumber_String = 1001, + Prop_SerialNumber_String = 1002, + Prop_RenderModelName_String = 1003, + Prop_WillDriftInYaw_Bool = 1004, + Prop_ManufacturerName_String = 1005, + Prop_TrackingFirmwareVersion_String = 1006, + Prop_HardwareRevision_String = 1007, + Prop_AllWirelessDongleDescriptions_String = 1008, + Prop_ConnectedWirelessDongle_String = 1009, + Prop_DeviceIsWireless_Bool = 1010, + Prop_DeviceIsCharging_Bool = 1011, + Prop_DeviceBatteryPercentage_Float = 1012, // 0 is empty, 1 is full + Prop_StatusDisplayTransform_Matrix34 = 1013, + Prop_Firmware_UpdateAvailable_Bool = 1014, + Prop_Firmware_ManualUpdate_Bool = 1015, + Prop_Firmware_ManualUpdateURL_String = 1016, + Prop_HardwareRevision_Uint64 = 1017, + Prop_FirmwareVersion_Uint64 = 1018, + Prop_FPGAVersion_Uint64 = 1019, + Prop_VRCVersion_Uint64 = 1020, + Prop_RadioVersion_Uint64 = 1021, + Prop_DongleVersion_Uint64 = 1022, + Prop_BlockServerShutdown_Bool = 1023, + Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024, + Prop_ContainsProximitySensor_Bool = 1025, + Prop_DeviceProvidesBatteryStatus_Bool = 1026, + Prop_DeviceCanPowerOff_Bool = 1027, + Prop_Firmware_ProgrammingTarget_String = 1028, + Prop_DeviceClass_Int32 = 1029, + Prop_HasCamera_Bool = 1030, + Prop_DriverVersion_String = 1031, + Prop_Firmware_ForceUpdateRequired_Bool = 1032, + Prop_ViveSystemButtonFixRequired_Bool = 1033, + Prop_ParentDriver_Uint64 = 1034, + Prop_ResourceRoot_String = 1035, + Prop_RegisteredDeviceType_String = 1036, + Prop_InputProfilePath_String = 1037, // input profile to use for this device in the input system. Will default to tracking system name if this isn't provided + Prop_NeverTracked_Bool = 1038, // Used for devices that will never have a valid pose by design + Prop_NumCameras_Int32 = 1039, + Prop_CameraFrameLayout_Int32 = 1040, // EVRTrackedCameraFrameLayout value + Prop_CameraStreamFormat_Int32 = 1041, // ECameraVideoStreamFormat value + Prop_AdditionalDeviceSettingsPath_String = 1042, // driver-relative path to additional device and global configuration settings + Prop_Identifiable_Bool = 1043, // Whether device supports being identified from vrmonitor (e.g. blink LED, vibrate haptics, etc) + Prop_BootloaderVersion_Uint64 = 1044, + Prop_AdditionalSystemReportData_String = 1045, // additional string to include in system reports about a tracked device + Prop_CompositeFirmwareVersion_String = 1046, // additional FW components from a device that gets propagated into reports + Prop_Firmware_RemindUpdate_Bool = 1047, + Prop_PeripheralApplicationVersion_Uint64 = 1048, + Prop_ManufacturerSerialNumber_String = 1049, + Prop_ComputedSerialNumber_String = 1050, + Prop_EstimatedDeviceFirstUseTime_Int32 = 1051, + Prop_DevicePowerUsage_Float = 1052, + Prop_IgnoreMotionForStandby_Bool = 1053, + Prop_ActualTrackingSystemName_String = 1054, // the literal local driver name in case someone is playing games with prop 1000 + Prop_AllowCameraToggle_Bool = 1055, // Shows the Enable/Disable camera option. Hide this for certain headsets if they have the camera tracking (since it's always on) + Prop_AllowLightSourceFrequency_Bool = 1056, // Shows the Anti-Flicker option in camera settings. + Prop_SteamRemoteClientID_Uint64 = 1057, // For vrlink + Prop_Reserved_1058 = 1058, + + // Properties that are unique to TrackedDeviceClass_HMD + Prop_ReportsTimeSinceVSync_Bool = 2000, + Prop_SecondsFromVsyncToPhotons_Float = 2001, + Prop_DisplayFrequency_Float = 2002, + Prop_UserIpdMeters_Float = 2003, + Prop_CurrentUniverseId_Uint64 = 2004, + Prop_PreviousUniverseId_Uint64 = 2005, + Prop_DisplayFirmwareVersion_Uint64 = 2006, + Prop_IsOnDesktop_Bool = 2007, + Prop_DisplayMCType_Int32 = 2008, + Prop_DisplayMCOffset_Float = 2009, + Prop_DisplayMCScale_Float = 2010, + Prop_EdidVendorID_Int32 = 2011, + Prop_DisplayMCImageLeft_String = 2012, + Prop_DisplayMCImageRight_String = 2013, + Prop_DisplayGCBlackClamp_Float = 2014, + Prop_EdidProductID_Int32 = 2015, + Prop_CameraToHeadTransform_Matrix34 = 2016, + Prop_DisplayGCType_Int32 = 2017, + Prop_DisplayGCOffset_Float = 2018, + Prop_DisplayGCScale_Float = 2019, + Prop_DisplayGCPrescale_Float = 2020, + Prop_DisplayGCImage_String = 2021, + Prop_LensCenterLeftU_Float = 2022, + Prop_LensCenterLeftV_Float = 2023, + Prop_LensCenterRightU_Float = 2024, + Prop_LensCenterRightV_Float = 2025, + Prop_UserHeadToEyeDepthMeters_Float = 2026, + Prop_CameraFirmwareVersion_Uint64 = 2027, + Prop_CameraFirmwareDescription_String = 2028, + Prop_DisplayFPGAVersion_Uint64 = 2029, + Prop_DisplayBootloaderVersion_Uint64 = 2030, + Prop_DisplayHardwareVersion_Uint64 = 2031, + Prop_AudioFirmwareVersion_Uint64 = 2032, + Prop_CameraCompatibilityMode_Int32 = 2033, + Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034, + Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035, + Prop_DisplaySuppressed_Bool = 2036, + Prop_DisplayAllowNightMode_Bool = 2037, + Prop_DisplayMCImageWidth_Int32 = 2038, + Prop_DisplayMCImageHeight_Int32 = 2039, + Prop_DisplayMCImageNumChannels_Int32 = 2040, + Prop_DisplayMCImageData_Binary = 2041, + Prop_SecondsFromPhotonsToVblank_Float = 2042, + Prop_DriverDirectModeSendsVsyncEvents_Bool = 2043, + Prop_DisplayDebugMode_Bool = 2044, + Prop_GraphicsAdapterLuid_Uint64 = 2045, + Prop_DriverProvidedChaperonePath_String = 2048, + Prop_ExpectedTrackingReferenceCount_Int32 = 2049, // expected number of sensors or basestations to reserve UI space for + Prop_ExpectedControllerCount_Int32 = 2050, // expected number of tracked controllers to reserve UI space for + Prop_NamedIconPathControllerLeftDeviceOff_String = 2051, // placeholder icon for "left" controller if not yet detected/loaded + Prop_NamedIconPathControllerRightDeviceOff_String = 2052, // placeholder icon for "right" controller if not yet detected/loaded + Prop_NamedIconPathTrackingReferenceDeviceOff_String = 2053, // placeholder icon for sensor/base if not yet detected/loaded + Prop_DoNotApplyPrediction_Bool = 2054, // currently no effect. was used to disable HMD pose prediction on MR, which is now done by MR driver setting velocity=0 + Prop_CameraToHeadTransforms_Matrix34_Array = 2055, + Prop_DistortionMeshResolution_Int32 = 2056, // custom resolution of compositor calls to IVRSystem::ComputeDistortion + Prop_DriverIsDrawingControllers_Bool = 2057, + Prop_DriverRequestsApplicationPause_Bool = 2058, + Prop_DriverRequestsReducedRendering_Bool = 2059, + Prop_MinimumIpdStepMeters_Float = 2060, + Prop_AudioBridgeFirmwareVersion_Uint64 = 2061, + Prop_ImageBridgeFirmwareVersion_Uint64 = 2062, + Prop_ImuToHeadTransform_Matrix34 = 2063, + Prop_ImuFactoryGyroBias_Vector3 = 2064, + Prop_ImuFactoryGyroScale_Vector3 = 2065, + Prop_ImuFactoryAccelerometerBias_Vector3 = 2066, + Prop_ImuFactoryAccelerometerScale_Vector3 = 2067, + // reserved 2068 + Prop_ConfigurationIncludesLighthouse20Features_Bool = 2069, + Prop_AdditionalRadioFeatures_Uint64 = 2070, + Prop_CameraWhiteBalance_Vector4_Array = 2071, // Prop_NumCameras_Int32-sized array of float[4] RGBG white balance calibration data (max size is vr::k_unMaxCameras) + Prop_CameraDistortionFunction_Int32_Array = 2072, // Prop_NumCameras_Int32-sized array of vr::EVRDistortionFunctionType values (max size is vr::k_unMaxCameras) + Prop_CameraDistortionCoefficients_Float_Array = 2073, // Prop_NumCameras_Int32-sized array of double[vr::k_unMaxDistortionFunctionParameters] (max size is vr::k_unMaxCameras) + Prop_ExpectedControllerType_String = 2074, + Prop_HmdTrackingStyle_Int32 = 2075, // one of EHmdTrackingStyle + Prop_DriverProvidedChaperoneVisibility_Bool = 2076, + Prop_HmdColumnCorrectionSettingPrefix_String = 2077, + Prop_CameraSupportsCompatibilityModes_Bool = 2078, + Prop_SupportsRoomViewDepthProjection_Bool = 2079, + Prop_DisplayAvailableFrameRates_Float_Array = 2080, // populated by compositor from actual EDID list when available from GPU driver + Prop_DisplaySupportsMultipleFramerates_Bool = 2081, // if this is true but Prop_DisplayAvailableFrameRates_Float_Array is empty, explain to user + Prop_DisplayColorMultLeft_Vector3 = 2082, + Prop_DisplayColorMultRight_Vector3 = 2083, + Prop_DisplaySupportsRuntimeFramerateChange_Bool = 2084, + Prop_DisplaySupportsAnalogGain_Bool = 2085, + Prop_DisplayMinAnalogGain_Float = 2086, + Prop_DisplayMaxAnalogGain_Float = 2087, + Prop_CameraExposureTime_Float = 2088, + Prop_CameraGlobalGain_Float = 2089, + // Prop_DashboardLayoutPathName_String = 2090, // DELETED + Prop_DashboardScale_Float = 2091, + // Prop_PeerButtonInfo_String = 2092, // DELETED + Prop_Hmd_SupportsHDR10_Bool = 2093, + Prop_Hmd_EnableParallelRenderCameras_Bool = 2094, + Prop_DriverProvidedChaperoneJson_String = 2095, // higher priority than Prop_DriverProvidedChaperonePath_String + Prop_ForceSystemLayerUseAppPoses_Bool = 2096, + Prop_DashboardLinkSupport_Int32 = 2097, + Prop_DisplayMinUIAnalogGain_Float = 2098, + + Prop_IpdUIRangeMinMeters_Float = 2100, + Prop_IpdUIRangeMaxMeters_Float = 2101, + Prop_Hmd_SupportsHDCP14LegacyCompat_Bool = 2102, + Prop_Hmd_SupportsMicMonitoring_Bool = 2103, + Prop_Hmd_SupportsDisplayPortTrainingMode_Bool = 2104, + Prop_Hmd_SupportsRoomViewDirect_Bool = 2105, + Prop_Hmd_SupportsAppThrottling_Bool = 2106, + Prop_Hmd_SupportsGpuBusMonitoring_Bool = 2107, + Prop_DriverDisplaysIPDChanges_Bool = 2108, + // Prop_Driver_RecenterSupport_Int32 = 2109, // DELETED + Prop_Reserved_2110 = 2110, + Prop_Reserved_2111 = 2111, + Prop_Reserved_2112 = 2112, + + Prop_Hmd_MaxDistortedTextureWidth_Int32 = 2113, + Prop_Hmd_MaxDistortedTextureHeight_Int32 = 2114, + Prop_Hmd_AllowSupersampleFiltering_Bool = 2115, + + Prop_Hmd_AllowsClientToControlTextureIndex = 2116, + Prop_Reserved_2117 = 2117, + + // Driver requested mura correction properties + Prop_DriverRequestedMuraCorrectionMode_Int32 = 2200, + Prop_DriverRequestedMuraFeather_InnerLeft_Int32 = 2201, + Prop_DriverRequestedMuraFeather_InnerRight_Int32 = 2202, + Prop_DriverRequestedMuraFeather_InnerTop_Int32 = 2203, + Prop_DriverRequestedMuraFeather_InnerBottom_Int32 = 2204, + Prop_DriverRequestedMuraFeather_OuterLeft_Int32 = 2205, + Prop_DriverRequestedMuraFeather_OuterRight_Int32 = 2206, + Prop_DriverRequestedMuraFeather_OuterTop_Int32 = 2207, + Prop_DriverRequestedMuraFeather_OuterBottom_Int32 = 2208, + + Prop_Audio_DefaultPlaybackDeviceId_String = 2300, + Prop_Audio_DefaultRecordingDeviceId_String = 2301, + Prop_Audio_DefaultPlaybackDeviceVolume_Float = 2302, + Prop_Audio_SupportsDualSpeakerAndJackOutput_Bool = 2303, + Prop_Audio_DriverManagesPlaybackVolumeControl_Bool = 2304, + Prop_Audio_DriverPlaybackVolume_Float = 2305, + Prop_Audio_DriverPlaybackMute_Bool = 2306, + Prop_Audio_DriverManagesRecordingVolumeControl_Bool = 2307, + Prop_Audio_DriverRecordingVolume_Float = 2308, + Prop_Audio_DriverRecordingMute_Bool = 2309, + + // Pipewire Audio Stuff + Prop_Audio_PipewirePlaybackNode_Int32 = 2400, + Prop_Audio_PipewireRecordingNode_Int32 = 2401, + + // Properties that are unique to TrackedDeviceClass_Controller + Prop_AttachedDeviceId_String = 3000, + Prop_SupportedButtons_Uint64 = 3001, + Prop_Axis0Type_Int32 = 3002, // Return value is of type EVRControllerAxisType + Prop_Axis1Type_Int32 = 3003, // Return value is of type EVRControllerAxisType + Prop_Axis2Type_Int32 = 3004, // Return value is of type EVRControllerAxisType + Prop_Axis3Type_Int32 = 3005, // Return value is of type EVRControllerAxisType + Prop_Axis4Type_Int32 = 3006, // Return value is of type EVRControllerAxisType + Prop_ControllerRoleHint_Int32 = 3007, // Return value is of type ETrackedControllerRole + + // Properties that are unique to TrackedDeviceClass_TrackingReference + Prop_FieldOfViewLeftDegrees_Float = 4000, + Prop_FieldOfViewRightDegrees_Float = 4001, + Prop_FieldOfViewTopDegrees_Float = 4002, + Prop_FieldOfViewBottomDegrees_Float = 4003, + Prop_TrackingRangeMinimumMeters_Float = 4004, + Prop_TrackingRangeMaximumMeters_Float = 4005, + Prop_ModeLabel_String = 4006, + Prop_CanWirelessIdentify_Bool = 4007, // volatile, based on radio presence and fw discovery + Prop_Nonce_Int32 = 4008, + + // Properties that are used for user interface like icons names + Prop_IconPathName_String = 5000, // DEPRECATED. Value not referenced. Now expected to be part of icon path properties. + Prop_NamedIconPathDeviceOff_String = 5001, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others + Prop_NamedIconPathDeviceSearching_String = 5002, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others + Prop_NamedIconPathDeviceSearchingAlert_String = 5003, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others + Prop_NamedIconPathDeviceReady_String = 5004, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others + Prop_NamedIconPathDeviceReadyAlert_String = 5005, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others + Prop_NamedIconPathDeviceNotReady_String = 5006, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others + Prop_NamedIconPathDeviceStandby_String = 5007, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others + Prop_NamedIconPathDeviceAlertLow_String = 5008, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others + Prop_NamedIconPathDeviceStandbyAlert_String = 5009, // {driver}/icons/icon_filename - PNG for static icon, or GIF for animation, 50x32 for headsets and 32x32 for others + + // Properties that are used by helpers, but are opaque to applications + Prop_DisplayHiddenArea_Binary_Start = 5100, + Prop_DisplayHiddenArea_Binary_End = 5150, + Prop_ParentContainer = 5151, + Prop_OverrideContainer_Uint64 = 5152, + + // Properties that are unique to drivers + Prop_UserConfigPath_String = 6000, + Prop_InstallPath_String = 6001, + Prop_HasDisplayComponent_Bool = 6002, + Prop_HasControllerComponent_Bool = 6003, + Prop_HasCameraComponent_Bool = 6004, + Prop_HasDriverDirectModeComponent_Bool = 6005, + Prop_HasVirtualDisplayComponent_Bool = 6006, + Prop_HasSpatialAnchorsSupport_Bool = 6007, + Prop_SupportsXrTextureSets_Bool = 6008, + Prop_SupportsXrEyeGazeInteraction_Bool = 6009, + Prop_DeviceHasNoIMU_Bool = 6010, + Prop_UseAdvancedPrediction_Bool = 6011, + + // Properties that are set internally based on other information provided by drivers + Prop_ControllerType_String = 7000, + //Prop_LegacyInputProfile_String = 7001, // This is no longer used. See "legacy_binding" in the input profile instead. + Prop_ControllerHandSelectionPriority_Int32 = 7002, // Allows hand assignments to prefer some controllers over others. High numbers are selected over low numbers + + // Vendors are free to expose private debug data in this reserved region + Prop_VendorSpecific_Reserved_Start = 10000, + Prop_VendorSpecific_Reserved_End = 10999, + + // Addl SteamVR Reserved Space + Prop_Reserved_11000 = 11000, + Prop_Reserved_11001 = 11001, + Prop_Reserved_11002 = 11002, + Prop_Reserved_11003 = 11003, + Prop_Reserved_11004 = 11004, + + Prop_TrackedDeviceProperty_Max = 1000000, +}; + +/** No string property will ever be longer than this length */ +static const uint32_t k_unMaxPropertyStringSize = 32 * 1024; + +/** Used to return errors that occur when reading properties. */ +enum ETrackedPropertyError +{ + TrackedProp_Success = 0, + TrackedProp_WrongDataType = 1, + TrackedProp_WrongDeviceClass = 2, + TrackedProp_BufferTooSmall = 3, + TrackedProp_UnknownProperty = 4, // Driver has not set the property (and may not ever). + TrackedProp_InvalidDevice = 5, + TrackedProp_CouldNotContactServer = 6, + TrackedProp_ValueNotProvidedByDevice = 7, + TrackedProp_StringExceedsMaximumLength = 8, + TrackedProp_NotYetAvailable = 9, // The property value isn't known yet, but is expected soon. Call again later. + TrackedProp_PermissionDenied = 10, + TrackedProp_InvalidOperation = 11, + TrackedProp_CannotWriteToWildcards = 12, + TrackedProp_IPCReadFailure = 13, + TrackedProp_OutOfMemory = 14, + TrackedProp_InvalidContainer = 15, +}; + +/** Used to drive certain text in the UI when talking about the tracking system for the HMD */ +enum EHmdTrackingStyle +{ + HmdTrackingStyle_Unknown = 0, + + HmdTrackingStyle_Lighthouse = 1, // base stations and lasers + HmdTrackingStyle_OutsideInCameras = 2, // Cameras and LED, Rift 1 style + HmdTrackingStyle_InsideOutCameras = 3, // Cameras on HMD looking at the world +}; + +typedef uint64_t VRActionHandle_t; +typedef uint64_t VRActionSetHandle_t; +typedef uint64_t VRInputValueHandle_t; +typedef uint64_t VRInputComponentHandle_t; + +static const VRActionHandle_t k_ulInvalidActionHandle = 0; +static const VRActionSetHandle_t k_ulInvalidActionSetHandle = 0; +static const VRInputValueHandle_t k_ulInvalidInputValueHandle = 0; +static const VRInputComponentHandle_t k_ulInvalidInputComponentHandle = 0; + + +/** Allows the application to control how scene textures are used by the compositor when calling Submit. */ +enum EVRSubmitFlags +{ + // Simple render path. App submits rendered left and right eye images with no lens distortion correction applied. + Submit_Default = 0x00, + + // App submits final left and right eye images with lens distortion already applied (lens distortion makes the images appear + // barrel distorted with chromatic aberration correction applied). The app would have used the data returned by + // vr::IVRSystem::ComputeDistortion() to apply the correct distortion to the rendered images before calling Submit(). + Submit_LensDistortionAlreadyApplied = 0x01, + + // If the texture pointer passed in is actually a renderbuffer (e.g. for MSAA in OpenGL) then set this flag. + Submit_GlRenderBuffer = 0x02, + + // Do not use + Submit_Reserved = 0x04, + + // Set to indicate that pTexture is a pointer to a VRTextureWithPose_t. + // This flag can be combined with Submit_TextureWithDepth to pass a VRTextureWithPoseAndDepth_t. + Submit_TextureWithPose = 0x08, + + // Set to indicate that pTexture is a pointer to a VRTextureWithDepth_t. + // This flag can be combined with Submit_TextureWithPose to pass a VRTextureWithPoseAndDepth_t. + Submit_TextureWithDepth = 0x10, + + // Set to indicate a discontinuity between this and the last frame. + // This will prevent motion smoothing from attempting to extrapolate using the pair. + Submit_FrameDiscontinuity = 0x20, + + // Set to indicate that pTexture->handle is a contains VRVulkanTextureArrayData_t + Submit_VulkanTextureWithArrayData = 0x40, + + // If the texture pointer passed in is an OpenGL Array texture, set this flag + Submit_GlArrayTexture = 0x80, + + // If the texture is an EGL texture and not an glX/wGL texture (Linux only, currently) + Submit_IsEgl = 0x100, + + // Do not use + Submit_Reserved2 = 0x08000, + Submit_Reserved3 = 0x10000, + Submit_Reserved4 = 0x20000, + Submit_Reserved5 = 0x40000, +}; + +/** Data required for passing Vulkan textures to IVRCompositor::Submit. +* Be sure to call OpenVR_Shutdown before destroying these resources. +* Please see https://github.com/ValveSoftware/openvr/wiki/Vulkan for Vulkan-specific documentation */ +struct VRVulkanTextureData_t +{ + uint64_t m_nImage; // VkImage + VkDevice_T *m_pDevice; + VkPhysicalDevice_T *m_pPhysicalDevice; + VkInstance_T *m_pInstance; + VkQueue_T *m_pQueue; + uint32_t m_nQueueFamilyIndex; + uint32_t m_nWidth, m_nHeight, m_nFormat, m_nSampleCount; +}; + +/** Data required for passing Vulkan texture arrays to IVRCompositor::Submit. +* Be sure to call OpenVR_Shutdown before destroying these resources. +* Please see https://github.com/ValveSoftware/openvr/wiki/Vulkan for Vulkan-specific documentation */ +struct VRVulkanTextureArrayData_t : public VRVulkanTextureData_t +{ + uint32_t m_unArrayIndex; + uint32_t m_unArraySize; +}; + +/** Data required for passing D3D12 textures to IVRCompositor::Submit. +* Be sure to call OpenVR_Shutdown before destroying these resources. */ +struct D3D12TextureData_t +{ + ID3D12Resource *m_pResource; + ID3D12CommandQueue *m_pCommandQueue; + uint32_t m_nNodeMask; +}; + +/** Status of the overall system or tracked objects */ +enum EVRState +{ + VRState_Undefined = -1, + VRState_Off = 0, + VRState_Searching = 1, + VRState_Searching_Alert = 2, + VRState_Ready = 3, + VRState_Ready_Alert = 4, + VRState_NotReady = 5, + VRState_Standby = 6, + VRState_Ready_Alert_Low = 7, +}; + +/** The types of events that could be posted (and what the parameters mean for each event type) */ +enum EVREventType +{ + VREvent_None = 0, + + VREvent_TrackedDeviceActivated = 100, + VREvent_TrackedDeviceDeactivated = 101, + VREvent_TrackedDeviceUpdated = 102, + VREvent_TrackedDeviceUserInteractionStarted = 103, + VREvent_TrackedDeviceUserInteractionEnded = 104, + VREvent_IpdChanged = 105, + VREvent_EnterStandbyMode = 106, + VREvent_LeaveStandbyMode = 107, + VREvent_TrackedDeviceRoleChanged = 108, + VREvent_WatchdogWakeUpRequested = 109, + VREvent_LensDistortionChanged = 110, + VREvent_PropertyChanged = 111, + VREvent_WirelessDisconnect = 112, + VREvent_WirelessReconnect = 113, + VREvent_Reserved_0114 = 114, + VREvent_Reserved_0115 = 115, + + VREvent_ButtonPress = 200, // data is controller + VREvent_ButtonUnpress = 201, // data is controller + VREvent_ButtonTouch = 202, // data is controller + VREvent_ButtonUntouch = 203, // data is controller + + // VREvent_DualAnalog_Press = 250, // No longer sent + // VREvent_DualAnalog_Unpress = 251, // No longer sent + // VREvent_DualAnalog_Touch = 252, // No longer sent + // VREvent_DualAnalog_Untouch = 253, // No longer sent + // VREvent_DualAnalog_Move = 254, // No longer sent + // VREvent_DualAnalog_ModeSwitch1 = 255, // No longer sent + // VREvent_DualAnalog_ModeSwitch2 = 256, // No longer sent + VREvent_Modal_Cancel = 257, // Sent to overlays with the + + VREvent_MouseMove = 300, // data is mouse + VREvent_MouseButtonDown = 301, // data is mouse + VREvent_MouseButtonUp = 302, // data is mouse + VREvent_FocusEnter = 303, // data is overlay + VREvent_FocusLeave = 304, // data is overlay + VREvent_ScrollDiscrete = 305, // data is scroll + VREvent_TouchPadMove = 306, // data is mouse + VREvent_OverlayFocusChanged = 307, // data is overlay, global event + VREvent_ReloadOverlays = 308, + VREvent_ScrollSmooth = 309, // data is scroll + VREvent_LockMousePosition = 310, // data is mouse + VREvent_UnlockMousePosition = 311, // data is mouse + + VREvent_InputFocusCaptured = 400, // data is process DEPRECATED + VREvent_InputFocusReleased = 401, // data is process DEPRECATED + // VREvent_SceneFocusLost = 402, // data is process + // VREvent_SceneFocusGained = 403, // data is process + VREvent_SceneApplicationChanged = 404, // data is process - The App actually drawing the scene changed (usually to or from the compositor) + // VREvent_SceneFocusChanged = 405, // data is process - This is defunct and will not be called. + VREvent_InputFocusChanged = 406, // data is process + // VREvent_SceneApplicationSecondaryRenderingStarted = 407, + VREvent_SceneApplicationUsingWrongGraphicsAdapter = 408, // data is process + VREvent_ActionBindingReloaded = 409, // data is process - The App that action binds reloaded for + + VREvent_HideRenderModels = 410, // Sent to the scene application to request hiding render models temporarily + VREvent_ShowRenderModels = 411, // Sent to the scene application to request restoring render model visibility + + VREvent_SceneApplicationStateChanged = 412, // No data; but query VRApplications()->GetSceneApplicationState(); + + VREvent_SceneAppPipeDisconnected = 413, // data is process - Called when the scene app's pipe has been closed. + + VREvent_ConsoleOpened = 420, + VREvent_ConsoleClosed = 421, + + VREvent_OverlayShown = 500, // Indicates that an overlay is now visible to someone and should be rendering normally. Reflects IVROverlay::IsOverlayVisible() becoming true. + VREvent_OverlayHidden = 501, // Indicates that an overlay is no longer visible to someone and doesn't need to render frames. Reflects IVROverlay::IsOverlayVisible() becoming false. + VREvent_DashboardActivated = 502, + VREvent_DashboardDeactivated = 503, + //VREvent_DashboardThumbSelected = 504, // Sent to the overlay manager - data is overlay - No longer sent + //VREvent_DashboardRequested = 505, // Sent to the overlay manager - data is overlay + VREvent_ResetDashboard = 506, // Send to the overlay manager + //VREvent_RenderToast = 507, // Send to the dashboard to render a toast - data is the notification ID -- no longer sent + VREvent_ImageLoaded = 508, // Sent to overlays when a SetOverlayRaw or SetOverlayFromFile call finishes loading + VREvent_ShowKeyboard = 509, // Sent to keyboard renderer in the dashboard to invoke it + VREvent_HideKeyboard = 510, // Sent to keyboard renderer in the dashboard to hide it + VREvent_OverlayGamepadFocusGained = 511, // Sent to an overlay when IVROverlay::SetFocusOverlay is called on it + VREvent_OverlayGamepadFocusLost = 512, // Send to an overlay when it previously had focus and IVROverlay::SetFocusOverlay is called on something else + VREvent_OverlaySharedTextureChanged = 513, + //VREvent_DashboardGuideButtonDown = 514, // These are no longer sent + //VREvent_DashboardGuideButtonUp = 515, + VREvent_ScreenshotTriggered = 516, // Screenshot button combo was pressed, Dashboard should request a screenshot + VREvent_ImageFailed = 517, // Sent to overlays when a SetOverlayRaw or SetOverlayfromFail fails to load + VREvent_DashboardOverlayCreated = 518, + VREvent_SwitchGamepadFocus = 519, + + // Screenshot API + VREvent_RequestScreenshot = 520, // Sent by vrclient application to compositor to take a screenshot + VREvent_ScreenshotTaken = 521, // Sent by compositor to the application that the screenshot has been taken + VREvent_ScreenshotFailed = 522, // Sent by compositor to the application that the screenshot failed to be taken + VREvent_SubmitScreenshotToDashboard = 523, // Sent by compositor to the dashboard that a completed screenshot was submitted + VREvent_ScreenshotProgressToDashboard = 524, // Sent by compositor to the dashboard that a completed screenshot was submitted + + VREvent_PrimaryDashboardDeviceChanged = 525, + VREvent_RoomViewShown = 526, // Sent by compositor whenever room-view is enabled + VREvent_RoomViewHidden = 527, // Sent by compositor whenever room-view is disabled + VREvent_ShowUI = 528, // data is showUi + VREvent_ShowDevTools = 529, // data is showDevTools + VREvent_DesktopViewUpdating = 530, + VREvent_DesktopViewReady = 531, + + VREvent_StartDashboard = 532, + VREvent_ElevatePrism = 533, + VREvent_OverlayClosed = 534, + VREvent_DashboardThumbChanged = 535, // Sent when a dashboard thumbnail image changes + VREvent_DesktopMightBeVisible = 536, // Sent when any known desktop related overlay is visible + VREvent_DesktopMightBeHidden = 537, // Sent when all known desktop related overlays are hidden + VREvent_MutualSteamCapabilitiesChanged = 538, // Sent when the set of capabilities common between both Steam and SteamVR have changed. + VREvent_OverlayCreated = 539, // An OpenVR overlay of any sort was created. Data is overlay. + VREvent_OverlayDestroyed = 540, // An OpenVR overlay of any sort was destroyed. Data is overlay. + + VREvent_TrackingRecordingStarted = 541, + VREvent_TrackingRecordingStopped = 542, + VREvent_SetTrackingRecordingPath = 543, + + VREvent_Reserved_0560 = 560, // No data + VREvent_Reserved_0561 = 561, // No data + VREvent_Reserved_0562 = 562, // No data + VREvent_Reserved_0563 = 563, // No data + + VREvent_Notification_Shown = 600, + VREvent_Notification_Hidden = 601, + VREvent_Notification_BeginInteraction = 602, + VREvent_Notification_Destroyed = 603, + + VREvent_Quit = 700, // data is process + VREvent_ProcessQuit = 701, // data is process + //VREvent_QuitAborted_UserPrompt = 702, // data is process + VREvent_QuitAcknowledged = 703, // data is process + VREvent_DriverRequestedQuit = 704, // The driver has requested that SteamVR shut down + VREvent_RestartRequested = 705, // A driver or other component wants the user to restart SteamVR + VREvent_InvalidateSwapTextureSets = 706, + VREvent_RequestDisconnectWirelessHMD = 707, // vrserver asks vrlink to disconnect + + VREvent_ChaperoneDataHasChanged = 800, // this will never happen with the new chaperone system + VREvent_ChaperoneUniverseHasChanged = 801, + VREvent_ChaperoneTempDataHasChanged = 802, // this will never happen with the new chaperone system + VREvent_ChaperoneSettingsHaveChanged = 803, + VREvent_SeatedZeroPoseReset = 804, + VREvent_ChaperoneFlushCache = 805, // Sent when the process needs to reload any cached data it retrieved from VRChaperone() + VREvent_ChaperoneRoomSetupStarting = 806, // Triggered by CVRChaperoneClient::RoomSetupStarting + VREvent_ChaperoneRoomSetupCommitted = 807, // Triggered by CVRChaperoneClient::CommitWorkingCopy (formerly VREvent_ChaperoneRoomSetupFinished) + VREvent_StandingZeroPoseReset = 808, + VREvent_Reserved_0809 = 809, + VREvent_Reserved_0810 = 810, + VREvent_Reserved_0811 = 811, + + VREvent_AudioSettingsHaveChanged = 820, + + VREvent_BackgroundSettingHasChanged = 850, + VREvent_CameraSettingsHaveChanged = 851, + VREvent_ReprojectionSettingHasChanged = 852, + VREvent_ModelSkinSettingsHaveChanged = 853, + VREvent_EnvironmentSettingsHaveChanged = 854, + VREvent_PowerSettingsHaveChanged = 855, + VREvent_EnableHomeAppSettingsHaveChanged = 856, + VREvent_SteamVRSectionSettingChanged = 857, + VREvent_LighthouseSectionSettingChanged = 858, + VREvent_NullSectionSettingChanged = 859, + VREvent_UserInterfaceSectionSettingChanged = 860, + VREvent_NotificationsSectionSettingChanged = 861, + VREvent_KeyboardSectionSettingChanged = 862, + VREvent_PerfSectionSettingChanged = 863, + VREvent_DashboardSectionSettingChanged = 864, + VREvent_WebInterfaceSectionSettingChanged = 865, + VREvent_TrackersSectionSettingChanged = 866, + VREvent_LastKnownSectionSettingChanged = 867, + VREvent_DismissedWarningsSectionSettingChanged = 868, + VREvent_GpuSpeedSectionSettingChanged = 869, + VREvent_WindowsMRSectionSettingChanged = 870, + VREvent_OtherSectionSettingChanged = 871, + VREvent_AnyDriverSettingsChanged = 872, + + VREvent_StatusUpdate = 900, + + VREvent_WebInterface_InstallDriverCompleted = 950, + + VREvent_MCImageUpdated = 1000, + + VREvent_FirmwareUpdateStarted = 1100, + VREvent_FirmwareUpdateFinished = 1101, + + VREvent_KeyboardClosed = 1200, // DEPRECATED: Sent only to the overlay it closed for, or globally if it was closed for a scene app + VREvent_KeyboardCharInput = 1201, // Sent on keyboard input. Warning: event type appears as both global event and overlay event + VREvent_KeyboardDone = 1202, // Sent when DONE button clicked on keyboard. Warning: event type appears as both global event and overlay event + VREvent_KeyboardOpened_Global = 1203, // Sent globally when the keyboard is opened. data.keyboard.overlayHandle is who it was opened for (scene app if k_ulOverlayHandleInvalid) + VREvent_KeyboardClosed_Global = 1204, // Sent globally when the keyboard is closed. data.keyboard.overlayHandle is who it was opened for (scene app if k_ulOverlayHandleInvalid) + + //VREvent_ApplicationTransitionStarted = 1300, + //VREvent_ApplicationTransitionAborted = 1301, + //VREvent_ApplicationTransitionNewAppStarted = 1302, + VREvent_ApplicationListUpdated = 1303, + VREvent_ApplicationMimeTypeLoad = 1304, + // VREvent_ApplicationTransitionNewAppLaunchComplete = 1305, + VREvent_ProcessConnected = 1306, + VREvent_ProcessDisconnected = 1307, + + //VREvent_Compositor_MirrorWindowShown = 1400, // DEPRECATED + //VREvent_Compositor_MirrorWindowHidden = 1401, // DEPRECATED + VREvent_Compositor_ChaperoneBoundsShown = 1410, + VREvent_Compositor_ChaperoneBoundsHidden = 1411, + VREvent_Compositor_DisplayDisconnected = 1412, + VREvent_Compositor_DisplayReconnected = 1413, + VREvent_Compositor_HDCPError = 1414, // data is hdcpError + VREvent_Compositor_ApplicationNotResponding = 1415, + VREvent_Compositor_ApplicationResumed = 1416, + VREvent_Compositor_OutOfVideoMemory = 1417, + VREvent_Compositor_DisplayModeNotSupported = 1418, // k_pch_SteamVR_PreferredRefreshRate + VREvent_Compositor_StageOverrideReady = 1419, + VREvent_Compositor_RequestDisconnectReconnect = 1420, + + VREvent_TrackedCamera_StartVideoStream = 1500, + VREvent_TrackedCamera_StopVideoStream = 1501, + VREvent_TrackedCamera_PauseVideoStream = 1502, + VREvent_TrackedCamera_ResumeVideoStream = 1503, + VREvent_TrackedCamera_EditingSurface = 1550, + + VREvent_PerformanceTest_EnableCapture = 1600, + VREvent_PerformanceTest_DisableCapture = 1601, + VREvent_PerformanceTest_FidelityLevel = 1602, + + VREvent_MessageOverlay_Closed = 1650, + VREvent_MessageOverlayCloseRequested = 1651, + + VREvent_Input_HapticVibration = 1700, // data is hapticVibration + VREvent_Input_BindingLoadFailed = 1701, // data is inputBinding + VREvent_Input_BindingLoadSuccessful = 1702, // data is inputBinding + VREvent_Input_ActionManifestReloaded = 1703, // no data + VREvent_Input_ActionManifestLoadFailed = 1704, // data is actionManifest + VREvent_Input_ProgressUpdate = 1705, // data is progressUpdate + VREvent_Input_TrackerActivated = 1706, + VREvent_Input_BindingsUpdated = 1707, + VREvent_Input_BindingSubscriptionChanged = 1708, + + VREvent_SpatialAnchors_PoseUpdated = 1800, // data is spatialAnchor. broadcast + VREvent_SpatialAnchors_DescriptorUpdated = 1801, // data is spatialAnchor. broadcast + VREvent_SpatialAnchors_RequestPoseUpdate = 1802, // data is spatialAnchor. sent to specific driver + VREvent_SpatialAnchors_RequestDescriptorUpdate = 1803, // data is spatialAnchor. sent to specific driver + + VREvent_SystemReport_Started = 1900, // user or system initiated generation of a system report. broadcast + + VREvent_Monitor_ShowHeadsetView = 2000, // data is process + VREvent_Monitor_HideHeadsetView = 2001, // data is process + + VREvent_Audio_SetSpeakersVolume = 2100, + VREvent_Audio_SetSpeakersMute = 2101, + VREvent_Audio_SetMicrophoneVolume = 2102, + VREvent_Audio_SetMicrophoneMute = 2103, + + VREvent_RenderModel_CountChanged = 2200, //Number of RenderModels in the system has changed + + // Vendors are free to expose private events in this reserved region + VREvent_VendorSpecific_Reserved_Start = 10000, + VREvent_VendorSpecific_Reserved_End = 19999, +}; + + +/** Level of Hmd activity */ +// UserInteraction_Timeout means the device is in the process of timing out. +// InUse = ( k_EDeviceActivityLevel_UserInteraction || k_EDeviceActivityLevel_UserInteraction_Timeout ) +// VREvent_TrackedDeviceUserInteractionStarted fires when the devices transitions from Standby -> UserInteraction or Idle -> UserInteraction. +// VREvent_TrackedDeviceUserInteractionEnded fires when the devices transitions from UserInteraction_Timeout -> Idle +enum EDeviceActivityLevel +{ + k_EDeviceActivityLevel_Unknown = -1, + k_EDeviceActivityLevel_Idle = 0, // No activity for the last 10 seconds + k_EDeviceActivityLevel_UserInteraction = 1, // Activity (movement or prox sensor) is happening now + k_EDeviceActivityLevel_UserInteraction_Timeout = 2, // No activity for the last 0.5 seconds + k_EDeviceActivityLevel_Standby = 3, // Idle for at least 5 seconds (configurable in Settings -> Power Management) + k_EDeviceActivityLevel_Idle_Timeout = 4, +}; + + +/** VR controller button and axis IDs */ +enum EVRButtonId +{ + k_EButton_System = 0, + k_EButton_ApplicationMenu = 1, + k_EButton_Grip = 2, + k_EButton_DPad_Left = 3, + k_EButton_DPad_Up = 4, + k_EButton_DPad_Right = 5, + k_EButton_DPad_Down = 6, + k_EButton_A = 7, + + k_EButton_ProximitySensor = 31, + + k_EButton_Axis0 = 32, + k_EButton_Axis1 = 33, + k_EButton_Axis2 = 34, + k_EButton_Axis3 = 35, + k_EButton_Axis4 = 36, + + // aliases for well known controllers + k_EButton_SteamVR_Touchpad = k_EButton_Axis0, + k_EButton_SteamVR_Trigger = k_EButton_Axis1, + + k_EButton_Dashboard_Back = k_EButton_Grip, + + k_EButton_IndexController_A = k_EButton_Grip, + k_EButton_IndexController_B = k_EButton_ApplicationMenu, + k_EButton_IndexController_JoyStick = k_EButton_Axis3, + + k_EButton_Reserved0 = 50, + k_EButton_Reserved1 = 51, + + k_EButton_Max = 64 +}; + +inline uint64_t ButtonMaskFromId( EVRButtonId id ) { return 1ull << id; } + +/** used for controller button events */ +struct VREvent_Controller_t +{ + uint32_t button; // EVRButtonId enum +}; + + +/** used for simulated mouse events in overlay space */ +enum EVRMouseButton +{ + VRMouseButton_Left = 0x0001, + VRMouseButton_Right = 0x0002, + VRMouseButton_Middle = 0x0004, +}; + + +/** used for simulated mouse events in overlay space */ +struct VREvent_Mouse_t +{ + float x, y; // co-ords are in GL space, bottom left of the texture is 0,0 + uint32_t button; // EVRMouseButton enum + + // if from an event triggered by cursor input on an overlay that supports multiple cursors, this is the index of + // which tracked cursor the event is for + uint32_t cursorIndex; +}; + +/** used for simulated mouse wheel scroll */ +struct VREvent_Scroll_t +{ + float xdelta, ydelta; + uint32_t unused; + float viewportscale; // For scrolling on an overlay with laser mouse, this is the overlay's vertical size relative to the overlay height. Range: [0,1] + + // if from an event triggered by cursor input on an overlay that supports multiple cursors, this is the index of + // which tracked cursor the event is for + uint32_t cursorIndex; +}; + +/** when in mouse input mode you can receive data from the touchpad, these events are only sent if the users finger + is on the touchpad (or just released from it). These events are sent to overlays with the VROverlayFlags_SendVRTouchpadEvents + flag set. +**/ +struct VREvent_TouchPadMove_t +{ + // true if the users finger is detected on the touch pad + bool bFingerDown; + + // How long the finger has been down in seconds + float flSecondsFingerDown; + + // These values indicate the starting finger position (so you can do some basic swipe stuff) + float fValueXFirst; + float fValueYFirst; + + // This is the raw sampled coordinate without deadzoning + float fValueXRaw; + float fValueYRaw; +}; + +/** notification related events. Details will still change at this point */ +struct VREvent_Notification_t +{ + uint64_t ulUserValue; + uint32_t notificationId; +}; + +/** Used for events about processes */ +struct VREvent_Process_t +{ + uint32_t pid; + uint32_t oldPid; + bool bForced; + // If the associated event was triggered by a connection loss + bool bConnectionLost; +}; + + +/** Used for a few events about overlays */ +struct VREvent_Overlay_t +{ + uint64_t overlayHandle; // VROverlayHandle_t + uint64_t devicePath; + uint64_t memoryBlockId; + + // if from an event triggered by cursor input on an overlay that supports multiple cursors, this is the index of + // which tracked cursor the event is for + uint32_t cursorIndex; +}; + + +/** Used for a few events about overlays */ +struct VREvent_Status_t +{ + uint32_t statusState; // EVRState enum +}; + +/** Used for keyboard events */ +struct VREvent_Keyboard_t +{ + char cNewInput[8]; // 7 bytes of utf8 + null + uint64_t uUserValue; // caller specified opaque token + uint64_t overlayHandle; // VROverlayHandle_t +}; + +struct VREvent_Ipd_t +{ + float ipdMeters; +}; + +struct VREvent_Chaperone_t +{ + uint64_t m_nPreviousUniverse; + uint64_t m_nCurrentUniverse; +}; + +/** Not actually used for any events */ +struct VREvent_Reserved_t +{ + uint64_t reserved0; + uint64_t reserved1; + uint64_t reserved2; + uint64_t reserved3; + uint64_t reserved4; + uint64_t reserved5; +}; + +struct VREvent_PerformanceTest_t +{ + uint32_t m_nFidelityLevel; +}; + +struct VREvent_SeatedZeroPoseReset_t +{ + bool bResetBySystemMenu; +}; + +struct VREvent_Screenshot_t +{ + uint32_t handle; + uint32_t type; +}; + +struct VREvent_ScreenshotProgress_t +{ + float progress; +}; + +struct VREvent_ApplicationLaunch_t +{ + uint32_t pid; + uint32_t unArgsHandle; +}; + +struct VREvent_EditingCameraSurface_t +{ + uint64_t overlayHandle; + uint32_t nVisualMode; +}; + +struct VREvent_MessageOverlay_t +{ + uint32_t unVRMessageOverlayResponse; // vr::VRMessageOverlayResponse enum +}; + +struct VREvent_Property_t +{ + PropertyContainerHandle_t container; + ETrackedDeviceProperty prop; +}; + +struct VREvent_HapticVibration_t +{ + uint64_t containerHandle; // property container handle of the device with the haptic component + uint64_t componentHandle; // Which haptic component needs to vibrate + float fDurationSeconds; + float fFrequency; + float fAmplitude; +}; + +struct VREvent_WebConsole_t +{ + WebConsoleHandle_t webConsoleHandle; +}; + +struct VREvent_InputBindingLoad_t +{ + vr::PropertyContainerHandle_t ulAppContainer; + uint64_t pathMessage; + uint64_t pathUrl; + uint64_t pathControllerType; +}; + +struct VREvent_InputActionManifestLoad_t +{ + uint64_t pathAppKey; + uint64_t pathMessage; + uint64_t pathMessageParam; + uint64_t pathManifestPath; +}; + +struct VREvent_SpatialAnchor_t +{ + SpatialAnchorHandle_t unHandle; +}; + +struct VREvent_ProgressUpdate_t +{ + uint64_t ulApplicationPropertyContainer; + uint64_t pathDevice; + uint64_t pathInputSource; + uint64_t pathProgressAction; + uint64_t pathIcon; + float fProgress; +}; + +enum EShowUIType +{ + ShowUI_ControllerBinding = 0, + ShowUI_ManageTrackers = 1, + // ShowUI_QuickStart = 2, // Deprecated + ShowUI_Pairing = 3, + ShowUI_Settings = 4, + ShowUI_DebugCommands = 5, + ShowUI_FullControllerBinding = 6, + ShowUI_ManageDrivers = 7, +}; + +struct VREvent_ShowUI_t +{ + EShowUIType eType; +}; + +struct VREvent_ShowDevTools_t +{ + int32_t nBrowserIdentifier; +}; + +enum EHDCPError +{ + HDCPError_None = 0, + HDCPError_LinkLost = 1, + HDCPError_Tampered = 2, + HDCPError_DeviceRevoked = 3, + HDCPError_Unknown = 4 +}; + +struct VREvent_HDCPError_t +{ + EHDCPError eCode; +}; + +struct VREvent_AudioVolumeControl_t +{ + float fVolumeLevel; +}; + +struct VREvent_AudioMuteControl_t +{ + bool bMute; +}; + +typedef union +{ + VREvent_Reserved_t reserved; + VREvent_Controller_t controller; + VREvent_Mouse_t mouse; + VREvent_Scroll_t scroll; + VREvent_Process_t process; + VREvent_Notification_t notification; + VREvent_Overlay_t overlay; + VREvent_Status_t status; + VREvent_Keyboard_t keyboard; + VREvent_Ipd_t ipd; + VREvent_Chaperone_t chaperone; + VREvent_PerformanceTest_t performanceTest; + VREvent_TouchPadMove_t touchPadMove; + VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset; + VREvent_Screenshot_t screenshot; + VREvent_ScreenshotProgress_t screenshotProgress; + VREvent_ApplicationLaunch_t applicationLaunch; + VREvent_EditingCameraSurface_t cameraSurface; + VREvent_MessageOverlay_t messageOverlay; + VREvent_Property_t property; + VREvent_HapticVibration_t hapticVibration; + VREvent_WebConsole_t webConsole; + VREvent_InputBindingLoad_t inputBinding; + VREvent_InputActionManifestLoad_t actionManifest; + VREvent_SpatialAnchor_t spatialAnchor; + VREvent_ProgressUpdate_t progressUpdate; + VREvent_ShowUI_t showUi; + VREvent_ShowDevTools_t showDevTools; + VREvent_HDCPError_t hdcpError; + VREvent_AudioVolumeControl_t audioVolumeControl; + VREvent_AudioMuteControl_t audioMuteControl; + /** NOTE!!! If you change this you MUST manually update openvr_interop.cs.py and openvr_api_flat.h.py */ +} VREvent_Data_t; + + +#if defined(__linux__) || defined(__APPLE__) +// This structure was originally defined mis-packed on Linux, preserved for +// compatibility. +#pragma pack( push, 4 ) +#endif + +/** An event posted by the server to all running applications */ +struct VREvent_t +{ + uint32_t eventType; // EVREventType enum + TrackedDeviceIndex_t trackedDeviceIndex; + float eventAgeSeconds; + // event data must be the end of the struct as its size is variable + VREvent_Data_t data; +}; + +#if defined(__linux__) || defined(__APPLE__) +#pragma pack( pop ) +#endif + +typedef uint32_t VRComponentProperties; + +enum EVRComponentProperty +{ + VRComponentProperty_IsStatic = (1 << 0), + VRComponentProperty_IsVisible = (1 << 1), + VRComponentProperty_IsTouched = (1 << 2), + VRComponentProperty_IsPressed = (1 << 3), + VRComponentProperty_IsScrolled = (1 << 4), + VRComponentProperty_IsHighlighted = (1 << 5), +}; + + +/** Describes state information about a render-model component, including transforms and other dynamic properties */ +struct RenderModel_ComponentState_t +{ + HmdMatrix34_t mTrackingToComponentRenderModel; // Transform required when drawing the component render model + HmdMatrix34_t mTrackingToComponentLocal; // Transform available for attaching to a local component coordinate system (-Z out from surface ) + VRComponentProperties uProperties; +}; + + +enum EVRInputError +{ + VRInputError_None = 0, + VRInputError_NameNotFound = 1, + VRInputError_WrongType = 2, + VRInputError_InvalidHandle = 3, + VRInputError_InvalidParam = 4, + VRInputError_NoSteam = 5, + VRInputError_MaxCapacityReached = 6, + VRInputError_IPCError = 7, + VRInputError_NoActiveActionSet = 8, + VRInputError_InvalidDevice = 9, + VRInputError_InvalidSkeleton = 10, + VRInputError_InvalidBoneCount = 11, + VRInputError_InvalidCompressedData = 12, + VRInputError_NoData = 13, + VRInputError_BufferTooSmall = 14, + VRInputError_MismatchedActionManifest = 15, + VRInputError_MissingSkeletonData = 16, + VRInputError_InvalidBoneIndex = 17, + VRInputError_InvalidPriority = 18, + VRInputError_PermissionDenied = 19, + VRInputError_InvalidRenderModel = 20, +}; + +enum EVRSpatialAnchorError +{ + VRSpatialAnchorError_Success = 0, + VRSpatialAnchorError_Internal = 1, + VRSpatialAnchorError_UnknownHandle = 2, + VRSpatialAnchorError_ArrayTooSmall = 3, + VRSpatialAnchorError_InvalidDescriptorChar = 4, + VRSpatialAnchorError_NotYetAvailable = 5, + VRSpatialAnchorError_NotAvailableInThisUniverse = 6, + VRSpatialAnchorError_PermanentlyUnavailable = 7, + VRSpatialAnchorError_WrongDriver = 8, + VRSpatialAnchorError_DescriptorTooLong = 9, + VRSpatialAnchorError_Unknown = 10, + VRSpatialAnchorError_NoRoomCalibration = 11, + VRSpatialAnchorError_InvalidArgument = 12, + VRSpatialAnchorError_UnknownDriver = 13, +}; + +/** The mesh to draw into the stencil (or depth) buffer to perform +* early stencil (or depth) kills of pixels that will never appear on the HMD. +* This mesh draws on all the pixels that will be hidden after distortion. +* +* If the HMD does not provide a visible area mesh pVertexData will be +* NULL and unTriangleCount will be 0. */ +struct HiddenAreaMesh_t +{ + const HmdVector2_t *pVertexData; + uint32_t unTriangleCount; +}; + + +enum EHiddenAreaMeshType +{ + k_eHiddenAreaMesh_Standard = 0, + k_eHiddenAreaMesh_Inverse = 1, + k_eHiddenAreaMesh_LineLoop = 2, + + k_eHiddenAreaMesh_Max = 3, +}; + + +/** Identifies what kind of axis is on the controller at index n. Read this type +* with pVRSystem->Get( nControllerDeviceIndex, Prop_Axis0Type_Int32 + n ); +*/ +enum EVRControllerAxisType +{ + k_eControllerAxis_None = 0, + k_eControllerAxis_TrackPad = 1, + k_eControllerAxis_Joystick = 2, + k_eControllerAxis_Trigger = 3, // Analog trigger data is in the X axis +}; + + +/** contains information about one axis on the controller */ +struct VRControllerAxis_t +{ + float x; // Ranges from -1.0 to 1.0 for joysticks and track pads. Ranges from 0.0 to 1.0 for triggers were 0 is fully released. + float y; // Ranges from -1.0 to 1.0 for joysticks and track pads. Is always 0.0 for triggers. +}; + + +/** the number of axes in the controller state */ +static const uint32_t k_unControllerStateAxisCount = 5; + + +#if defined(__linux__) || defined(__APPLE__) +// This structure was originally defined mis-packed on Linux, preserved for +// compatibility. +#pragma pack( push, 4 ) +#endif + +/** Holds all the state of a controller at one moment in time. */ +struct VRControllerState001_t +{ + // If packet num matches that on your prior call, then the controller state hasn't been changed since + // your last call and there is no need to process it + uint32_t unPacketNum; + + // bit flags for each of the buttons. Use ButtonMaskFromId to turn an ID into a mask + uint64_t ulButtonPressed; + uint64_t ulButtonTouched; + + // Axis data for the controller's analog inputs + VRControllerAxis_t rAxis[ k_unControllerStateAxisCount ]; +}; +#if defined(__linux__) || defined(__APPLE__) +#pragma pack( pop ) +#endif + + +typedef VRControllerState001_t VRControllerState_t; + + +/** determines how to provide output to the application of various event processing functions. */ +enum EVRControllerEventOutputType +{ + ControllerEventOutput_OSEvents = 0, + ControllerEventOutput_VREvents = 1, +}; + + + +/** Collision Bounds Style */ +enum ECollisionBoundsStyle +{ + COLLISION_BOUNDS_STYLE_BEGINNER = 0, + COLLISION_BOUNDS_STYLE_INTERMEDIATE, + COLLISION_BOUNDS_STYLE_SQUARES, + COLLISION_BOUNDS_STYLE_ADVANCED, + COLLISION_BOUNDS_STYLE_NONE, + + COLLISION_BOUNDS_STYLE_COUNT +}; + +/** used to refer to a single VR overlay */ +typedef uint64_t VROverlayHandle_t; + +static const VROverlayHandle_t k_ulOverlayHandleInvalid = 0; + +/** Errors that can occur around VR overlays */ +enum EVROverlayError +{ + VROverlayError_None = 0, + + VROverlayError_UnknownOverlay = 10, + VROverlayError_InvalidHandle = 11, + VROverlayError_PermissionDenied = 12, + VROverlayError_OverlayLimitExceeded = 13, // No more overlays could be created because the maximum number already exist + VROverlayError_WrongVisibilityType = 14, + VROverlayError_KeyTooLong = 15, + VROverlayError_NameTooLong = 16, + VROverlayError_KeyInUse = 17, + VROverlayError_WrongTransformType = 18, + VROverlayError_InvalidTrackedDevice = 19, + VROverlayError_InvalidParameter = 20, + VROverlayError_ThumbnailCantBeDestroyed = 21, + VROverlayError_ArrayTooSmall = 22, + VROverlayError_RequestFailed = 23, + VROverlayError_InvalidTexture = 24, + VROverlayError_UnableToLoadFile = 25, + VROverlayError_KeyboardAlreadyInUse = 26, + VROverlayError_NoNeighbor = 27, + VROverlayError_TooManyMaskPrimitives = 29, + VROverlayError_BadMaskPrimitive = 30, + VROverlayError_TextureAlreadyLocked = 31, + VROverlayError_TextureLockCapacityReached = 32, + VROverlayError_TextureNotLocked = 33, + VROverlayError_TimedOut = 34, +}; + +/** enum values to pass in to VR_Init to identify whether the application will +* draw a 3D scene. */ +enum EVRApplicationType +{ + VRApplication_Other = 0, // Some other kind of application that isn't covered by the other entries + VRApplication_Scene = 1, // Application will submit 3D frames + VRApplication_Overlay = 2, // Application only interacts with overlays + VRApplication_Background = 3, // Application should not start SteamVR if it's not already running, and should not + // keep it running if everything else quits. + VRApplication_Utility = 4, // Init should not try to load any drivers. The application needs access to utility + // interfaces (like IVRSettings and IVRApplications) but not hardware. + VRApplication_VRMonitor = 5, // Reserved for vrmonitor + VRApplication_SteamWatchdog = 6,// Reserved for Steam + VRApplication_Bootstrapper = 7, // reserved for vrstartup + VRApplication_WebHelper = 8, // reserved for vrwebhelper + VRApplication_OpenXRInstance = 9, // reserved for openxr (created instance, but not session yet) + VRApplication_OpenXRScene = 10, // reserved for openxr (started session) + VRApplication_OpenXROverlay = 11, // reserved for openxr (started overlay session) + VRApplication_Prism = 12, // reserved for the vrprismhost process + VRApplication_RoomView = 13, // reserved for the RoomView process + + VRApplication_Max +}; + + +/** returns true if the specified application type is one of the +* OpenXR types */ +inline bool IsOpenXRAppType( EVRApplicationType eType ) +{ + return eType == VRApplication_OpenXRInstance + || eType == VRApplication_OpenXRScene + || eType == VRApplication_OpenXROverlay; +} + + +/** returns true if the specified application type submits eye buffers */ +inline bool BAppTypeSubmitsEyeBuffers( EVRApplicationType eType ) +{ + return eType == VRApplication_Scene + || eType == VRApplication_OpenXRScene + || eType == VRApplication_RoomView; +} + + +/** error codes for firmware */ +enum EVRFirmwareError +{ + VRFirmwareError_None = 0, + VRFirmwareError_Success = 1, + VRFirmwareError_Fail = 2, +}; + + +/** error codes for notifications */ +enum EVRNotificationError +{ + VRNotificationError_OK = 0, + VRNotificationError_InvalidNotificationId = 100, + VRNotificationError_NotificationQueueFull = 101, + VRNotificationError_InvalidOverlayHandle = 102, + VRNotificationError_SystemWithUserValueAlreadyExists = 103, + VRNotificationError_ServiceUnavailable = 104, +}; + + +enum EVRSkeletalMotionRange +{ + // The range of motion of the skeleton takes into account any physical limits imposed by + // the controller itself. This will tend to be the most accurate pose compared to the user's + // actual hand pose, but might not allow a closed fist for example + VRSkeletalMotionRange_WithController = 0, + + // Retarget the range of motion provided by the input device to make the hand appear to move + // as if it was not holding a controller. eg: map "hand grasping controller" to "closed fist" + VRSkeletalMotionRange_WithoutController = 1, +}; + +enum EVRSkeletalTrackingLevel +{ + // body part location can't be directly determined by the device. Any skeletal pose provided by + // the device is estimated by assuming the position required to active buttons, triggers, joysticks, + // or other input sensors. + // E.g. Vive Controller, Gamepad + VRSkeletalTracking_Estimated = 0, + + // body part location can be measured directly but with fewer degrees of freedom than the actual body + // part. Certain body part positions may be unmeasured by the device and estimated from other input data. + // E.g. Index Controllers, gloves that only measure finger curl + VRSkeletalTracking_Partial = 1, + + // Body part location can be measured directly throughout the entire range of motion of the body part. + // E.g. Mocap suit for the full body, gloves that measure rotation of each finger segment + VRSkeletalTracking_Full = 2, + + VRSkeletalTrackingLevel_Count, + VRSkeletalTrackingLevel_Max = VRSkeletalTrackingLevel_Count - 1 +}; + + +/** Type used for referring to bones by their index */ +typedef int32_t BoneIndex_t; +const BoneIndex_t k_unInvalidBoneIndex = -1; + + +/** error codes returned by Vr_Init */ + +// Please add adequate error description to https://developer.valvesoftware.com/w/index.php?title=Category:SteamVRHelp +enum EVRInitError +{ + VRInitError_None = 0, + VRInitError_Unknown = 1, + + VRInitError_Init_InstallationNotFound = 100, + VRInitError_Init_InstallationCorrupt = 101, + VRInitError_Init_VRClientDLLNotFound = 102, + VRInitError_Init_FileNotFound = 103, + VRInitError_Init_FactoryNotFound = 104, + VRInitError_Init_InterfaceNotFound = 105, + VRInitError_Init_InvalidInterface = 106, + VRInitError_Init_UserConfigDirectoryInvalid = 107, + VRInitError_Init_HmdNotFound = 108, + VRInitError_Init_NotInitialized = 109, + VRInitError_Init_PathRegistryNotFound = 110, + VRInitError_Init_NoConfigPath = 111, + VRInitError_Init_NoLogPath = 112, + VRInitError_Init_PathRegistryNotWritable = 113, + VRInitError_Init_AppInfoInitFailed = 114, + VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver + VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup + VRInitError_Init_AnotherAppLaunching = 117, + VRInitError_Init_SettingsInitFailed = 118, + VRInitError_Init_ShuttingDown = 119, + VRInitError_Init_TooManyObjects = 120, + VRInitError_Init_NoServerForBackgroundApp = 121, + VRInitError_Init_NotSupportedWithCompositor = 122, + VRInitError_Init_NotAvailableToUtilityApps = 123, + VRInitError_Init_Internal = 124, + VRInitError_Init_HmdDriverIdIsNone = 125, + VRInitError_Init_HmdNotFoundPresenceFailed = 126, + VRInitError_Init_VRMonitorNotFound = 127, + VRInitError_Init_VRMonitorStartupFailed = 128, + VRInitError_Init_LowPowerWatchdogNotSupported = 129, + VRInitError_Init_InvalidApplicationType = 130, + VRInitError_Init_NotAvailableToWatchdogApps = 131, + VRInitError_Init_WatchdogDisabledInSettings = 132, + VRInitError_Init_VRDashboardNotFound = 133, + VRInitError_Init_VRDashboardStartupFailed = 134, + VRInitError_Init_VRHomeNotFound = 135, + VRInitError_Init_VRHomeStartupFailed = 136, + VRInitError_Init_RebootingBusy = 137, + VRInitError_Init_FirmwareUpdateBusy = 138, + VRInitError_Init_FirmwareRecoveryBusy = 139, + VRInitError_Init_USBServiceBusy = 140, + VRInitError_Init_VRWebHelperStartupFailed = 141, + VRInitError_Init_TrackerManagerInitFailed = 142, + VRInitError_Init_AlreadyRunning = 143, + VRInitError_Init_FailedForVrMonitor = 144, + VRInitError_Init_PropertyManagerInitFailed = 145, + VRInitError_Init_WebServerFailed = 146, + VRInitError_Init_IllegalTypeTransition = 147, + VRInitError_Init_MismatchedRuntimes = 148, + VRInitError_Init_InvalidProcessId = 149, + VRInitError_Init_VRServiceStartupFailed = 150, + VRInitError_Init_PrismNeedsNewDrivers = 151, + VRInitError_Init_PrismStartupTimedOut = 152, + VRInitError_Init_CouldNotStartPrism = 153, + VRInitError_Init_PrismClientInitFailed = 154, + VRInitError_Init_PrismClientStartFailed = 155, + VRInitError_Init_PrismExitedUnexpectedly = 156, + VRInitError_Init_BadLuid = 157, + VRInitError_Init_NoServerForAppContainer = 158, + VRInitError_Init_DuplicateBootstrapper = 159, + VRInitError_Init_VRDashboardServicePending = 160, + VRInitError_Init_VRDashboardServiceTimeout = 161, + VRInitError_Init_VRDashboardServiceStopped = 162, + VRInitError_Init_VRDashboardAlreadyStarted = 163, + VRInitError_Init_VRDashboardCopyFailed = 164, + VRInitError_Init_VRDashboardTokenFailure = 165, + VRInitError_Init_VRDashboardEnvironmentFailure = 166, + VRInitError_Init_VRDashboardPathFailure = 167, + + VRInitError_Driver_Failed = 200, + VRInitError_Driver_Unknown = 201, + VRInitError_Driver_HmdUnknown = 202, + VRInitError_Driver_NotLoaded = 203, + VRInitError_Driver_RuntimeOutOfDate = 204, + VRInitError_Driver_HmdInUse = 205, + VRInitError_Driver_NotCalibrated = 206, + VRInitError_Driver_CalibrationInvalid = 207, + VRInitError_Driver_HmdDisplayNotFound = 208, + VRInitError_Driver_TrackedDeviceInterfaceUnknown = 209, + // VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons + VRInitError_Driver_HmdDriverIdOutOfBounds = 211, + VRInitError_Driver_HmdDisplayMirrored = 212, + VRInitError_Driver_HmdDisplayNotFoundLaptop = 213, + VRInitError_Driver_PeerDriverNotInstalled = 214, + VRInitError_Driver_WirelessHmdNotConnected = 215, + + // Never make error 259 because we return it from main and it would conflict with STILL_ACTIVE + + VRInitError_IPC_ServerInitFailed = 300, + VRInitError_IPC_ConnectFailed = 301, + VRInitError_IPC_SharedStateInitFailed = 302, + VRInitError_IPC_CompositorInitFailed = 303, + VRInitError_IPC_MutexInitFailed = 304, + VRInitError_IPC_Failed = 305, + VRInitError_IPC_CompositorConnectFailed = 306, + VRInitError_IPC_CompositorInvalidConnectResponse = 307, + VRInitError_IPC_ConnectFailedAfterMultipleAttempts = 308, + VRInitError_IPC_ConnectFailedAfterTargetExited = 309, + VRInitError_IPC_NamespaceUnavailable = 310, + + VRInitError_Compositor_Failed = 400, + VRInitError_Compositor_D3D11HardwareRequired = 401, + VRInitError_Compositor_FirmwareRequiresUpdate = 402, + VRInitError_Compositor_OverlayInitFailed = 403, + VRInitError_Compositor_ScreenshotsInitFailed = 404, + VRInitError_Compositor_UnableToCreateDevice = 405, + VRInitError_Compositor_SharedStateIsNull = 406, + VRInitError_Compositor_NotificationManagerIsNull = 407, + VRInitError_Compositor_ResourceManagerClientIsNull = 408, + VRInitError_Compositor_MessageOverlaySharedStateInitFailure = 409, + VRInitError_Compositor_PropertiesInterfaceIsNull = 410, + VRInitError_Compositor_CreateFullscreenWindowFailed = 411, + VRInitError_Compositor_SettingsInterfaceIsNull = 412, + VRInitError_Compositor_FailedToShowWindow = 413, + VRInitError_Compositor_DistortInterfaceIsNull = 414, + VRInitError_Compositor_DisplayFrequencyFailure = 415, + VRInitError_Compositor_RendererInitializationFailed = 416, + VRInitError_Compositor_DXGIFactoryInterfaceIsNull = 417, + VRInitError_Compositor_DXGIFactoryCreateFailed = 418, + VRInitError_Compositor_DXGIFactoryQueryFailed = 419, + VRInitError_Compositor_InvalidAdapterDesktop = 420, + VRInitError_Compositor_InvalidHmdAttachment = 421, + VRInitError_Compositor_InvalidOutputDesktop = 422, + VRInitError_Compositor_InvalidDeviceProvided = 423, + VRInitError_Compositor_D3D11RendererInitializationFailed = 424, + VRInitError_Compositor_FailedToFindDisplayMode = 425, + VRInitError_Compositor_FailedToCreateSwapChain = 426, + VRInitError_Compositor_FailedToGetBackBuffer = 427, + VRInitError_Compositor_FailedToCreateRenderTarget = 428, + VRInitError_Compositor_FailedToCreateDXGI2SwapChain = 429, + VRInitError_Compositor_FailedtoGetDXGI2BackBuffer = 430, + VRInitError_Compositor_FailedToCreateDXGI2RenderTarget = 431, + VRInitError_Compositor_FailedToGetDXGIDeviceInterface = 432, + VRInitError_Compositor_SelectDisplayMode = 433, + VRInitError_Compositor_FailedToCreateNvAPIRenderTargets = 434, + VRInitError_Compositor_NvAPISetDisplayMode = 435, + VRInitError_Compositor_FailedToCreateDirectModeDisplay = 436, + VRInitError_Compositor_InvalidHmdPropertyContainer = 437, + VRInitError_Compositor_UpdateDisplayFrequency = 438, + VRInitError_Compositor_CreateRasterizerState = 439, + VRInitError_Compositor_CreateWireframeRasterizerState = 440, + VRInitError_Compositor_CreateSamplerState = 441, + VRInitError_Compositor_CreateClampToBorderSamplerState = 442, + VRInitError_Compositor_CreateAnisoSamplerState = 443, + VRInitError_Compositor_CreateOverlaySamplerState = 444, + VRInitError_Compositor_CreatePanoramaSamplerState = 445, + VRInitError_Compositor_CreateFontSamplerState = 446, + VRInitError_Compositor_CreateNoBlendState = 447, + VRInitError_Compositor_CreateBlendState = 448, + VRInitError_Compositor_CreateAlphaBlendState = 449, + VRInitError_Compositor_CreateBlendStateMaskR = 450, + VRInitError_Compositor_CreateBlendStateMaskG = 451, + VRInitError_Compositor_CreateBlendStateMaskB = 452, + VRInitError_Compositor_CreateDepthStencilState = 453, + VRInitError_Compositor_CreateDepthStencilStateNoWrite = 454, + VRInitError_Compositor_CreateDepthStencilStateNoDepth = 455, + VRInitError_Compositor_CreateFlushTexture = 456, + VRInitError_Compositor_CreateDistortionSurfaces = 457, + VRInitError_Compositor_CreateConstantBuffer = 458, + VRInitError_Compositor_CreateHmdPoseConstantBuffer = 459, + VRInitError_Compositor_CreateHmdPoseStagingConstantBuffer = 460, + VRInitError_Compositor_CreateSharedFrameInfoConstantBuffer = 461, + VRInitError_Compositor_CreateOverlayConstantBuffer = 462, + VRInitError_Compositor_CreateSceneTextureIndexConstantBuffer = 463, + VRInitError_Compositor_CreateReadableSceneTextureIndexConstantBuffer = 464, + VRInitError_Compositor_CreateLayerGraphicsTextureIndexConstantBuffer = 465, + VRInitError_Compositor_CreateLayerComputeTextureIndexConstantBuffer = 466, + VRInitError_Compositor_CreateLayerComputeSceneTextureIndexConstantBuffer = 467, + VRInitError_Compositor_CreateComputeHmdPoseConstantBuffer = 468, + VRInitError_Compositor_CreateGeomConstantBuffer = 469, + VRInitError_Compositor_CreatePanelMaskConstantBuffer = 470, + VRInitError_Compositor_CreatePixelSimUBO = 471, + VRInitError_Compositor_CreateMSAARenderTextures = 472, + VRInitError_Compositor_CreateResolveRenderTextures = 473, + VRInitError_Compositor_CreateComputeResolveRenderTextures = 474, + VRInitError_Compositor_CreateDriverDirectModeResolveTextures = 475, + VRInitError_Compositor_OpenDriverDirectModeResolveTextures = 476, + VRInitError_Compositor_CreateFallbackSyncTexture = 477, + VRInitError_Compositor_ShareFallbackSyncTexture = 478, + VRInitError_Compositor_CreateOverlayIndexBuffer = 479, + VRInitError_Compositor_CreateOverlayVertexBuffer = 480, + VRInitError_Compositor_CreateTextVertexBuffer = 481, + VRInitError_Compositor_CreateTextIndexBuffer = 482, + VRInitError_Compositor_CreateMirrorTextures = 483, + VRInitError_Compositor_CreateLastFrameRenderTexture = 484, + VRInitError_Compositor_CreateMirrorOverlay = 485, + VRInitError_Compositor_FailedToCreateVirtualDisplayBackbuffer = 486, + VRInitError_Compositor_DisplayModeNotSupported = 487, + VRInitError_Compositor_CreateOverlayInvalidCall = 488, + VRInitError_Compositor_CreateOverlayAlreadyInitialized = 489, + VRInitError_Compositor_FailedToCreateMailbox = 490, + VRInitError_Compositor_WindowInterfaceIsNull = 491, + VRInitError_Compositor_SystemLayerCreateInstance = 492, + VRInitError_Compositor_SystemLayerCreateSession = 493, + VRInitError_Compositor_CreateInverseDistortUVs = 494, + VRInitError_Compositor_CreateBackbufferDepth = 495, + VRInitError_Compositor_CannotDRMLeaseDisplay = 496, + VRInitError_Compositor_CannotConnectToDisplayServer = 497, + VRInitError_Compositor_GnomeNoDRMLeasing = 498, + VRInitError_Compositor_FailedToInitializeEncoder = 499, + VRInitError_Compositor_CreateBlurTexture = 500, + + VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000, + VRInitError_VendorSpecific_WindowsNotInDevMode = 1001, + VRInitError_VendorSpecific_OculusLinkNotEnabled = 1002, + + VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101, + VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, + VRInitError_VendorSpecific_HmdFound_NoStoredConfig = 1103, + VRInitError_VendorSpecific_HmdFound_ConfigTooBig = 1104, + VRInitError_VendorSpecific_HmdFound_ConfigTooSmall = 1105, + VRInitError_VendorSpecific_HmdFound_UnableToInitZLib = 1106, + VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107, + VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108, + VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109, + VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110, + VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111, + VRInitError_VendorSpecific_HmdFound_UserDataError = 1112, + VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, + VRInitError_VendorSpecific_OculusRuntimeBadInstall = 1114, + VRInitError_VendorSpecific_HmdFound_UnexpectedConfiguration_1 = 1115, + + VRInitError_Steam_SteamInstallationNotFound = 2000, + + // Strictly a placeholder + VRInitError_LastError +}; + +enum EVRScreenshotType +{ + VRScreenshotType_None = 0, + VRScreenshotType_Mono = 1, // left eye only + VRScreenshotType_Stereo = 2, + VRScreenshotType_Cubemap = 3, + VRScreenshotType_MonoPanorama = 4, + VRScreenshotType_StereoPanorama = 5 +}; + +enum EVRScreenshotPropertyFilenames +{ + VRScreenshotPropertyFilenames_Preview = 0, + VRScreenshotPropertyFilenames_VR = 1, +}; + +enum EVRTrackedCameraError +{ + VRTrackedCameraError_None = 0, + VRTrackedCameraError_OperationFailed = 100, + VRTrackedCameraError_InvalidHandle = 101, + VRTrackedCameraError_InvalidFrameHeaderVersion = 102, + VRTrackedCameraError_OutOfHandles = 103, + VRTrackedCameraError_IPCFailure = 104, + VRTrackedCameraError_NotSupportedForThisDevice = 105, + VRTrackedCameraError_SharedMemoryFailure = 106, + VRTrackedCameraError_FrameBufferingFailure = 107, + VRTrackedCameraError_StreamSetupFailure = 108, + VRTrackedCameraError_InvalidGLTextureId = 109, + VRTrackedCameraError_InvalidSharedTextureHandle = 110, + VRTrackedCameraError_FailedToGetGLTextureId = 111, + VRTrackedCameraError_SharedTextureFailure = 112, + VRTrackedCameraError_NoFrameAvailable = 113, + VRTrackedCameraError_InvalidArgument = 114, + VRTrackedCameraError_InvalidFrameBufferSize = 115, +}; + +enum EVRTrackedCameraFrameLayout +{ + EVRTrackedCameraFrameLayout_Mono = 0x0001, + EVRTrackedCameraFrameLayout_Stereo = 0x0002, + EVRTrackedCameraFrameLayout_VerticalLayout = 0x0010, // Stereo frames are Top/Bottom (left/right) + EVRTrackedCameraFrameLayout_HorizontalLayout = 0x0020, // Stereo frames are Left/Right +}; + +enum EVRTrackedCameraFrameType +{ + VRTrackedCameraFrameType_Distorted = 0, // This is the camera video frame size in pixels, still distorted. + VRTrackedCameraFrameType_Undistorted, // In pixels, an undistorted inscribed rectangle region without invalid regions. This size is subject to changes shortly. + VRTrackedCameraFrameType_MaximumUndistorted, // In pixels, maximum undistorted with invalid regions. Non zero alpha component identifies valid regions. + MAX_CAMERA_FRAME_TYPES +}; + +enum EVRDistortionFunctionType +{ + VRDistortionFunctionType_None, + VRDistortionFunctionType_FTheta, + VRDistortionFunctionType_Extended_FTheta, + MAX_DISTORTION_FUNCTION_TYPES, +}; + +static const uint32_t k_unMaxDistortionFunctionParameters = 8; + +typedef uint64_t TrackedCameraHandle_t; +#define INVALID_TRACKED_CAMERA_HANDLE ((vr::TrackedCameraHandle_t)0) + +struct CameraVideoStreamFrameHeader_t +{ + EVRTrackedCameraFrameType eFrameType; + + uint32_t nWidth; + uint32_t nHeight; + uint32_t nBytesPerPixel; + + uint32_t nFrameSequence; + + TrackedDevicePose_t trackedDevicePose; + + uint64_t ulFrameExposureTime; // mid-point of the exposure of the image in host system ticks +}; + +// Screenshot types +typedef uint32_t ScreenshotHandle_t; + +static const uint32_t k_unScreenshotHandleInvalid = 0; + +/** Compositor frame timing reprojection flags. */ +const uint32_t VRCompositor_ReprojectionReason_Cpu = 0x01; +const uint32_t VRCompositor_ReprojectionReason_Gpu = 0x02; +const uint32_t VRCompositor_ReprojectionAsync = 0x04; // This flag indicates the async reprojection mode is active, + // but does not indicate if reprojection actually happened or not. + // Use the ReprojectionReason flags above to check if reprojection + // was actually applied (i.e. scene texture was reused). + // NumFramePresents > 1 also indicates the scene texture was reused, + // and also the number of times that it was presented in total. + +const uint32_t VRCompositor_ReprojectionMotion = 0x08; // This flag indicates whether or not motion smoothing was triggered for this frame + +const uint32_t VRCompositor_PredictionMask = 0xF0; // The runtime may predict more than one frame ahead if + // it detects the application is taking too long to render. These + // bits will contain the count of additional frames (normally zero). + // Use the VR_COMPOSITOR_ADDITIONAL_PREDICTED_FRAMES macro to read from + // the latest frame timing entry. + +const uint32_t VRCompositor_ThrottleMask = 0xF00; // Number of frames the compositor is throttling the application. + // Use the VR_COMPOSITOR_NUMBER_OF_THROTTLED_FRAMES macro to read from + // the latest frame timing entry. + +#define VR_COMPOSITOR_ADDITIONAL_PREDICTED_FRAMES( timing ) ( ( ( timing ).m_nReprojectionFlags & vr::VRCompositor_PredictionMask ) >> 4 ) +#define VR_COMPOSITOR_NUMBER_OF_THROTTLED_FRAMES( timing ) ( ( ( timing ).m_nReprojectionFlags & vr::VRCompositor_ThrottleMask ) >> 8 ) + +#if defined(__linux__) || defined(__APPLE__) +#pragma pack( push, 4 ) +#endif +/** Provides a single frame's timing information to the app */ +struct Compositor_FrameTiming +{ + uint32_t m_nSize; // Set to sizeof( Compositor_FrameTiming ) + uint32_t m_nFrameIndex; + uint32_t m_nNumFramePresents; // number of times this frame was presented + uint32_t m_nNumMisPresented; // number of times this frame was presented on a vsync other than it was originally predicted to + uint32_t m_nNumDroppedFrames; // number of additional times previous frame was scanned out + uint32_t m_nReprojectionFlags; + + /** Absolute time reference for comparing frames. This aligns with the vsync that running start is relative to. */ + double m_flSystemTimeInSeconds; + + /** These times may include work from other processes due to OS scheduling. + * The fewer packets of work these are broken up into, the less likely this will happen. + * GPU work can be broken up by calling Flush. This can sometimes be useful to get the GPU started + * processing that work earlier in the frame. */ + float m_flPreSubmitGpuMs; // time spent rendering the scene (gpu work submitted between WaitGetPoses and second Submit) + float m_flPostSubmitGpuMs; // additional time spent rendering by application (e.g. companion window) + float m_flTotalRenderGpuMs; // time between work submitted immediately after present (ideally vsync) until the end of compositor submitted work + float m_flCompositorRenderGpuMs; // time spend performing distortion correction, rendering chaperone, overlays, etc. + float m_flCompositorRenderCpuMs; // time spent on cpu submitting the above work for this frame + float m_flCompositorIdleCpuMs; // time spent waiting for running start (application could have used this much more time) + + /** Miscellaneous measured intervals. */ + float m_flClientFrameIntervalMs; // time between calls to WaitGetPoses + float m_flPresentCallCpuMs; // time blocked on call to present (usually 0.0, but can go long) + float m_flWaitForPresentCpuMs; // time spent spin-waiting for frame index to change (not near-zero indicates wait object failure) + float m_flSubmitFrameMs; // time spent in IVRCompositor::Submit (not near-zero indicates driver issue) + + /** The following are all relative to this frame's SystemTimeInSeconds */ + float m_flWaitGetPosesCalledMs; + float m_flNewPosesReadyMs; + float m_flNewFrameReadyMs; // second call to IVRCompositor::Submit + float m_flCompositorUpdateStartMs; + float m_flCompositorUpdateEndMs; + float m_flCompositorRenderStartMs; + + vr::TrackedDevicePose_t m_HmdPose; // pose used by app to render this frame + + uint32_t m_nNumVSyncsReadyForUse; + uint32_t m_nNumVSyncsToFirstView; + + float m_flTransferLatencyMs; +}; +#if defined(__linux__) || defined(__APPLE__) +#pragma pack( pop ) +#endif + +/** Provides compositor benchmark results to the app */ +struct Compositor_BenchmarkResults +{ + float m_flMegaPixelsPerSecond; // Measurement of GPU MP/s performed by compositor benchmark + float m_flHmdRecommendedMegaPixelsPerSecond; // Recommended default MP/s given the HMD resolution, refresh, and panel mask. +}; + +/** Frame timing data provided by direct mode drivers. */ +struct DriverDirectMode_FrameTiming +{ + uint32_t m_nSize; // Set to sizeof( DriverDirectMode_FrameTiming ) + uint32_t m_nNumFramePresents; // number of times frame was presented + uint32_t m_nNumMisPresented; // number of times frame was presented on a vsync other than it was originally predicted to + uint32_t m_nNumDroppedFrames; // number of additional times previous frame was scanned out (i.e. compositor missed vsync) + uint32_t m_nReprojectionFlags; +}; + +/** These flags will be set on DriverDirectMode_FrameTiming::m_nReprojectionFlags when IVRDriverDirectModeComponent::GetFrameTiming is called for drivers to optionally respond to. */ +const uint32_t VRCompositor_ReprojectionMotion_Enabled = 0x100; // Motion Smoothing is enabled in the UI for the currently running application +const uint32_t VRCompositor_ReprojectionMotion_ForcedOn = 0x200; // Motion Smoothing is forced on in the UI for the currently running application +const uint32_t VRCompositor_ReprojectionMotion_AppThrottled = 0x400; // Application is requesting throttling via ForceInterleavedReprojectionOn + + +enum EVSync +{ + VSync_None, + VSync_WaitRender, // block following render work until vsync + VSync_NoWaitRender, // do not block following render work (allow to get started early) +}; + +enum EVRMuraCorrectionMode +{ + EVRMuraCorrectionMode_Default = 0, + EVRMuraCorrectionMode_NoCorrection +}; + +/** raw IMU data provided by IVRIOBuffer from paths to tracked devices with IMUs */ +enum Imu_OffScaleFlags +{ + OffScale_AccelX = 0x01, + OffScale_AccelY = 0x02, + OffScale_AccelZ = 0x04, + OffScale_GyroX = 0x08, + OffScale_GyroY = 0x10, + OffScale_GyroZ = 0x20, +}; + +struct ImuSample_t +{ + double fSampleTime; + HmdVector3d_t vAccel; + HmdVector3d_t vGyro; + uint32_t unOffScaleFlags; +}; + +#pragma pack( pop ) + +// figure out how to import from the VR API dll +#if defined(_WIN32) + + #if !defined(OPENVR_BUILD_STATIC) + #ifdef VR_API_EXPORT + #define VR_INTERFACE extern "C" __declspec( dllexport ) + #else + #define VR_INTERFACE extern "C" __declspec( dllimport ) + #endif + #else + #define VR_INTERFACE extern "C" + #endif + +#elif defined(__GNUC__) || defined(COMPILER_GCC) || defined(__APPLE__) + +#ifdef VR_API_EXPORT + #define VR_INTERFACE extern "C" __attribute__((visibility("default"))) +#else + #define VR_INTERFACE extern "C" +#endif + +#else + #error "Unsupported Platform." +#endif + + +#if defined( _WIN32 ) + #define VR_CALLTYPE __cdecl +#else + #define VR_CALLTYPE +#endif + +} // namespace vr +#endif // _INCLUDE_VRTYPES_H + +// vrannotation.h + +#ifdef API_GEN +# define VR_CLANG_ATTR(ATTR) __attribute__((annotate( ATTR ))) +#else +# define VR_CLANG_ATTR(ATTR) +#endif + +#define VR_METHOD_DESC(DESC) VR_CLANG_ATTR( "desc:" #DESC ";" ) +#define VR_IGNOREATTR() VR_CLANG_ATTR( "ignore" ) +#define VR_OUT_STRUCT() VR_CLANG_ATTR( "out_struct: ;" ) +#define VR_OUT_STRING() VR_CLANG_ATTR( "out_string: ;" ) +#define VR_OUT_ARRAY_CALL(COUNTER,FUNCTION,PARAMS) VR_CLANG_ATTR( "out_array_call:" #COUNTER "," #FUNCTION "," #PARAMS ";" ) +#define VR_OUT_ARRAY_COUNT(COUNTER) VR_CLANG_ATTR( "out_array_count:" #COUNTER ";" ) +#define VR_ARRAY_COUNT(COUNTER) VR_CLANG_ATTR( "array_count:" #COUNTER ";" ) +#define VR_ARRAY_COUNT_D(COUNTER, DESC) VR_CLANG_ATTR( "array_count:" #COUNTER ";desc:" #DESC ) +#define VR_BUFFER_COUNT(COUNTER) VR_CLANG_ATTR( "buffer_count:" #COUNTER ";" ) +#define VR_OUT_BUFFER_COUNT(COUNTER) VR_CLANG_ATTR( "out_buffer_count:" #COUNTER ";" ) +#define VR_OUT_STRING_COUNT(COUNTER) VR_CLANG_ATTR( "out_string_count:" #COUNTER ";" ) + +// ivrsystem.h + +namespace vr +{ + +class IVRSystem +{ +public: + + + // ------------------------------------ + // Display Methods + // ------------------------------------ + + /** Suggested size for the intermediate render target that the distortion pulls from. */ + virtual void GetRecommendedRenderTargetSize( uint32_t *pnWidth, uint32_t *pnHeight ) = 0; + + /** The projection matrix for the specified eye */ + virtual HmdMatrix44_t GetProjectionMatrix( EVREye eEye, float fNearZ, float fFarZ ) = 0; + + /** The components necessary to build your own projection matrix in case your + * application is doing something fancy like infinite Z */ + virtual void GetProjectionRaw( EVREye eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom ) = 0; + + /** Gets the result of the distortion function for the specified eye and input UVs. UVs go from 0,0 in + * the upper left of that eye's viewport and 1,1 in the lower right of that eye's viewport. + * Returns true for success. Otherwise, returns false, and distortion coordinates are not suitable. */ + virtual bool ComputeDistortion( EVREye eEye, float fU, float fV, DistortionCoordinates_t *pDistortionCoordinates ) = 0; + + /** Returns the transform from eye space to the head space. Eye space is the per-eye flavor of head + * space that provides stereo disparity. Instead of Model * View * Projection the sequence is Model * View * Eye^-1 * Projection. + * Normally View and Eye^-1 will be multiplied together and treated as View in your application. + */ + virtual HmdMatrix34_t GetEyeToHeadTransform( EVREye eEye ) = 0; + + /** Returns the number of elapsed seconds since the last recorded vsync event. This + * will come from a vsync timer event in the timer if possible or from the application-reported + * time if that is not available. If no vsync times are available the function will + * return zero for vsync time and frame counter and return false from the method. */ + virtual bool GetTimeSinceLastVsync( float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter ) = 0; + + /** [D3D9 Only] + * Returns the adapter index that the user should pass into CreateDevice to set up D3D9 in such + * a way that it can go full screen exclusive on the HMD. Returns -1 if there was an error. + */ + virtual int32_t GetD3D9AdapterIndex() = 0; + + /** [D3D10/11 Only] + * Returns the adapter index that the user should pass into EnumAdapters to create the device + * and swap chain in DX10 and DX11. If an error occurs the index will be set to -1. + */ + virtual void GetDXGIOutputInfo( int32_t *pnAdapterIndex ) = 0; + + /** + * Returns platform- and texture-type specific adapter identification so that applications and the + * compositor are creating textures and swap chains on the same GPU. If an error occurs the device + * will be set to 0. + * pInstance is an optional parameter that is required only when textureType is TextureType_Vulkan. + * [D3D10/11/12 Only (D3D9 Not Supported)] + * Returns the adapter LUID that identifies the GPU attached to the HMD. The user should + * enumerate all adapters using IDXGIFactory::EnumAdapters and IDXGIAdapter::GetDesc to find + * the adapter with the matching LUID, or use IDXGIFactory4::EnumAdapterByLuid. + * The discovered IDXGIAdapter should be used to create the device and swap chain. + * [Vulkan Only] + * Returns the VkPhysicalDevice that should be used by the application. + * pInstance must be the instance the application will use to query for the VkPhysicalDevice. The application + * must create the VkInstance with extensions returned by IVRCompositor::GetVulkanInstanceExtensionsRequired enabled. + * [macOS Only] + * For TextureType_IOSurface returns the id that should be used by the application. + * On 10.13+ for TextureType_OpenGL returns the 'registryId' of the renderer which should be used + * by the application. See Apple Technical Q&A QA1168 for information on enumerating GL Renderers, and the + * new kCGLRPRegistryIDLow and kCGLRPRegistryIDHigh CGLRendererProperty values in the 10.13 SDK. + * Pre 10.13 for TextureType_OpenGL returns 0, as there is no dependable way to correlate the HMDs MTLDevice + * with a GL Renderer. + */ + virtual void GetOutputDevice( uint64_t *pnDevice, ETextureType textureType, VkInstance_T *pInstance = nullptr ) = 0; + + // ------------------------------------ + // Display Mode methods + // ------------------------------------ + + /** Use to determine if the headset display is part of the desktop (i.e. extended) or hidden (i.e. direct mode). */ + virtual bool IsDisplayOnDesktop() = 0; + + /** Set the display visibility (true = extended, false = direct mode). Return value of true indicates that the change was successful. */ + virtual bool SetDisplayVisibility( bool bIsVisibleOnDesktop ) = 0; + + // ------------------------------------ + // Tracking Methods + // ------------------------------------ + + /** The pose that the tracker thinks that the HMD will be in at the specified number of seconds into the + * future. Pass 0 to get the state at the instant the method is called. Most of the time the application should + * calculate the time until the photons will be emitted from the display and pass that time into the method. + * + * This is roughly analogous to the inverse of the view matrix in most applications, though + * many games will need to do some additional rotation or translation on top of the rotation + * and translation provided by the head pose. + * + * For devices where bPoseIsValid is true the application can use the pose to position the device + * in question. The provided array can be any size up to k_unMaxTrackedDeviceCount. + * + * Seated experiences should call this method with TrackingUniverseSeated and receive poses relative + * to the seated zero pose. Standing experiences should call this method with TrackingUniverseStanding + * and receive poses relative to the Chaperone Play Area. TrackingUniverseRawAndUncalibrated should + * probably not be used unless the application is the Chaperone calibration tool itself, but will provide + * poses relative to the hardware-specific coordinate system in the driver. + */ + virtual void GetDeviceToAbsoluteTrackingPose( ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, VR_ARRAY_COUNT(unTrackedDevicePoseArrayCount) TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount ) = 0; + + /** Returns the transform from the seated zero pose to the standing absolute tracking system. This allows + * applications to represent the seated origin to used or transform object positions from one coordinate + * system to the other. + * + * The seated origin may or may not be inside the Play Area or Collision Bounds returned by IVRChaperone. Its position + * depends on what the user has set from the Dashboard settings and previous calls to ResetSeatedZeroPose. */ + virtual HmdMatrix34_t GetSeatedZeroPoseToStandingAbsoluteTrackingPose() = 0; + + /** Returns the transform from the tracking origin to the standing absolute tracking system. This allows + * applications to convert from raw tracking space to the calibrated standing coordinate system. */ + virtual HmdMatrix34_t GetRawZeroPoseToStandingAbsoluteTrackingPose() = 0; + + /** Get a sorted array of device indices of a given class of tracked devices (e.g. controllers). Devices are sorted right to left + * relative to the specified tracked device (default: hmd -- pass in -1 for absolute tracking space). Returns the number of devices + * in the list, or the size of the array needed if not large enough. */ + virtual uint32_t GetSortedTrackedDeviceIndicesOfClass( ETrackedDeviceClass eTrackedDeviceClass, VR_ARRAY_COUNT(unTrackedDeviceIndexArrayCount) vr::TrackedDeviceIndex_t *punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, vr::TrackedDeviceIndex_t unRelativeToTrackedDeviceIndex = k_unTrackedDeviceIndex_Hmd ) = 0; + + /** Returns the level of activity on the device. */ + virtual EDeviceActivityLevel GetTrackedDeviceActivityLevel( vr::TrackedDeviceIndex_t unDeviceId ) = 0; + + /** Convenience utility to apply the specified transform to the specified pose. + * This properly transforms all pose components, including velocity and angular velocity + */ + virtual void ApplyTransform( TrackedDevicePose_t *pOutputPose, const TrackedDevicePose_t *pTrackedDevicePose, const HmdMatrix34_t *pTransform ) = 0; + + /** Returns the device index associated with a specific role, for example the left hand or the right hand. This function is deprecated in favor of the new IVRInput system. */ + virtual vr::TrackedDeviceIndex_t GetTrackedDeviceIndexForControllerRole( vr::ETrackedControllerRole unDeviceType ) = 0; + + /** Returns the controller type associated with a device index. This function is deprecated in favor of the new IVRInput system. */ + virtual vr::ETrackedControllerRole GetControllerRoleForTrackedDeviceIndex( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; + + // ------------------------------------ + // Property methods + // ------------------------------------ + + /** Returns the device class of a tracked device. If there has not been a device connected in this slot + * since the application started this function will return TrackedDevice_Invalid. For previous detected + * devices the function will return the previously observed device class. + * + * To determine which devices exist on the system, just loop from 0 to k_unMaxTrackedDeviceCount and check + * the device class. Every device with something other than TrackedDevice_Invalid is associated with an + * actual tracked device. */ + virtual ETrackedDeviceClass GetTrackedDeviceClass( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; + + /** Returns true if there is a device connected in this slot. */ + virtual bool IsTrackedDeviceConnected( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; + + /** Returns a bool property. If the device index is not valid or the property is not a bool type this function will return false. */ + virtual bool GetBoolTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; + + /** Returns a float property. If the device index is not valid or the property is not a float type this function will return 0. */ + virtual float GetFloatTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; + + /** Returns an int property. If the device index is not valid or the property is not a int type this function will return 0. */ + virtual int32_t GetInt32TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; + + /** Returns a uint64 property. If the device index is not valid or the property is not a uint64 type this function will return 0. */ + virtual uint64_t GetUint64TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; + + /** Returns a matrix property. If the device index is not valid or the property is not a matrix type, this function will return identity. */ + virtual HmdMatrix34_t GetMatrix34TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; + + /** Returns an array of one type of property. If the device index is not valid or the property is not a single value or an array of the specified type, + * this function will return 0. Otherwise it returns the number of bytes necessary to hold the array of properties. If unBufferSize is + * greater than the returned size and pBuffer is non-NULL, pBuffer is filled with the contents of array of properties. */ + virtual uint32_t GetArrayTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, PropertyTypeTag_t propType, void *pBuffer, uint32_t unBufferSize, ETrackedPropertyError *pError = 0L ) = 0; + + /** Returns a string property. If the device index is not valid or the property is not a string type this function will + * return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing + * null. Strings will always fit in buffers of k_unMaxPropertyStringSize characters. */ + virtual uint32_t GetStringTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, ETrackedPropertyError *pError = 0L ) = 0; + + /** returns a string that corresponds with the specified property error. The string will be the name + * of the error enum value for all valid error codes */ + virtual const char *GetPropErrorNameFromEnum( ETrackedPropertyError error ) = 0; + + // ------------------------------------ + // Event methods + // ------------------------------------ + + /** Returns true and fills the event with the next event on the queue if there is one. If there are no events + * this method returns false. uncbVREvent should be the size in bytes of the VREvent_t struct */ + virtual bool PollNextEvent( VREvent_t *pEvent, uint32_t uncbVREvent ) = 0; + + /** Returns true and fills the event with the next event on the queue if there is one. If there are no events + * this method returns false. Fills in the pose of the associated tracked device in the provided pose struct. + * This pose will always be older than the call to this function and should not be used to render the device. + uncbVREvent should be the size in bytes of the VREvent_t struct */ + virtual bool PollNextEventWithPose( ETrackingUniverseOrigin eOrigin, VREvent_t *pEvent, uint32_t uncbVREvent, vr::TrackedDevicePose_t *pTrackedDevicePose ) = 0; + + /** Returns true and fills the event with the next event on the queue, including any of this user's overlay event queues, + * if there are any. If there are no events this method returns false. uncbVREvent should be the size in bytes of the VREvent_t struct. + * If the event is targeted at a specific overlay, *pulOverlayHandle will be set to the handle, else k_ulOverlayHandleInvalid. + * This method is equivalent to calling both PollNextEventWithPose, and IVROverlay::PollNextOverlayEvent for every overlay you create, + * but is more efficient. You may pass NULL for pTrackedDevicePose if you don't care about poses. You must pass a valid pointer for + * pulOverlayHandle, because otherwise the target for some events (like ButtonPress) would be ambiguous even with one overlay. + * If you call this, you should not call PollNextEvent/WithPose(), since they all share the same read pointer. */ + virtual bool PollNextEventWithPoseAndOverlays( vr::ETrackingUniverseOrigin eOrigin, VREvent_t *pEvent, uint32_t uncbVREvent, TrackedDevicePose_t *pTrackedDevicePose, VROverlayHandle_t *pulOverlayHandle ) = 0; + + /** returns the name of an EVREvent enum value */ + virtual const char *GetEventTypeNameFromEnum( EVREventType eType ) = 0; + + // ------------------------------------ + // Rendering helper methods + // ------------------------------------ + + /** Returns the hidden area mesh for the current HMD. The pixels covered by this mesh will never be seen by the user after the lens distortion is + * applied based on visibility to the panels. If this HMD does not have a hidden area mesh, the vertex data and count will be NULL and 0 respectively. + * This mesh is meant to be rendered into the stencil buffer (or into the depth buffer setting nearz) before rendering each eye's view. + * This will improve performance by letting the GPU early-reject pixels the user will never see before running the pixel shader. + * NOTE: Render this mesh with backface culling disabled since the winding order of the vertices can be different per-HMD or per-eye. + * Setting the bInverse argument to true will produce the visible area mesh that is commonly used in place of full-screen quads. The visible area mesh covers all of the pixels the hidden area mesh does not cover. + * Setting the bLineLoop argument will return a line loop of vertices in HiddenAreaMesh_t->pVertexData with HiddenAreaMesh_t->unTriangleCount set to the number of vertices. + */ + virtual HiddenAreaMesh_t GetHiddenAreaMesh( EVREye eEye, EHiddenAreaMeshType type = k_eHiddenAreaMesh_Standard ) = 0; + + // ------------------------------------ + // Controller methods + // ------------------------------------ + + /** Fills the supplied struct with the current state of the controller. Returns false if the controller index + * is invalid. This function is deprecated in favor of the new IVRInput system. */ + virtual bool GetControllerState( vr::TrackedDeviceIndex_t unControllerDeviceIndex, vr::VRControllerState_t *pControllerState, uint32_t unControllerStateSize ) = 0; + + /** fills the supplied struct with the current state of the controller and the provided pose with the pose of + * the controller when the controller state was updated most recently. Use this form if you need a precise controller + * pose as input to your application when the user presses or releases a button. This function is deprecated in favor of the new IVRInput system. */ + virtual bool GetControllerStateWithPose( ETrackingUniverseOrigin eOrigin, vr::TrackedDeviceIndex_t unControllerDeviceIndex, vr::VRControllerState_t *pControllerState, uint32_t unControllerStateSize, TrackedDevicePose_t *pTrackedDevicePose ) = 0; + + /** Trigger a single haptic pulse on a controller. After this call the application may not trigger another haptic pulse on this controller + * and axis combination for 5ms. This function is deprecated in favor of the new IVRInput system. */ + virtual void TriggerHapticPulse( vr::TrackedDeviceIndex_t unControllerDeviceIndex, uint32_t unAxisId, unsigned short usDurationMicroSec ) = 0; + + /** returns the name of an EVRButtonId enum value. This function is deprecated in favor of the new IVRInput system. */ + virtual const char *GetButtonIdNameFromEnum( EVRButtonId eButtonId ) = 0; + + /** returns the name of an EVRControllerAxisType enum value. This function is deprecated in favor of the new IVRInput system. */ + virtual const char *GetControllerAxisTypeNameFromEnum( EVRControllerAxisType eAxisType ) = 0; + + /** Returns true if this application is receiving input from the system. This would return false if + * system-related functionality is consuming the input stream. */ + virtual bool IsInputAvailable() = 0; + + /** Returns true SteamVR is drawing controllers on top of the application. Applications should consider + * not drawing anything attached to the user's hands in this case. */ + virtual bool IsSteamVRDrawingControllers() = 0; + + /** Returns true if the user has put SteamVR into a mode that is distracting them from the application. + * For applications where this is appropriate, the application should pause ongoing activity. */ + virtual bool ShouldApplicationPause() = 0; + + /** Returns true if SteamVR is doing significant rendering work and the game should do what it can to reduce + * its own workload. One common way to do this is to reduce the size of the render target provided for each eye. */ + virtual bool ShouldApplicationReduceRenderingWork() = 0; + + // ------------------------------------ + // Firmware methods + // ------------------------------------ + + /** Performs the actual firmware update if applicable. + * The following events will be sent, if VRFirmwareError_None was returned: VREvent_FirmwareUpdateStarted, VREvent_FirmwareUpdateFinished + * Use the properties Prop_Firmware_UpdateAvailable_Bool, Prop_Firmware_ManualUpdate_Bool, and Prop_Firmware_ManualUpdateURL_String + * to figure our whether a firmware update is available, and to figure out whether its a manual update + * Prop_Firmware_ManualUpdateURL_String should point to an URL describing the manual update process */ + virtual vr::EVRFirmwareError PerformFirmwareUpdate( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; + + // ------------------------------------ + // Application life cycle methods + // ------------------------------------ + + /** Call this to acknowledge to the system that VREvent_Quit has been received and that the process is exiting. + * This extends the timeout until the process is killed. */ + virtual void AcknowledgeQuit_Exiting() = 0; + + // ------------------------------------- + // App container sandbox methods + // ------------------------------------- + + /** Retrieves a null-terminated, semicolon-delimited list of UTF8 file paths that an application + * must have read access to when running inside of an app container. Returns the number of bytes + * needed to hold the list. */ + virtual uint32_t GetAppContainerFilePaths( VR_OUT_STRING() char *pchBuffer, uint32_t unBufferSize ) = 0; + + // ------------------------------------- + // System methods + // ------------------------------------- + + /** Returns the current version of the SteamVR runtime. The returned string will remain valid until VR_Shutdown is called. + * + * NOTE: Is it not appropriate to use this version to test for the presence of any SteamVR feature. Only use this version + * number for logging or showing to a user, and not to try to detect anything at runtime. When appropriate, feature-specific + * presence information is provided by other APIs. */ + virtual const char *GetRuntimeVersion() = 0; + +}; + +static const char * const IVRSystem_Version = "IVRSystem_023"; + +} + + +// ivrapplications.h + +namespace vr +{ + + /** Used for all errors reported by the IVRApplications interface */ + enum EVRApplicationError + { + VRApplicationError_None = 0, + + VRApplicationError_AppKeyAlreadyExists = 100, // Only one application can use any given key + VRApplicationError_NoManifest = 101, // the running application does not have a manifest + VRApplicationError_NoApplication = 102, // No application is running + VRApplicationError_InvalidIndex = 103, + VRApplicationError_UnknownApplication = 104, // the application could not be found + VRApplicationError_IPCFailed = 105, // An IPC failure caused the request to fail + VRApplicationError_ApplicationAlreadyRunning = 106, + VRApplicationError_InvalidManifest = 107, + VRApplicationError_InvalidApplication = 108, + VRApplicationError_LaunchFailed = 109, // the process didn't start + VRApplicationError_ApplicationAlreadyStarting = 110, // the system was already starting the same application + VRApplicationError_LaunchInProgress = 111, // The system was already starting a different application + VRApplicationError_OldApplicationQuitting = 112, + VRApplicationError_TransitionAborted = 113, + VRApplicationError_IsTemplate = 114, // error when you try to call LaunchApplication() on a template type app (use LaunchTemplateApplication) + VRApplicationError_SteamVRIsExiting = 115, + + VRApplicationError_BufferTooSmall = 200, // The provided buffer was too small to fit the requested data + VRApplicationError_PropertyNotSet = 201, // The requested property was not set + VRApplicationError_UnknownProperty = 202, + VRApplicationError_InvalidParameter = 203, + + VRApplicationError_NotImplemented = 300, // Fcn is not implemented in current interface + }; + + /** The maximum length of an application key */ + static const uint32_t k_unMaxApplicationKeyLength = 128; + + /** these are the properties available on applications. */ + enum EVRApplicationProperty + { + VRApplicationProperty_Name_String = 0, + + VRApplicationProperty_LaunchType_String = 11, + VRApplicationProperty_WorkingDirectory_String = 12, + VRApplicationProperty_BinaryPath_String = 13, + VRApplicationProperty_Arguments_String = 14, + VRApplicationProperty_URL_String = 15, + + VRApplicationProperty_Description_String = 50, + VRApplicationProperty_NewsURL_String = 51, + VRApplicationProperty_ImagePath_String = 52, + VRApplicationProperty_ImagePathCapsule_String = 55, + VRApplicationProperty_Source_String = 53, + VRApplicationProperty_ActionManifestURL_String = 54, + + VRApplicationProperty_IsDashboardOverlay_Bool = 60, + VRApplicationProperty_IsTemplate_Bool = 61, + VRApplicationProperty_IsInstanced_Bool = 62, + VRApplicationProperty_IsInternal_Bool = 63, + VRApplicationProperty_WantsCompositorPauseInStandby_Bool = 64, + VRApplicationProperty_IsHidden_Bool = 65, + + VRApplicationProperty_LastLaunchTime_Uint64 = 70, + }; + + enum EVRSceneApplicationState + { + EVRSceneApplicationState_None = 0, // Scene Application is not running + EVRSceneApplicationState_Starting = 1, // Scene Application is starting + EVRSceneApplicationState_Quitting = 2, // Scene Application is quitting + EVRSceneApplicationState_Running = 3, // Scene Application is running, and submitting frames, a custom skybox, or a visible overlay + EVRSceneApplicationState_Waiting = 4, // Scene Application is running, but not drawing anything + }; + + struct AppOverrideKeys_t + { + const char *pchKey; + const char *pchValue; + }; + + /** Currently recognized mime types */ + static const char * const k_pch_MimeType_HomeApp = "vr/home"; + static const char * const k_pch_MimeType_GameTheater = "vr/game_theater"; + + class IVRApplications + { + public: + + // --------------- Application management --------------- // + + /** Adds an application manifest to the list to load when building the list of installed applications. + * Temporary manifests are not automatically loaded */ + virtual EVRApplicationError AddApplicationManifest( const char *pchApplicationManifestFullPath, bool bTemporary = false ) = 0; + + /** Removes an application manifest from the list to load when building the list of installed applications. */ + virtual EVRApplicationError RemoveApplicationManifest( const char *pchApplicationManifestFullPath ) = 0; + + /** Returns true if an application is installed */ + virtual bool IsApplicationInstalled( const char *pchAppKey ) = 0; + + /** Returns the number of applications available in the list */ + virtual uint32_t GetApplicationCount() = 0; + + /** Returns the key of the specified application. The index is at least 0 and is less than the return + * value of GetApplicationCount(). The buffer should be at least k_unMaxApplicationKeyLength in order to + * fit the key. */ + virtual EVRApplicationError GetApplicationKeyByIndex( uint32_t unApplicationIndex, VR_OUT_STRING() char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; + + /** Returns the key of the application for the specified Process Id. The buffer should be at least + * k_unMaxApplicationKeyLength in order to fit the key. */ + virtual EVRApplicationError GetApplicationKeyByProcessId( uint32_t unProcessId, VR_OUT_STRING() char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; + + /** Launches the application. The existing scene application will exit and then the new application will start. + * This call is not valid for dashboard overlay applications. */ + virtual EVRApplicationError LaunchApplication( const char *pchAppKey ) = 0; + + /** Launches an instance of an application of type template, with its app key being pchNewAppKey (which must be unique) and optionally override sections + * from the manifest file via AppOverrideKeys_t + */ + virtual EVRApplicationError LaunchTemplateApplication( const char *pchTemplateAppKey, const char *pchNewAppKey, VR_ARRAY_COUNT( unKeys ) const AppOverrideKeys_t *pKeys, uint32_t unKeys ) = 0; + + /** launches the application currently associated with this mime type and passes it the option args, typically the filename or object name of the item being launched */ + virtual vr::EVRApplicationError LaunchApplicationFromMimeType( const char *pchMimeType, const char *pchArgs ) = 0; + + /** Launches the dashboard overlay application if it is not already running. This call is only valid for + * dashboard overlay applications. */ + virtual EVRApplicationError LaunchDashboardOverlay( const char *pchAppKey ) = 0; + + /** Cancel a pending launch for an application */ + virtual bool CancelApplicationLaunch( const char *pchAppKey ) = 0; + + /** Identifies a running application. OpenVR can't always tell which process started in response + * to a URL. This function allows a URL handler (or the process itself) to identify the app key + * for the now running application. Passing a process ID of 0 identifies the calling process. + * The application must be one that's known to the system via a call to AddApplicationManifest. */ + virtual EVRApplicationError IdentifyApplication( uint32_t unProcessId, const char *pchAppKey ) = 0; + + /** Returns the process ID for an application. Return 0 if the application was not found or is not running. */ + virtual uint32_t GetApplicationProcessId( const char *pchAppKey ) = 0; + + /** Returns a string for an applications error */ + virtual const char *GetApplicationsErrorNameFromEnum( EVRApplicationError error ) = 0; + + // --------------- Application properties --------------- // + + /** Returns a value for an application property. The required buffer size to fit this value will be returned. */ + virtual uint32_t GetApplicationPropertyString( const char *pchAppKey, EVRApplicationProperty eProperty, VR_OUT_STRING() char *pchPropertyValueBuffer, uint32_t unPropertyValueBufferLen, EVRApplicationError *peError = nullptr ) = 0; + + /** Returns a bool value for an application property. Returns false in all error cases. */ + virtual bool GetApplicationPropertyBool( const char *pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError *peError = nullptr ) = 0; + + /** Returns a uint64 value for an application property. Returns 0 in all error cases. */ + virtual uint64_t GetApplicationPropertyUint64( const char *pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError *peError = nullptr ) = 0; + + /** Sets the application auto-launch flag. This is only valid for applications which return true for VRApplicationProperty_IsDashboardOverlay_Bool. */ + virtual EVRApplicationError SetApplicationAutoLaunch( const char *pchAppKey, bool bAutoLaunch ) = 0; + + /** Gets the application auto-launch flag. This is only valid for applications which return true for VRApplicationProperty_IsDashboardOverlay_Bool. */ + virtual bool GetApplicationAutoLaunch( const char *pchAppKey ) = 0; + + /** Adds this mime-type to the list of supported mime types for this application*/ + virtual EVRApplicationError SetDefaultApplicationForMimeType( const char *pchAppKey, const char *pchMimeType ) = 0; + + /** return the app key that will open this mime type */ + virtual bool GetDefaultApplicationForMimeType( const char *pchMimeType, VR_OUT_STRING() char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; + + /** Get the list of supported mime types for this application, comma-delimited */ + virtual bool GetApplicationSupportedMimeTypes( const char *pchAppKey, VR_OUT_STRING() char *pchMimeTypesBuffer, uint32_t unMimeTypesBuffer ) = 0; + + /** Get the list of app-keys that support this mime type, comma-delimited, the return value is number of bytes you need to return the full string */ + virtual uint32_t GetApplicationsThatSupportMimeType( const char *pchMimeType, VR_OUT_STRING() char *pchAppKeysThatSupportBuffer, uint32_t unAppKeysThatSupportBuffer ) = 0; + + /** Get the args list from an app launch that had the process already running, you call this when you get a VREvent_ApplicationMimeTypeLoad */ + virtual uint32_t GetApplicationLaunchArguments( uint32_t unHandle, VR_OUT_STRING() char *pchArgs, uint32_t unArgs ) = 0; + + // --------------- Transition methods --------------- // + + /** Returns the app key for the application that is starting up */ + virtual EVRApplicationError GetStartingApplication( VR_OUT_STRING() char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; + + /** Returns the application transition state */ + virtual EVRSceneApplicationState GetSceneApplicationState() = 0; + + /** Returns errors that would prevent the specified application from launching immediately. Calling this function will + * cause the current scene application to quit, so only call it when you are actually about to launch something else. + * What the caller should do about these failures depends on the failure: + * VRApplicationError_OldApplicationQuitting - An existing application has been told to quit. Wait for a VREvent_ProcessQuit + * and try again. + * VRApplicationError_ApplicationAlreadyStarting - This application is already starting. This is a permanent failure. + * VRApplicationError_LaunchInProgress - A different application is already starting. This is a permanent failure. + * VRApplicationError_None - Go ahead and launch. Everything is clear. + */ + virtual EVRApplicationError PerformApplicationPrelaunchCheck( const char *pchAppKey ) = 0; + + /** Returns a string for an application transition state */ + virtual const char *GetSceneApplicationStateNameFromEnum( EVRSceneApplicationState state ) = 0; + + /** Starts a subprocess within the calling application. This + * suppresses all application transition UI and automatically identifies the new executable + * as part of the same application. On success the calling process should exit immediately. + * If working directory is NULL or "" the directory portion of the binary path will be + * the working directory. */ + virtual EVRApplicationError LaunchInternalProcess( const char *pchBinaryPath, const char *pchArguments, const char *pchWorkingDirectory ) = 0; + + /** Returns the current scene process ID according to the application system. A scene process will get scene + * focus once it starts rendering, but it will appear here once it calls VR_Init with the Scene application + * type. */ + virtual uint32_t GetCurrentSceneProcessId() = 0; + }; + + static const char * const IVRApplications_Version = "IVRApplications_007"; + +} // namespace vr + +// ivrsettings.h + +#ifndef OPENVR_NO_STL +#include +#endif + +namespace vr +{ + enum EVRSettingsError + { + VRSettingsError_None = 0, + VRSettingsError_IPCFailed = 1, + VRSettingsError_WriteFailed = 2, + VRSettingsError_ReadFailed = 3, + VRSettingsError_JsonParseFailed = 4, + VRSettingsError_UnsetSettingHasNoDefault = 5, // This will be returned if the setting does not appear in the appropriate default file and has not been set + VRSettingsError_AccessDenied = 6, + }; + + // The maximum length of a settings key + static const uint32_t k_unMaxSettingsKeyLength = 128; + + class IVRSettings + { + public: + virtual const char *GetSettingsErrorNameFromEnum( EVRSettingsError eError ) = 0; + + virtual void SetBool( const char *pchSection, const char *pchSettingsKey, bool bValue, EVRSettingsError *peError = nullptr ) = 0; + virtual void SetInt32( const char *pchSection, const char *pchSettingsKey, int32_t nValue, EVRSettingsError *peError = nullptr ) = 0; + virtual void SetFloat( const char *pchSection, const char *pchSettingsKey, float flValue, EVRSettingsError *peError = nullptr ) = 0; + virtual void SetString( const char *pchSection, const char *pchSettingsKey, const char *pchValue, EVRSettingsError *peError = nullptr ) = 0; + + // Users of the system need to provide a proper default in default.vrsettings in the resources/settings/ directory + // of either the runtime or the driver_xxx directory. Otherwise the default will be false, 0, 0.0 or "" + virtual bool GetBool( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; + virtual int32_t GetInt32( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; + virtual float GetFloat( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; + virtual void GetString( const char *pchSection, const char *pchSettingsKey, VR_OUT_STRING() char *pchValue, uint32_t unValueLen, EVRSettingsError *peError = nullptr ) = 0; + + virtual void RemoveSection( const char *pchSection, EVRSettingsError *peError = nullptr ) = 0; + virtual void RemoveKeyInSection( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; + }; + + //----------------------------------------------------------------------------- + static const char * const IVRSettings_Version = "IVRSettings_003"; + + class CVRSettingHelper + { + IVRSettings *m_pSettings; + public: + CVRSettingHelper( IVRSettings *pSettings ) + { + m_pSettings = pSettings; + } + + const char *GetSettingsErrorNameFromEnum( EVRSettingsError eError ) + { + return m_pSettings->GetSettingsErrorNameFromEnum( eError ); + } + + void SetBool( const char *pchSection, const char *pchSettingsKey, bool bValue, EVRSettingsError *peError = nullptr ) + { + m_pSettings->SetBool( pchSection, pchSettingsKey, bValue, peError ); + } + + void SetInt32( const char *pchSection, const char *pchSettingsKey, int32_t nValue, EVRSettingsError *peError = nullptr ) + { + m_pSettings->SetInt32( pchSection, pchSettingsKey, nValue, peError ); + } + void SetFloat( const char *pchSection, const char *pchSettingsKey, float flValue, EVRSettingsError *peError = nullptr ) + { + m_pSettings->SetFloat( pchSection, pchSettingsKey, flValue, peError ); + } + void SetString( const char *pchSection, const char *pchSettingsKey, const char *pchValue, EVRSettingsError *peError = nullptr ) + { + m_pSettings->SetString( pchSection, pchSettingsKey, pchValue, peError ); + } +#ifndef OPENVR_NO_STL + void SetString( const std::string & sSection, const std::string & sSettingsKey, const std::string & sValue, EVRSettingsError *peError = nullptr ) + { + m_pSettings->SetString( sSection.c_str(), sSettingsKey.c_str(), sValue.c_str(), peError ); + } +#endif + + bool GetBool( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) + { + return m_pSettings->GetBool( pchSection, pchSettingsKey, peError ); + } + int32_t GetInt32( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) + { + return m_pSettings->GetInt32( pchSection, pchSettingsKey, peError ); + } + float GetFloat( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) + { + return m_pSettings->GetFloat( pchSection, pchSettingsKey, peError ); + } + void GetString( const char *pchSection, const char *pchSettingsKey, VR_OUT_STRING() char *pchValue, uint32_t unValueLen, EVRSettingsError *peError = nullptr ) + { + m_pSettings->GetString( pchSection, pchSettingsKey, pchValue, unValueLen, peError ); + } +#ifndef OPENVR_NO_STL + std::string GetString( const std::string & sSection, const std::string & sSettingsKey, EVRSettingsError *peError = nullptr ) + { + char buf[4096]; + vr::EVRSettingsError eError; + m_pSettings->GetString( sSection.c_str(), sSettingsKey.c_str(), buf, sizeof( buf ), &eError ); + if ( peError ) + *peError = eError; + if ( eError == vr::VRSettingsError_None ) + return buf; + else + return ""; + } +#endif + + void RemoveSection( const char *pchSection, EVRSettingsError *peError = nullptr ) + { + m_pSettings->RemoveSection( pchSection, peError ); + } + void RemoveKeyInSection( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) + { + m_pSettings->RemoveKeyInSection( pchSection, pchSettingsKey, peError ); + } + }; + + + //----------------------------------------------------------------------------- + // steamvr keys + static const char * const k_pch_SteamVR_Section = "steamvr"; + static const char * const k_pch_SteamVR_RequireHmd_String = "requireHmd"; + static const char * const k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver"; + static const char * const k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd"; + static const char * const k_pch_SteamVR_DisplayDebug_Bool = "displayDebug"; + static const char * const k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe"; + static const char * const k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX"; + static const char * const k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY"; + static const char * const k_pch_SteamVR_SendSystemButtonToAllApps_Bool= "sendSystemButtonToAllApps"; + static const char * const k_pch_SteamVR_LogLevel_Int32 = "loglevel"; + static const char * const k_pch_SteamVR_IPD_Float = "ipd"; + static const char * const k_pch_SteamVR_Background_String = "background"; + static const char * const k_pch_SteamVR_BackgroundUseDomeProjection_Bool = "backgroundUseDomeProjection"; + static const char * const k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight"; + static const char * const k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius"; + static const char * const k_pch_SteamVR_GridColor_String = "gridColor"; + static const char * const k_pch_SteamVR_PlayAreaColor_String = "playAreaColor"; + static const char * const k_pch_SteamVR_TrackingLossColor_String = "trackingLossColor"; + static const char * const k_pch_SteamVR_ShowStage_Bool = "showStage"; + static const char * const k_pch_SteamVR_DrawTrackingReferences_Bool = "drawTrackingReferences"; + static const char * const k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers"; + static const char * const k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; + static const char * const k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; + static const char * const k_pch_SteamVR_BaseStationPowerManagement_Int32 = "basestationPowerManagement"; + static const char * const k_pch_SteamVR_ShowBaseStationPowerManagementTip_Int32 = "ShowBaseStationPowerManagementTip"; + static const char * const k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; + static const char * const k_pch_SteamVR_SupersampleScale_Float = "supersampleScale"; + static const char * const k_pch_SteamVR_MaxRecommendedResolution_Int32 = "maxRecommendedResolution"; + static const char * const k_pch_SteamVR_MotionSmoothing_Bool = "motionSmoothing"; + static const char * const k_pch_SteamVR_MotionSmoothingOverride_Int32 = "motionSmoothingOverride"; + static const char * const k_pch_SteamVR_FramesToThrottle_Int32 = "framesToThrottle"; + static const char * const k_pch_SteamVR_AdditionalFramesToPredict_Int32 = "additionalFramesToPredict"; + static const char * const k_pch_SteamVR_WorldScale_Float = "worldScale"; + static const char * const k_pch_SteamVR_FovScale_Int32 = "fovScale"; + static const char * const k_pch_SteamVR_FovScaleInner_Int32 = "fovScaleInner"; + static const char * const k_pch_SteamVR_FovScaleUpper_Int32 = "fovScaleUpper"; + static const char * const k_pch_SteamVR_FovScaleLower_Int32 = "fovScaleLower"; + static const char * const k_pch_SteamVR_FovScaleFormat_Int32 = "fovScaleFormat"; + static const char * const k_pch_SteamVR_FovScaleLetterboxed_Bool = "fovScaleLetterboxed"; + static const char * const k_pch_SteamVR_DisableAsyncReprojection_Bool = "disableAsync"; + static const char * const k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; + static const char * const k_pch_SteamVR_DefaultMirrorView_Int32 = "mirrorView"; + static const char * const k_pch_SteamVR_ShowLegacyMirrorView_Bool = "showLegacyMirrorView"; + static const char * const k_pch_SteamVR_MirrorViewVisibility_Bool = "showMirrorView"; + static const char * const k_pch_SteamVR_MirrorViewDisplayMode_Int32 = "mirrorViewDisplayMode"; + static const char * const k_pch_SteamVR_MirrorViewEye_Int32 = "mirrorViewEye"; + static const char * const k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometry"; + static const char * const k_pch_SteamVR_MirrorViewGeometryMaximized_String = "mirrorViewGeometryMaximized"; + static const char * const k_pch_SteamVR_PerfGraphVisibility_Bool = "showPerfGraph"; + static const char * const k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromAppLaunch"; + static const char * const k_pch_SteamVR_StartCompositorFromAppLaunch_Bool = "startCompositorFromAppLaunch"; + static const char * const k_pch_SteamVR_StartDashboardFromAppLaunch_Bool = "startDashboardFromAppLaunch"; + static const char * const k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool = "startOverlayAppsFromDashboard"; + static const char * const k_pch_SteamVR_EnableHomeApp = "enableHomeApp"; + static const char * const k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBackgroundImageTimeSec"; + static const char * const k_pch_SteamVR_RetailDemo_Bool = "retailDemo"; + static const char * const k_pch_SteamVR_IpdOffset_Float = "ipdOffset"; + static const char * const k_pch_SteamVR_AllowSupersampleFiltering_Bool = "allowSupersampleFiltering"; + static const char * const k_pch_SteamVR_SupersampleManualOverride_Bool = "supersampleManualOverride"; + static const char * const k_pch_SteamVR_EnableLinuxVulkanAsync_Bool = "enableLinuxVulkanAsync"; + static const char * const k_pch_SteamVR_AllowDisplayLockedMode_Bool = "allowDisplayLockedMode"; + static const char * const k_pch_SteamVR_HaveStartedTutorialForNativeChaperoneDriver_Bool = "haveStartedTutorialForNativeChaperoneDriver"; + static const char * const k_pch_SteamVR_DebugInputBinding = "debugInputBinding"; + static const char * const k_pch_SteamVR_DoNotFadeToGrid = "doNotFadeToGrid"; + static const char * const k_pch_SteamVR_EnableSharedResourceJournaling = "enableSharedResourceJournaling"; + static const char * const k_pch_SteamVR_EnableSafeMode = "enableSafeMode"; + static const char * const k_pch_SteamVR_PreferredRefreshRate = "preferredRefreshRate"; + static const char * const k_pch_SteamVR_LastVersionNotice = "lastVersionNotice"; + static const char * const k_pch_SteamVR_LastVersionNoticeDate = "lastVersionNoticeDate"; + static const char * const k_pch_SteamVR_HmdDisplayColorGainR_Float = "hmdDisplayColorGainR"; + static const char * const k_pch_SteamVR_HmdDisplayColorGainG_Float = "hmdDisplayColorGainG"; + static const char * const k_pch_SteamVR_HmdDisplayColorGainB_Float = "hmdDisplayColorGainB"; + static const char * const k_pch_SteamVR_CustomIconStyle_String = "customIconStyle"; + static const char * const k_pch_SteamVR_CustomOffIconStyle_String = "customOffIconStyle"; + static const char * const k_pch_SteamVR_CustomIconForceUpdate_String = "customIconForceUpdate"; + static const char * const k_pch_SteamVR_AllowGlobalActionSetPriority = "globalActionSetPriority"; + static const char * const k_pch_SteamVR_OverlayRenderQuality = "overlayRenderQuality_2"; + static const char * const k_pch_SteamVR_BlockOculusSDKOnOpenVRLaunchOption_Bool = "blockOculusSDKOnOpenVRLaunchOption"; + static const char * const k_pch_SteamVR_BlockOculusSDKOnAllLaunches_Bool = "blockOculusSDKOnAllLaunches"; + static const char * const k_pch_SteamVR_HDCPLegacyCompatibility_Bool = "hdcp14legacyCompatibility"; + static const char * const k_pch_SteamVR_DisplayPortTrainingMode_Int = "displayPortTrainingMode"; + static const char * const k_pch_SteamVR_UsePrism_Bool = "usePrism"; + static const char * const k_pch_SteamVR_AllowFallbackMirrorWindowLinux_Bool = "allowFallbackMirrorWindowLinux"; + static const char * const k_pch_SteamVR_DisableKeyboardPrivacy_Bool = "disableKeyboardPrivacy"; + + //----------------------------------------------------------------------------- + // openxr keys + static const char * const k_pch_OpenXR_Section = "openxr"; + static const char * const k_pch_OpenXR_MetaUnityPluginCompatibility_Int32 = "metaUnityPluginCompatibility"; + + //----------------------------------------------------------------------------- + // direct mode keys + static const char * const k_pch_DirectMode_Section = "direct_mode"; + static const char * const k_pch_DirectMode_Enable_Bool = "enable"; + static const char * const k_pch_DirectMode_Count_Int32 = "count"; + static const char * const k_pch_DirectMode_EdidVid_Int32 = "edidVid"; + static const char * const k_pch_DirectMode_EdidPid_Int32 = "edidPid"; + + //----------------------------------------------------------------------------- + // lighthouse keys + static const char * const k_pch_Lighthouse_Section = "driver_lighthouse"; + static const char * const k_pch_Lighthouse_DisableIMU_Bool = "disableimu"; + static const char * const k_pch_Lighthouse_DisableIMUExceptHMD_Bool = "disableimuexcepthmd"; + static const char * const k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation"; + static const char * const k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug"; + static const char * const k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation"; + static const char * const k_pch_Lighthouse_DBHistory_Bool = "dbhistory"; + static const char * const k_pch_Lighthouse_EnableBluetooth_Bool = "enableBluetooth"; + static const char * const k_pch_Lighthouse_PowerManagedBaseStations_String = "PowerManagedBaseStations"; + static const char * const k_pch_Lighthouse_PowerManagedBaseStations2_String = "PowerManagedBaseStations2"; + static const char * const k_pch_Lighthouse_InactivityTimeoutForBaseStations_Int32 = "InactivityTimeoutForBaseStations"; + static const char * const k_pch_Lighthouse_EnableImuFallback_Bool = "enableImuFallback"; + + //----------------------------------------------------------------------------- + // null keys + static const char * const k_pch_Null_Section = "driver_null"; + static const char * const k_pch_Null_SerialNumber_String = "serialNumber"; + static const char * const k_pch_Null_ModelNumber_String = "modelNumber"; + static const char * const k_pch_Null_WindowX_Int32 = "windowX"; + static const char * const k_pch_Null_WindowY_Int32 = "windowY"; + static const char * const k_pch_Null_WindowWidth_Int32 = "windowWidth"; + static const char * const k_pch_Null_WindowHeight_Int32 = "windowHeight"; + static const char * const k_pch_Null_RenderWidth_Int32 = "renderWidth"; + static const char * const k_pch_Null_RenderHeight_Int32 = "renderHeight"; + static const char * const k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons"; + static const char * const k_pch_Null_DisplayFrequency_Float = "displayFrequency"; + + //----------------------------------------------------------------------------- + // Windows MR keys + static const char * const k_pch_WindowsMR_Section = "driver_holographic"; + + //----------------------------------------------------------------------------- + // user interface keys + static const char * const k_pch_UserInterface_Section = "userinterface"; + static const char * const k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop"; + static const char * const k_pch_UserInterface_MinimizeToTray_Bool = "MinimizeToTray"; + static const char * const k_pch_UserInterface_HidePopupsWhenStatusMinimized_Bool = "HidePopupsWhenStatusMinimized"; + static const char * const k_pch_UserInterface_Screenshots_Bool = "screenshots"; + static const char * const k_pch_UserInterface_ScreenshotType_Int = "screenshotType"; + static const char * const k_pch_UserInterface_CheckStatusInterval_Int = "vrmStatusCheckInterval"; + static const char * const k_pch_UserInterface_CheckForSteam_Bool = "vrmCheckForSteam"; + + //----------------------------------------------------------------------------- + // notification keys + static const char * const k_pch_Notifications_Section = "notifications"; + static const char * const k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb"; + + //----------------------------------------------------------------------------- + // keyboard keys + static const char * const k_pch_Keyboard_Section = "keyboard"; + static const char * const k_pch_Keyboard_TutorialCompletions = "TutorialCompletions"; + static const char * const k_pch_Keyboard_ScaleX = "ScaleX"; + static const char * const k_pch_Keyboard_ScaleY = "ScaleY"; + static const char * const k_pch_Keyboard_OffsetLeftX = "OffsetLeftX"; + static const char * const k_pch_Keyboard_OffsetRightX = "OffsetRightX"; + static const char * const k_pch_Keyboard_OffsetY = "OffsetY"; + static const char * const k_pch_Keyboard_Smoothing = "Smoothing"; + + //----------------------------------------------------------------------------- + // perf keys + static const char * const k_pch_Perf_Section = "perfcheck"; + static const char * const k_pch_Perf_PerfGraphInHMD_Bool = "perfGraphInHMD"; + static const char * const k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore"; + static const char * const k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit"; + static const char * const k_pch_Perf_TestData_Float = "perfTestData"; + static const char * const k_pch_Perf_GPUProfiling_Bool = "GPUProfiling"; + static const char * const k_pch_Perf_GpuBusMonitoring_Bool = "gpuBusMonitoring"; + + //----------------------------------------------------------------------------- + // collision bounds keys + static const char * const k_pch_CollisionBounds_Section = "collisionBounds"; + static const char * const k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle"; + static const char * const k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn"; + static const char * const k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn"; + static const char * const k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn"; + static const char * const k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance"; + static const char * const k_pch_CollisionBounds_WallHeight_Float = "CollisionBoundsWallHeight"; + static const char * const k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR"; + static const char * const k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG"; + static const char * const k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB"; + static const char * const k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA"; + static const char * const k_pch_CollisionBounds_EnableDriverImport = "enableDriverBoundsImport"; + + //----------------------------------------------------------------------------- + // camera keys + static const char * const k_pch_Camera_Section = "camera"; + static const char * const k_pch_Camera_EnableCamera_Bool = "enableCamera"; + static const char * const k_pch_Camera_ShowOnController_Bool = "showOnController"; + static const char * const k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds"; + static const char * const k_pch_Camera_RoomView_Int32 = "roomView"; + static const char * const k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR"; + static const char * const k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG"; + static const char * const k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB"; + static const char * const k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA"; + static const char * const k_pch_Camera_BoundsStrength_Int32 = "cameraBoundsStrength"; + static const char * const k_pch_Camera_RoomViewStyle_Int32 = "roomViewStyle"; + + //----------------------------------------------------------------------------- + // audio keys + static const char * const k_pch_audio_Section = "audio"; + static const char * const k_pch_audio_SetOsDefaultPlaybackDevice_Bool = "setOsDefaultPlaybackDevice"; + static const char * const k_pch_audio_EnablePlaybackDeviceOverride_Bool = "enablePlaybackDeviceOverride"; + static const char * const k_pch_audio_PlaybackDeviceOverride_String = "playbackDeviceOverride"; + static const char * const k_pch_audio_PlaybackDeviceOverrideName_String = "playbackDeviceOverrideName"; + static const char * const k_pch_audio_SetOsDefaultRecordingDevice_Bool = "setOsDefaultRecordingDevice"; + static const char * const k_pch_audio_EnableRecordingDeviceOverride_Bool = "enableRecordingDeviceOverride"; + static const char * const k_pch_audio_RecordingDeviceOverride_String = "recordingDeviceOverride"; + static const char * const k_pch_audio_RecordingDeviceOverrideName_String = "recordingDeviceOverrideName"; + static const char * const k_pch_audio_EnablePlaybackMirror_Bool = "enablePlaybackMirror"; + static const char * const k_pch_audio_PlaybackMirrorDevice_String = "playbackMirrorDevice"; + static const char * const k_pch_audio_PlaybackMirrorDeviceName_String = "playbackMirrorDeviceName"; + static const char * const k_pch_audio_OldPlaybackMirrorDevice_String = "onPlaybackMirrorDevice"; + static const char * const k_pch_audio_ActiveMirrorDevice_String = "activePlaybackMirrorDevice"; + static const char * const k_pch_audio_EnablePlaybackMirrorIndependentVolume_Bool = "enablePlaybackMirrorIndependentVolume"; + static const char * const k_pch_audio_LastHmdPlaybackDeviceId_String = "lastHmdPlaybackDeviceId"; + static const char * const k_pch_audio_VIVEHDMIGain = "viveHDMIGain"; + static const char * const k_pch_audio_DualSpeakerAndJackOutput_Bool = "dualSpeakerAndJackOutput"; + static const char * const k_pch_audio_MuteMicMonitor_Bool = "muteMicMonitor"; + + //----------------------------------------------------------------------------- + // power management keys + static const char * const k_pch_Power_Section = "power"; + static const char * const k_pch_Power_PowerOffOnExit_Bool = "powerOffOnExit"; + static const char * const k_pch_Power_TurnOffScreensTimeout_Float = "turnOffScreensTimeout"; + static const char * const k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout"; + static const char * const k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout"; + static const char * const k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress"; + static const char * const k_pch_Power_PauseCompositorOnStandby_Bool = "pauseCompositorOnStandby"; + + //----------------------------------------------------------------------------- + // dashboard keys + static const char * const k_pch_Dashboard_Section = "dashboard"; + static const char * const k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard"; + static const char * const k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode"; + static const char * const k_pch_Dashboard_Position = "position"; + static const char * const k_pch_Dashboard_DesktopScale = "desktopScale"; + static const char * const k_pch_Dashboard_DashboardScale = "dashboardScale"; + static const char * const k_pch_Dashboard_UseStandaloneSystemLayer = "standaloneSystemLayer"; + static const char * const k_pch_Dashboard_AllowSteamOverlays_Bool = "allowSteamOverlays"; + static const char * const k_pch_Dashboard_AllowVRGamepadUI_Bool = "allowVRGamepadUI"; + static const char * const k_pch_Dashboard_AllowVRGamepadUIViaGamescope_Bool = "allowVRGamepadUIViaGamescope"; + static const char * const k_pch_Dashboard_SteamMatchesHMDFramerate = "steamMatchesHMDFramerate"; + static const char * const k_pch_Dashboard_GrabHandleAcceleration = "grabHandleAcceleration"; + + //----------------------------------------------------------------------------- + // model skin keys + static const char * const k_pch_modelskin_Section = "modelskins"; + + //----------------------------------------------------------------------------- + // driver keys - These could be checked in any driver_ section + static const char * const k_pch_Driver_Enable_Bool = "enable"; + static const char * const k_pch_Driver_BlockedBySafemode_Bool = "blocked_by_safe_mode"; + static const char * const k_pch_Driver_LoadPriority_Int32 = "loadPriority"; + static const char * const k_pch_Driver_Hmd_AllowsClientToControlTextureIndex_Bool = "hmdAllowsClientToControlTextureIndex"; + static const char * const k_pch_Driver_ForceSystemLayerUseAppPoses_Bool = "forceSystemLayerUseAppPoses"; + + //----------------------------------------------------------------------------- + // web interface keys + static const char* const k_pch_WebInterface_Section = "WebInterface"; + + //----------------------------------------------------------------------------- + // vrwebhelper keys + static const char* const k_pch_VRWebHelper_Section = "VRWebHelper"; + static const char* const k_pch_VRWebHelper_DebuggerEnabled_Bool = "DebuggerEnabled"; + static const char* const k_pch_VRWebHelper_DebuggerPort_Int32 = "DebuggerPort"; + + //----------------------------------------------------------------------------- + // tracking overrides - keys are device paths, values are the device paths their + // tracking/pose information overrides + static const char* const k_pch_TrackingOverride_Section = "TrackingOverrides"; + + //----------------------------------------------------------------------------- + // per-app keys - the section name for these is the app key itself. Some of these are prefixed by the controller type + static const char* const k_pch_App_BindingAutosaveURLSuffix_String = "AutosaveURL"; + static const char* const k_pch_App_BindingLegacyAPISuffix_String = "_legacy"; + static const char *const k_pch_App_BindingSteamVRInputAPISuffix_String = "_steamvrinput"; + static const char *const k_pch_App_BindingOpenXRAPISuffix_String = "_openxr"; + static const char* const k_pch_App_BindingCurrentURLSuffix_String = "CurrentURL"; + static const char* const k_pch_App_BindingPreviousURLSuffix_String = "PreviousURL"; + static const char* const k_pch_App_NeedToUpdateAutosaveSuffix_Bool = "NeedToUpdateAutosave"; + static const char* const k_pch_App_DominantHand_Int32 = "DominantHand"; + static const char* const k_pch_App_BlockOculusSDK_Bool = "blockOculusSDK"; + + //----------------------------------------------------------------------------- + // configuration for trackers + static const char * const k_pch_Trackers_Section = "trackers"; + + //----------------------------------------------------------------------------- + // configuration for desktop UI windows + static const char * const k_pch_DesktopUI_Section = "DesktopUI"; + + //----------------------------------------------------------------------------- + // Last known keys for righting recovery + static const char * const k_pch_LastKnown_Section = "LastKnown"; + static const char* const k_pch_LastKnown_HMDManufacturer_String = "HMDManufacturer"; + static const char *const k_pch_LastKnown_HMDModel_String = "HMDModel"; + static const char* const k_pch_LastKnown_ActualHMDDriver_String = "ActualHMDDriver"; + static const char* const k_pch_LastKnown_HMDSerialNumber_String = "HMDSerialNumber"; + static const char* const k_pch_LastKnown_HMDRemoteClientID_String = "RemoteClientID"; // uint64 in string + + //----------------------------------------------------------------------------- + // Dismissed warnings + static const char * const k_pch_DismissedWarnings_Section = "DismissedWarnings"; + + //----------------------------------------------------------------------------- + // Input Settings + static const char * const k_pch_Input_Section = "input"; + static const char* const k_pch_Input_LeftThumbstickRotation_Float = "leftThumbstickRotation"; + static const char* const k_pch_Input_RightThumbstickRotation_Float = "rightThumbstickRotation"; + static const char* const k_pch_Input_ThumbstickDeadzone_Float = "thumbstickDeadzone"; + + //----------------------------------------------------------------------------- + // Log of GPU performance + static const char * const k_pch_GpuSpeed_Section = "GpuSpeed"; + + //----------------------------------------------------------------------------- + // OpenXR Render Model Extension keys + static const char *const k_pch_XRRenderModelCache_Section = "XRRenderModelUuidCache"; + +} // namespace vr + +// ivrchaperone.h + +namespace vr +{ + +#pragma pack( push, 8 ) + +enum ChaperoneCalibrationState +{ + // OK! + ChaperoneCalibrationState_OK = 1, // Chaperone is fully calibrated and working correctly + + // Warnings + ChaperoneCalibrationState_Warning = 100, + ChaperoneCalibrationState_Warning_BaseStationMayHaveMoved = 101, // A base station thinks that it might have moved + ChaperoneCalibrationState_Warning_BaseStationRemoved = 102, // There are less base stations than when calibrated + ChaperoneCalibrationState_Warning_SeatedBoundsInvalid = 103, // Seated bounds haven't been calibrated for the current tracking center + + // Errors + ChaperoneCalibrationState_Error = 200, // The UniverseID is invalid + ChaperoneCalibrationState_Error_BaseStationUninitialized = 201, // Tracking center hasn't be calibrated for at least one of the base stations + ChaperoneCalibrationState_Error_BaseStationConflict = 202, // Tracking center is calibrated, but base stations disagree on the tracking space + ChaperoneCalibrationState_Error_PlayAreaInvalid = 203, // Play Area hasn't been calibrated for the current tracking center + ChaperoneCalibrationState_Error_CollisionBoundsInvalid = 204, // Collision Bounds haven't been calibrated for the current tracking center +}; + + +/** HIGH LEVEL TRACKING SPACE ASSUMPTIONS: +* 0,0,0 is the preferred standing area center. +* 0Y is the floor height. +* -Z is the preferred forward facing direction. */ +class IVRChaperone +{ +public: + + /** Get the current state of Chaperone calibration. This state can change at any time during a session due to physical base station changes. **/ + virtual ChaperoneCalibrationState GetCalibrationState() = 0; + + /** Returns the width and depth of the Play Area (formerly named Soft Bounds) in X and Z. + * Tracking space center (0,0,0) is the center of the Play Area. **/ + virtual bool GetPlayAreaSize( float *pSizeX, float *pSizeZ ) = 0; + + /** Returns a quad describing the Play Area (formerly named Soft Bounds). + * The corners form a rectangle. + * Corners are in counter-clockwise order, starting at the front-right. + * The positions are given relative to the standing origin. + * The center of the rectangle is the center of the user's calibrated play space, not necessarily the standing + * origin. + * The Play Area's forward direction goes from its center through the mid-point of a line drawn between the + * first and second corner. + * The quad lies on the XZ plane (height = 0y), with 2 sides parallel to the X-axis and two sides parallel + * to the Z-axis of the user's calibrated Play Area. **/ + virtual bool GetPlayAreaRect( HmdQuad_t *rect ) = 0; + + /** Reload Chaperone data from the .vrchap file on disk. */ + virtual void ReloadInfo( void ) = 0; + + /** Optionally give the chaperone system a hit about the color and brightness in the scene **/ + virtual void SetSceneColor( HmdColor_t color ) = 0; + + /** Get the current chaperone bounds draw color and brightness **/ + virtual void GetBoundsColor( HmdColor_t *pOutputColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, HmdColor_t *pOutputCameraColor ) = 0; + + /** Determine whether the bounds are showing right now **/ + virtual bool AreBoundsVisible() = 0; + + /** Force the bounds to show, mostly for utilities **/ + virtual void ForceBoundsVisible( bool bForce ) = 0; + + /** Sets the zero pose for the given tracker coordinate system to the current position and yaw of the HMD. After + * ResetZeroPose all GetDeviceToAbsoluteTrackingPose calls as the origin will be relative to this new zero pose. + * The new zero coordinate system will not change the fact that the Y axis is up in the real world, so the next + * pose returned from GetDeviceToAbsoluteTrackingPose after a call to ResetZeroPose may not be exactly an + * identity matrix. + * + * NOTE: This function overrides the user's previously saved zero pose and should only be called as the result of a user action. + * Users are also able to set their zero pose via the OpenVR Dashboard. + **/ + virtual void ResetZeroPose( ETrackingUniverseOrigin eTrackingUniverseOrigin ) = 0; +}; + +static const char * const IVRChaperone_Version = "IVRChaperone_004"; + +#pragma pack( pop ) + +} + +// ivrchaperonesetup.h + +namespace vr +{ + +enum EChaperoneConfigFile +{ + EChaperoneConfigFile_Live = 1, // The live chaperone config, used by most applications and games + EChaperoneConfigFile_Temp = 2, // The temporary chaperone config, used to live-preview collision bounds in room setup +}; + +enum EChaperoneImportFlags +{ + EChaperoneImport_BoundsOnly = 0x0001, +}; + +/** Manages the working copy of the chaperone info. By default this will be the same as the +* live copy. Any changes made with this interface will stay in the working copy until +* CommitWorkingCopy() is called, at which point the working copy and the live copy will be +* the same again. */ +class IVRChaperoneSetup +{ +public: + + /** Saves the current working copy to disk */ + virtual bool CommitWorkingCopy( EChaperoneConfigFile configFile ) = 0; + + /** Reverts the working copy to match the live chaperone calibration. + * To modify existing data this MUST be do WHILE getting a non-error ChaperoneCalibrationStatus. + * Only after this should you do gets and sets on the existing data. */ + virtual void RevertWorkingCopy() = 0; + + /** Returns the width and depth of the Play Area (formerly named Soft Bounds) in X and Z from the working copy. + * Tracking space center (0,0,0) is the center of the Play Area. */ + virtual bool GetWorkingPlayAreaSize( float *pSizeX, float *pSizeZ ) = 0; + + /** Returns the 4 corner positions of the Play Area (formerly named Soft Bounds) from the working copy. + * Corners are in clockwise order. + * Tracking space center (0,0,0) is the center of the Play Area. + * It's a rectangle. + * 2 sides are parallel to the X axis and 2 sides are parallel to the Z axis. + * Height of every corner is 0Y (on the floor). **/ + virtual bool GetWorkingPlayAreaRect( HmdQuad_t *rect ) = 0; + + /** Returns the number of Quads if the buffer points to null. Otherwise it returns Quads + * into the buffer up to the max specified from the working copy. */ + virtual bool GetWorkingCollisionBoundsInfo( VR_OUT_ARRAY_COUNT(punQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t* punQuadsCount ) = 0; + + /** Returns the number of Quads if the buffer points to null. Otherwise it returns Quads + * into the buffer up to the max specified. */ + virtual bool GetLiveCollisionBoundsInfo( VR_OUT_ARRAY_COUNT(punQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t* punQuadsCount ) = 0; + + /** Returns the preferred seated position from the working copy. */ + virtual bool GetWorkingSeatedZeroPoseToRawTrackingPose( HmdMatrix34_t *pmatSeatedZeroPoseToRawTrackingPose ) = 0; + + /** Returns the standing origin from the working copy. */ + virtual bool GetWorkingStandingZeroPoseToRawTrackingPose( HmdMatrix34_t *pmatStandingZeroPoseToRawTrackingPose ) = 0; + + /** Sets the Play Area in the working copy. */ + virtual void SetWorkingPlayAreaSize( float sizeX, float sizeZ ) = 0; + + /** Sets the Collision Bounds in the working copy. Note: ceiling height is ignored. */ + virtual void SetWorkingCollisionBoundsInfo( VR_ARRAY_COUNT(unQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t unQuadsCount ) = 0; + + /** Sets the Collision Bounds in the working copy. */ + virtual void SetWorkingPerimeter( VR_ARRAY_COUNT( unPointCount ) HmdVector2_t *pPointBuffer, uint32_t unPointCount ) = 0; + + /** Sets the preferred seated position in the working copy. */ + virtual void SetWorkingSeatedZeroPoseToRawTrackingPose( const HmdMatrix34_t *pMatSeatedZeroPoseToRawTrackingPose ) = 0; + + /** Sets the preferred standing position in the working copy. */ + virtual void SetWorkingStandingZeroPoseToRawTrackingPose( const HmdMatrix34_t *pMatStandingZeroPoseToRawTrackingPose ) = 0; + + /** Tear everything down and reload it from the file on disk */ + virtual void ReloadFromDisk( EChaperoneConfigFile configFile ) = 0; + + /** Returns the preferred seated position. */ + virtual bool GetLiveSeatedZeroPoseToRawTrackingPose( HmdMatrix34_t *pmatSeatedZeroPoseToRawTrackingPose ) = 0; + + virtual bool ExportLiveToBuffer( VR_OUT_STRING() char *pBuffer, uint32_t *pnBufferLength ) = 0; + virtual bool ImportFromBufferToWorking( const char *pBuffer, uint32_t nImportFlags ) = 0; + + /** Shows the chaperone data in the working set to preview in the compositor.*/ + virtual void ShowWorkingSetPreview() = 0; + + /** Hides the chaperone data in the working set to preview in the compositor (if it was visible).*/ + virtual void HideWorkingSetPreview() = 0; + + /** Fire an event that the tracking system can use to know room setup is about to begin. This lets the tracking + * system make any last minute adjustments that should be incorporated into the new setup. If the user is adjusting + * live in HMD using a tweak tool, keep in mind that calling this might cause the user to see the room jump. */ + virtual void RoomSetupStarting() = 0; +}; + +static const char * const IVRChaperoneSetup_Version = "IVRChaperoneSetup_006"; + + +} + +// ivrcompositor.h + +namespace vr +{ + +#pragma pack( push, 8 ) + +/** Errors that can occur with the VR compositor */ +enum EVRCompositorError +{ + VRCompositorError_None = 0, + VRCompositorError_RequestFailed = 1, + VRCompositorError_IncompatibleVersion = 100, + VRCompositorError_DoNotHaveFocus = 101, + VRCompositorError_InvalidTexture = 102, + VRCompositorError_IsNotSceneApplication = 103, + VRCompositorError_TextureIsOnWrongDevice = 104, + VRCompositorError_TextureUsesUnsupportedFormat = 105, + VRCompositorError_SharedTexturesNotSupported = 106, + VRCompositorError_IndexOutOfRange = 107, + VRCompositorError_AlreadySubmitted = 108, + VRCompositorError_InvalidBounds = 109, + VRCompositorError_AlreadySet = 110, +}; + +/** Usage types for retreiving shared textures */ +enum EVRCompositorTextureUsage +{ + VRCompositorTextureUsage_Left = Eye_Left, + VRCompositorTextureUsage_Right = Eye_Right, + VRCompositorTextureUsage_Both, +}; + +/** Timing mode passed to SetExplicitTimingMode(); see that function for documentation */ +enum EVRCompositorTimingMode +{ + VRCompositorTimingMode_Implicit = 0, + VRCompositorTimingMode_Explicit_RuntimePerformsPostPresentHandoff = 1, + VRCompositorTimingMode_Explicit_ApplicationPerformsPostPresentHandoff = 2, +}; + +/** Cumulative stats for current application. These are not cleared until a new app connects, +* but they do stop accumulating once the associated app disconnects. */ +struct Compositor_CumulativeStats +{ + uint32_t m_nPid; // Process id associated with these stats (may no longer be running). + uint32_t m_nNumFramePresents; // total number of times we called present (includes reprojected frames) + uint32_t m_nNumDroppedFrames; // total number of times an old frame was re-scanned out (without reprojection) + uint32_t m_nNumReprojectedFrames; // total number of times a frame was scanned out a second time (with reprojection) + + /** Values recorded at startup before application has fully faded in the first time. */ + uint32_t m_nNumFramePresentsOnStartup; + uint32_t m_nNumDroppedFramesOnStartup; + uint32_t m_nNumReprojectedFramesOnStartup; + + /** Applications may explicitly fade to the compositor. This is usually to handle level transitions, and loading often causes + * system wide hitches. The following stats are collected during this period. Does not include values recorded during startup. */ + uint32_t m_nNumLoading; + uint32_t m_nNumFramePresentsLoading; + uint32_t m_nNumDroppedFramesLoading; + uint32_t m_nNumReprojectedFramesLoading; + + /** If we don't get a new frame from the app in less than 2.5 frames, then we assume the app has hung and start + * fading back to the compositor. The following stats are a result of this, and are a subset of those recorded above. + * Does not include values recorded during start up or loading. */ + uint32_t m_nNumTimedOut; + uint32_t m_nNumFramePresentsTimedOut; + uint32_t m_nNumDroppedFramesTimedOut; + uint32_t m_nNumReprojectedFramesTimedOut; + + /** For items in this section, divide all the values by m_nNumFrameSubmits. */ + uint32_t m_nNumFrameSubmits; + vrshared_double m_flSumCompositorCPUTimeMS; + vrshared_double m_flSumCompositorGPUTimeMS; + vrshared_double m_flSumTargetFrameTimes; + vrshared_double m_flSumApplicationCPUTimeMS; + vrshared_double m_flSumApplicationGPUTimeMS; + + uint32_t m_nNumFramesWithDepth; // total frames submitted with depth by the current application +}; + +struct Compositor_StageRenderSettings +{ + /** Primary color is applied as a tint to (i.e. multiplied with) the model's texture */ + HmdColor_t m_PrimaryColor; + HmdColor_t m_SecondaryColor; + + /** Vignette radius is in meters and is used to fade to the specified secondary solid color over + * that 3D distance from the origin of the playspace. */ + float m_flVignetteInnerRadius; + float m_flVignetteOuterRadius; + + /** Fades to the secondary color based on view incidence. This variable controls the linearity + * of the effect. It is mutually exclusive with vignette. Additionally, it treats the mesh as faceted. */ + float m_flFresnelStrength; + + /** Controls backface culling. */ + bool m_bBackfaceCulling; + + /** Converts the render model's texture to luma and applies to rgb equally. This is useful to + * combat compression artifacts that can occur on desaturated source material. */ + bool m_bGreyscale; + + /** Renders mesh as a wireframe. */ + bool m_bWireframe; +}; + +static inline Compositor_StageRenderSettings DefaultStageRenderSettings() +{ + Compositor_StageRenderSettings settings; + settings.m_PrimaryColor.r = 1.0f; + settings.m_PrimaryColor.g = 1.0f; + settings.m_PrimaryColor.b = 1.0f; + settings.m_PrimaryColor.a = 1.0f; + settings.m_SecondaryColor.r = 1.0f; + settings.m_SecondaryColor.g = 1.0f; + settings.m_SecondaryColor.b = 1.0f; + settings.m_SecondaryColor.a = 1.0f; + settings.m_flVignetteInnerRadius = 0.0f; + settings.m_flVignetteOuterRadius = 0.0f; + settings.m_flFresnelStrength = 0.0f; + settings.m_bBackfaceCulling = false; + settings.m_bGreyscale = false; + settings.m_bWireframe = false; + return settings; +} + +#pragma pack( pop ) + +/** Allows the application to interact with the compositor */ +class IVRCompositor +{ +public: + /** Sets tracking space returned by WaitGetPoses */ + virtual void SetTrackingSpace( ETrackingUniverseOrigin eOrigin ) = 0; + + /** Gets current tracking space returned by WaitGetPoses */ + virtual ETrackingUniverseOrigin GetTrackingSpace() = 0; + + /** Scene applications should call this function to get poses to render with (and optionally poses predicted an additional frame out to use for gameplay). + * This function will block until "running start" milliseconds before the start of the frame, and should be called at the last moment before needing to + * start rendering. + * + * Return codes: + * - IsNotSceneApplication (make sure to call VR_Init with VRApplicaiton_Scene) + * - DoNotHaveFocus (some other app has taken focus - this will throttle the call to 10hz to reduce the impact on that app) + */ + virtual EVRCompositorError WaitGetPoses( VR_ARRAY_COUNT( unRenderPoseArrayCount ) TrackedDevicePose_t* pRenderPoseArray, uint32_t unRenderPoseArrayCount, + VR_ARRAY_COUNT( unGamePoseArrayCount ) TrackedDevicePose_t* pGamePoseArray, uint32_t unGamePoseArrayCount ) = 0; + + /** Get the last set of poses returned by WaitGetPoses. */ + virtual EVRCompositorError GetLastPoses( VR_ARRAY_COUNT( unRenderPoseArrayCount ) TrackedDevicePose_t* pRenderPoseArray, uint32_t unRenderPoseArrayCount, + VR_ARRAY_COUNT( unGamePoseArrayCount ) TrackedDevicePose_t* pGamePoseArray, uint32_t unGamePoseArrayCount ) = 0; + + /** Interface for accessing last set of poses returned by WaitGetPoses one at a time. + * Returns VRCompositorError_IndexOutOfRange if unDeviceIndex not less than k_unMaxTrackedDeviceCount otherwise VRCompositorError_None. + * It is okay to pass NULL for either pose if you only want one of the values. */ + virtual EVRCompositorError GetLastPoseForTrackedDeviceIndex( TrackedDeviceIndex_t unDeviceIndex, TrackedDevicePose_t *pOutputPose, TrackedDevicePose_t *pOutputGamePose ) = 0; + + /** Get the shared texture to copy into for submitting frames. */ + virtual EVRCompositorError GetSubmitTexture( Texture_t *pOutTexture, bool *pNeedsFlush, EVRCompositorTextureUsage eUsage, + const Texture_t *pTexture, const VRTextureBounds_t *pBounds = 0, EVRSubmitFlags nSubmitFlags = Submit_Default ) = 0; + + /** Updated scene texture to display. If pBounds is NULL the entire texture will be used. If called from an OpenGL app, consider adding a glFlush after + * Submitting both frames to signal the driver to start processing, otherwise it may wait until the command buffer fills up, causing the app to miss frames. + * + * OpenGL dirty state: + * glBindTexture + * + * Return codes: + * - IsNotSceneApplication (make sure to call VR_Init with VRApplicaiton_Scene) + * - DoNotHaveFocus (some other app has taken focus) + * - TextureIsOnWrongDevice (application did not use proper AdapterIndex - see IVRSystem.GetDXGIOutputInfo) + * - SharedTexturesNotSupported (application needs to call CreateDXGIFactory1 or later before creating DX device) + * - TextureUsesUnsupportedFormat (scene textures must be compatible with DXGI sharing rules - e.g. uncompressed, no mips, etc.) + * - InvalidTexture (usually means bad arguments passed in) + * - AlreadySubmitted (app has submitted two left textures or two right textures in a single frame - i.e. before calling WaitGetPoses again) + */ + virtual EVRCompositorError Submit( EVREye eEye, const Texture_t *pTexture, const VRTextureBounds_t* pBounds = 0, EVRSubmitFlags nSubmitFlags = Submit_Default ) = 0; + virtual EVRCompositorError SubmitWithArrayIndex( EVREye eEye, const Texture_t *pTexture, uint32_t unTextureArrayIndex, + const VRTextureBounds_t *pBounds = 0, EVRSubmitFlags nSubmitFlags = Submit_Default ) = 0; + + /** Clears the frame that was sent with the last call to Submit. This will cause the + * compositor to show the grid until Submit is called again. */ + virtual void ClearLastSubmittedFrame() = 0; + + /** Call immediately after presenting your app's window (i.e. companion window) to unblock the compositor. + * This is an optional call, which only needs to be used if you can't instead call WaitGetPoses immediately after Present. + * For example, if your engine's render and game loop are not on separate threads, or blocking the render thread until 3ms before the next vsync would + * introduce a deadlock of some sort. This function tells the compositor that you have finished all rendering after having Submitted buffers for both + * eyes, and it is free to start its rendering work. This should only be called from the same thread you are rendering on. */ + virtual void PostPresentHandoff() = 0; + + /** Returns true if timing data is filled it. Sets oldest timing info if nFramesAgo is larger than the stored history. + * Be sure to set timing.size = sizeof(Compositor_FrameTiming) on struct passed in before calling this function. */ + virtual bool GetFrameTiming( Compositor_FrameTiming *pTiming, uint32_t unFramesAgo = 0 ) = 0; + + /** Interface for copying a range of timing data. Frames are returned in ascending order (oldest to newest) with the last being the most recent frame. + * Only the first entry's m_nSize needs to be set, as the rest will be inferred from that. Returns total number of entries filled out. */ + virtual uint32_t GetFrameTimings( VR_ARRAY_COUNT( nFrames ) Compositor_FrameTiming *pTiming, uint32_t nFrames ) = 0; + + /** Returns the time in seconds left in the current (as identified by FrameTiming's frameIndex) frame. + * Due to "running start", this value may roll over to the next frame before ever reaching 0.0. */ + virtual float GetFrameTimeRemaining() = 0; + + /** Fills out stats accumulated for the last connected application. Pass in sizeof( Compositor_CumulativeStats ) as second parameter. */ + virtual void GetCumulativeStats( Compositor_CumulativeStats *pStats, uint32_t nStatsSizeInBytes ) = 0; + + /** Fades the view on the HMD to the specified color. The fade will take fSeconds, and the color values are between + * 0.0 and 1.0. This color is faded on top of the scene based on the alpha parameter. Removing the fade color instantly + * would be FadeToColor( 0.0, 0.0, 0.0, 0.0, 0.0 ). Values are in un-premultiplied alpha space. */ + virtual void FadeToColor( float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, bool bBackground = false ) = 0; + + /** Get current fade color value. */ + virtual HmdColor_t GetCurrentFadeColor( bool bBackground = false ) = 0; + + /** Fading the Grid in or out in fSeconds */ + virtual void FadeGrid( float fSeconds, bool bFadeGridIn ) = 0; + + /** Get current alpha value of grid. */ + virtual float GetCurrentGridAlpha() = 0; + + /** Override the skybox used in the compositor (e.g. for during level loads when the app can't feed scene images fast enough) + * Order is Front, Back, Left, Right, Top, Bottom. If only a single texture is passed, it is assumed in lat-long format. + * If two are passed, it is assumed a lat-long stereo pair. */ + virtual EVRCompositorError SetSkyboxOverride( VR_ARRAY_COUNT( unTextureCount ) const Texture_t *pTextures, uint32_t unTextureCount ) = 0; + + /** Resets compositor skybox back to defaults. */ + virtual void ClearSkyboxOverride() = 0; + + /** Brings the compositor window to the front. This is useful for covering any other window that may be on the HMD + * and is obscuring the compositor window. */ + virtual void CompositorBringToFront() = 0; + + /** Pushes the compositor window to the back. This is useful for allowing other applications to draw directly to the HMD. */ + virtual void CompositorGoToBack() = 0; + + /** DEPRECATED: Tells the compositor process to clean up and exit. You do not need to call this function at shutdown. + * Under normal circumstances the compositor will manage its own life cycle based on what applications are running. */ + virtual void CompositorQuit() = 0; + + /** Return whether the compositor is fullscreen */ + virtual bool IsFullscreen() = 0; + + /** Returns the process ID of the process that is currently rendering the scene */ + virtual uint32_t GetCurrentSceneFocusProcess() = 0; + + /** Returns the process ID of the process that rendered the last frame (or 0 if the compositor itself rendered the frame.) + * Returns 0 when fading out from an app and the app's process Id when fading into an app. */ + virtual uint32_t GetLastFrameRenderer() = 0; + + /** Returns true if the current process has the scene focus */ + virtual bool CanRenderScene() = 0; + + /** DEPRECATED: Opens the headset view (as either a window or docked widget depending on user's preferences) that displays what the user + * sees in the headset. */ + virtual void ShowMirrorWindow() = 0; + + /** DEPRECATED: Closes the headset view, either as a window or docked widget. */ + virtual void HideMirrorWindow() = 0; + + /** DEPRECATED: Returns true if the headset view (either as a window or docked widget) is shown. */ + virtual bool IsMirrorWindowVisible() = 0; + + /** Writes back buffer and stereo left/right pair from the application to a 'screenshots' folder in the SteamVR runtime root. */ + virtual void CompositorDumpImages() = 0; + + /** Let an app know it should be rendering with low resources. */ + virtual bool ShouldAppRenderWithLowResources() = 0; + + /** Override interleaved reprojection logic to force on. */ + virtual void ForceInterleavedReprojectionOn( bool bOverride ) = 0; + + /** Force reconnecting to the compositor process. */ + virtual void ForceReconnectProcess() = 0; + + /** Temporarily suspends rendering (useful for finer control over scene transitions). */ + virtual void SuspendRendering( bool bSuspend ) = 0; + + /** Opens a shared D3D11 texture with the undistorted composited image for each eye. Use ReleaseMirrorTextureD3D11 when finished + * instead of calling Release on the resource itself. */ + virtual vr::EVRCompositorError GetMirrorTextureD3D11( vr::EVREye eEye, void *pD3D11DeviceOrResource, void **ppD3D11ShaderResourceView ) = 0; + virtual void ReleaseMirrorTextureD3D11( void *pD3D11ShaderResourceView ) = 0; + + /** Access to mirror textures from OpenGL. */ + virtual vr::EVRCompositorError GetMirrorTextureGL( vr::EVREye eEye, vr::glUInt_t *pglTextureId, vr::glSharedTextureHandle_t *pglSharedTextureHandle ) = 0; + virtual bool ReleaseSharedGLTexture( vr::glUInt_t glTextureId, vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0; + virtual void LockGLSharedTextureForAccess( vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0; + virtual void UnlockGLSharedTextureForAccess( vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0; + + /** [Vulkan Only] + * return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing + * null. The string will be a space separated list of-required instance extensions to enable in VkCreateInstance */ + virtual uint32_t GetVulkanInstanceExtensionsRequired( VR_OUT_STRING() char *pchValue, uint32_t unBufferSize ) = 0; + + /** [Vulkan only] + * return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing + * null. The string will be a space separated list of required device extensions to enable in VkCreateDevice */ + virtual uint32_t GetVulkanDeviceExtensionsRequired( VkPhysicalDevice_T *pPhysicalDevice, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize ) = 0; + + /** [ Vulkan/D3D12 Only ] + * There are two purposes for SetExplicitTimingMode: + * 1. To get a more accurate GPU timestamp for when the frame begins in Vulkan/D3D12 applications. + * 2. (Optional) To avoid having WaitGetPoses access the Vulkan queue so that the queue can be accessed from + * another thread while WaitGetPoses is executing. + * + * More accurate GPU timestamp for the start of the frame is achieved by the application calling + * SubmitExplicitTimingData immediately before its first submission to the Vulkan/D3D12 queue. + * This is more accurate because normally this GPU timestamp is recorded during WaitGetPoses. In D3D11, + * WaitGetPoses queues a GPU timestamp write, but it does not actually get submitted to the GPU until the + * application flushes. By using SubmitExplicitTimingData, the timestamp is recorded at the same place for + * Vulkan/D3D12 as it is for D3D11, resulting in a more accurate GPU time measurement for the frame. + * + * Avoiding WaitGetPoses accessing the Vulkan queue can be achieved using SetExplicitTimingMode as well. If this is desired, + * the application should set the timing mode to Explicit_ApplicationPerformsPostPresentHandoff and *MUST* call PostPresentHandoff + * itself. If these conditions are met, then WaitGetPoses is guaranteed not to access the queue. Note that PostPresentHandoff + * and SubmitExplicitTimingData will access the queue, so only WaitGetPoses becomes safe for accessing the queue from another + * thread. */ + virtual void SetExplicitTimingMode( EVRCompositorTimingMode eTimingMode ) = 0; + + /** [ Vulkan/D3D12 Only ] + * Submit explicit timing data. When SetExplicitTimingMode is true, this must be called immediately before + * the application's first vkQueueSubmit (Vulkan) or ID3D12CommandQueue::ExecuteCommandLists (D3D12) of each frame. + * This function will insert a GPU timestamp write just before the application starts its rendering. This function + * will perform a vkQueueSubmit on Vulkan so must not be done simultaneously with VkQueue operations on another thread. + * Returns VRCompositorError_RequestFailed if SetExplicitTimingMode is not enabled. */ + virtual EVRCompositorError SubmitExplicitTimingData() = 0; + + /** Indicates whether or not motion smoothing is enabled by the user settings. + * If you want to know if motion smoothing actually triggered due to a late frame, check Compositor_FrameTiming + * m_nReprojectionFlags & VRCompositor_ReprojectionMotion instead. */ + virtual bool IsMotionSmoothingEnabled() = 0; + + /** Indicates whether or not motion smoothing is supported by the current hardware. */ + virtual bool IsMotionSmoothingSupported() = 0; + + /** Indicates whether or not the current scene focus app is currently loading. This is inferred from its use of FadeGrid to + * explicitly fade to the compositor to cover up the fact that it cannot render at a sustained full framerate during this time. */ + virtual bool IsCurrentSceneFocusAppLoading() = 0; + + /** Override the stage model used in the compositor to replace the grid. RenderModelPath is a full path the an OBJ file to load. + * This file will be loaded asynchronously from disk and uploaded to the gpu by the runtime. Once ready for rendering, the + * VREvent StageOverrideReady will be sent. Use FadeToGrid to reveal. Call ClearStageOverride to free the associated resources when finished. */ + virtual EVRCompositorError SetStageOverride_Async( const char *pchRenderModelPath, const HmdMatrix34_t *pTransform = 0, + const Compositor_StageRenderSettings *pRenderSettings = 0, uint32_t nSizeOfRenderSettings = 0 ) = 0; + + /** Resets the stage to its default user specified setting. */ + virtual void ClearStageOverride() = 0; + + /** Returns true if pBenchmarkResults is filled it. Sets pBenchmarkResults with the result of the compositor benchmark. + * nSizeOfBenchmarkResults should be set to sizeof(Compositor_BenchmarkResults) */ + virtual bool GetCompositorBenchmarkResults( Compositor_BenchmarkResults *pBenchmarkResults, uint32_t nSizeOfBenchmarkResults ) = 0; + + /** Returns the frame id associated with the poses last returned by WaitGetPoses. Deltas between IDs correspond to number of headset vsync intervals. */ + virtual EVRCompositorError GetLastPosePredictionIDs( uint32_t *pRenderPosePredictionID, uint32_t *pGamePosePredictionID ) = 0; + + /** Get the most up-to-date predicted (or recorded - up to 100ms old) set of poses for a given frame id. */ + virtual EVRCompositorError GetPosesForFrame( uint32_t unPosePredictionID, VR_ARRAY_COUNT( unPoseArrayCount ) TrackedDevicePose_t* pPoseArray, uint32_t unPoseArrayCount ) = 0; +}; + +static const char * const IVRCompositor_Version = "IVRCompositor_029"; + +} // namespace vr + + + +// ivrheadsetview.h + +namespace vr +{ + enum HeadsetViewMode_t + { + HeadsetViewMode_Left = 0, + HeadsetViewMode_Right, + HeadsetViewMode_Both + }; + + class IVRHeadsetView + { + public: + /** Sets the resolution in pixels to render the headset view. These values are clamped to k_unHeadsetViewMaxWidth + * and k_unHeadsetViewMaxHeight respectively. For cropped views, the rendered output will be fit to aspect ratio + * defined by the the specified dimensions. For uncropped views, the caller should use GetHeadsetViewAspectRation + * to adjust the requested render size to avoid squashing or stretching, and then apply letterboxing to compensate + * when displaying the results. */ + virtual void SetHeadsetViewSize( uint32_t nWidth, uint32_t nHeight ) = 0; + + /** Gets the current resolution used to render the headset view. */ + virtual void GetHeadsetViewSize( uint32_t *pnWidth, uint32_t *pnHeight ) = 0; + + /** Set the mode used to render the headset view. */ + virtual void SetHeadsetViewMode( HeadsetViewMode_t eHeadsetViewMode ) = 0; + + /** Get the current mode used to render the headset view. */ + virtual HeadsetViewMode_t GetHeadsetViewMode() = 0; + + /** Set whether or not the headset view should be rendered cropped to hide the hidden area mesh or not. */ + virtual void SetHeadsetViewCropped( bool bCropped ) = 0; + + /** Get the current cropping status of the headset view. */ + virtual bool GetHeadsetViewCropped() = 0; + + /** Get the aspect ratio (width:height) of the uncropped headset view (accounting for the current set mode). */ + virtual float GetHeadsetViewAspectRatio() = 0; + + /** Set the range [0..1] that the headset view blends across the stereo overlapped area in cropped both mode. */ + virtual void SetHeadsetViewBlendRange( float flStartPct, float flEndPct ) = 0; + + /** Get the current range [0..1] that the headset view blends across the stereo overlapped area in cropped both mode. */ + virtual void GetHeadsetViewBlendRange( float *pStartPct, float *pEndPct ) = 0; + }; + + static const uint32_t k_unHeadsetViewMaxWidth = 3840; + static const uint32_t k_unHeadsetViewMaxHeight = 2160; + static const char * const k_pchHeadsetViewOverlayKey = "system.HeadsetView"; + + static const char * const IVRHeadsetView_Version = "IVRHeadsetView_001"; + + /** Returns the current IVRHeadsetView pointer or NULL the interface could not be found. */ + VR_INTERFACE vr::IVRHeadsetView *VR_CALLTYPE VRHeadsetView(); + +} // namespace vr + + +// ivrnotifications.h + +namespace vr +{ + +#pragma pack( push, 8 ) + +// Used for passing graphic data +struct NotificationBitmap_t +{ + NotificationBitmap_t() + : m_pImageData( nullptr ) + , m_nWidth( 0 ) + , m_nHeight( 0 ) + , m_nBytesPerPixel( 0 ) + { + } + + void *m_pImageData; + int32_t m_nWidth; + int32_t m_nHeight; + int32_t m_nBytesPerPixel; +}; + + +/** Be aware that the notification type is used as 'priority' to pick the next notification */ +enum EVRNotificationType +{ + /** Transient notifications are automatically hidden after a period of time set by the user. + * They are used for things like information and chat messages that do not require user interaction. */ + EVRNotificationType_Transient = 0, + + /** Persistent notifications are shown to the user until they are hidden by calling RemoveNotification(). + * They are used for things like phone calls and alarms that require user interaction. */ + EVRNotificationType_Persistent = 1, + + /** System notifications are shown no matter what. It is expected, that the ulUserValue is used as ID. + * If there is already a system notification in the queue with that ID it is not accepted into the queue + * to prevent spamming with system notification */ + EVRNotificationType_Transient_SystemWithUserValue = 2, +}; + +enum EVRNotificationStyle +{ + /** Creates a notification with minimal external styling. */ + EVRNotificationStyle_None = 0, + + /** Used for notifications about overlay-level status. In Steam this is used for events like downloads completing. */ + EVRNotificationStyle_Application = 100, + + /** Used for notifications about contacts that are unknown or not available. In Steam this is used for friend invitations and offline friends. */ + EVRNotificationStyle_Contact_Disabled = 200, + + /** Used for notifications about contacts that are available but inactive. In Steam this is used for friends that are online but not playing a game. */ + EVRNotificationStyle_Contact_Enabled = 201, + + /** Used for notifications about contacts that are available and active. In Steam this is used for friends that are online and currently running a game. */ + EVRNotificationStyle_Contact_Active = 202, +}; + +static const uint32_t k_unNotificationTextMaxSize = 256; + +typedef uint32_t VRNotificationId; + + + +#pragma pack( pop ) + +/** Allows notification sources to interact with the VR system. */ +class IVRNotifications +{ +public: + /** Create a notification and enqueue it to be shown to the user. + * An overlay handle is required to create a notification, as otherwise it would be impossible for a user to act on it. + * To create a two-line notification, use a line break ('\n') to split the text into two lines. + * The pImage argument may be NULL, in which case the specified overlay's icon will be used instead. */ + virtual EVRNotificationError CreateNotification( VROverlayHandle_t ulOverlayHandle, uint64_t ulUserValue, EVRNotificationType type, const char *pchText, EVRNotificationStyle style, const NotificationBitmap_t *pImage, /* out */ VRNotificationId *pNotificationId ) = 0; + + /** Destroy a notification, hiding it first if it currently shown to the user. */ + virtual EVRNotificationError RemoveNotification( VRNotificationId notificationId ) = 0; + +}; + +static const char * const IVRNotifications_Version = "IVRNotifications_002"; + +} // namespace vr + + + +// ivroverlay.h + +namespace vr +{ + + /** The maximum length of an overlay key in bytes, counting the terminating null character. */ + static const uint32_t k_unVROverlayMaxKeyLength = 128; + + /** The maximum length of an overlay name in bytes, counting the terminating null character. */ + static const uint32_t k_unVROverlayMaxNameLength = 128; + + /** The maximum number of overlays that can exist in the system at one time. */ + static const uint32_t k_unMaxOverlayCount = 128; + + /** The maximum number of overlay intersection mask primitives per overlay */ + static const uint32_t k_unMaxOverlayIntersectionMaskPrimitivesCount = 32; + + /** Types of input supported by VR Overlays */ + enum VROverlayInputMethod + { + VROverlayInputMethod_None = 0, // No input events will be generated automatically for this overlay + VROverlayInputMethod_Mouse = 1, // Tracked controllers will get mouse events automatically + // VROverlayInputMethod_DualAnalog = 2, // No longer supported + }; + + /** Allows the caller to figure out which overlay transform getter to call. */ + enum VROverlayTransformType + { + VROverlayTransform_Invalid = -1, + VROverlayTransform_Absolute = 0, + VROverlayTransform_TrackedDeviceRelative = 1, + //VROverlayTransform_SystemOverlay = 2, // Deleted from the SDK. + VROverlayTransform_TrackedComponent = 3, + VROverlayTransform_Cursor = 4, + VROverlayTransform_DashboardTab = 5, + VROverlayTransform_DashboardThumb = 6, + VROverlayTransform_Mountable = 7, + VROverlayTransform_Projection = 8, + VROverlayTransform_Subview = 9, + }; + + /** Overlay control settings */ + enum VROverlayFlags + { + // Set this flag on a dashboard overlay to prevent a tab from showing up for that overlay + VROverlayFlags_NoDashboardTab = 1 << 3, + + // When this is set the overlay will receive VREvent_ScrollDiscrete events like a mouse wheel. + // Requires mouse input mode. + VROverlayFlags_SendVRDiscreteScrollEvents = 1 << 6, + + // Indicates that the overlay would like to receive + VROverlayFlags_SendVRTouchpadEvents = 1 << 7, + + // If set this will render a vertical scroll wheel on the primary controller, + // only needed if not using VROverlayFlags_SendVRScrollEvents but you still want to represent a scroll wheel + VROverlayFlags_ShowTouchPadScrollWheel = 1 << 8, + + // If this is set ownership and render access to the overlay are transferred + // to the new scene process on a call to IVRApplications::LaunchInternalProcess + VROverlayFlags_TransferOwnershipToInternalProcess = 1 << 9, + + // If set, renders 50% of the texture in each eye, side by side + VROverlayFlags_SideBySide_Parallel = 1 << 10, // Texture is left/right + VROverlayFlags_SideBySide_Crossed = 1 << 11, // Texture is crossed and right/left + + VROverlayFlags_Panorama = 1 << 12, // Texture is a panorama + VROverlayFlags_StereoPanorama = 1 << 13, // Texture is a stereo panorama + + // If this is set on an overlay owned by the scene application that overlay + // will be sorted with the "Other" overlays on top of all other scene overlays + VROverlayFlags_SortWithNonSceneOverlays = 1 << 14, + + // If set, the overlay will be shown in the dashboard, otherwise it will be hidden. + VROverlayFlags_VisibleInDashboard = 1 << 15, + + // If this is set and the overlay's input method is not none, the system-wide laser mouse + // mode will be activated whenever this overlay is visible. + VROverlayFlags_MakeOverlaysInteractiveIfVisible = 1 << 16, + + // If this is set the overlay will receive smooth VREvent_ScrollSmooth that emulate trackpad scrolling. + // Requires mouse input mode. + VROverlayFlags_SendVRSmoothScrollEvents = 1 << 17, + + // If this is set, the overlay texture will be protected content, preventing unauthorized reads. + VROverlayFlags_ProtectedContent = 1 << 18, + + // If this is set, the laser mouse splat will not be drawn over this overlay. The overlay will + // be responsible for drawing its own "cursor". + VROverlayFlags_HideLaserIntersection = 1 << 19, + + // If this is set, clicking away from the overlay will cause it to receive a VREvent_Modal_Cancel event. + // This is ignored for dashboard overlays. + VROverlayFlags_WantsModalBehavior = 1 << 20, + + // If this is set, alpha composition assumes the texture is pre-multiplied + VROverlayFlags_IsPremultiplied = 1 << 21, + + // If this is set, the alpha values of the overlay texture will be ignored + VROverlayFlags_IgnoreTextureAlpha = 1 << 22, + + // If this is set, this overlay will have a control bar drawn underneath of it in the dashboard. + VROverlayFlags_EnableControlBar = 1 << 23, // DEPRECATED + + // If this is set, the overlay control bar will provide a button to toggle the keyboard. + VROverlayFlags_EnableControlBarKeyboard = 1 << 24, + + // If this is set, the overlay control bar will provide a "close" button which will send a + // VREvent_OverlayClosed event to the overlay when pressed. Applications that use this flag are responsible + // for responding to the event with something that approximates "closing" behavior, such as destroying their + // overlay and/or shutting down their application. + VROverlayFlags_EnableControlBarClose = 1 << 25, + + // When set, use a minimal control bar on the overlay. This is the successor to VROverlayFlags_EnableControlBar + VROverlayFlags_MinimalControlBar = 1 << 26, + + // If this is set, click stabilization will be applied to the laser interaction so that clicks more reliably + // trigger on the user's intended target + VROverlayFlags_EnableClickStabilization = 1 << 27, + + // If this is set, laser mouse pointer events may be sent for the secondary laser. These events will have + // cursorIndex set to 0 for the primary laser and 1 for the secondary. + VROverlayFlags_MultiCursor = 1 << 28, + }; + + enum VRMessageOverlayResponse + { + VRMessageOverlayResponse_ButtonPress_0 = 0, + VRMessageOverlayResponse_ButtonPress_1 = 1, + VRMessageOverlayResponse_ButtonPress_2 = 2, + VRMessageOverlayResponse_ButtonPress_3 = 3, + VRMessageOverlayResponse_CouldntFindSystemOverlay = 4, + VRMessageOverlayResponse_CouldntFindOrCreateClientOverlay= 5, + VRMessageOverlayResponse_ApplicationQuit = 6 + }; + + struct VROverlayIntersectionParams_t + { + HmdVector3_t vSource; + HmdVector3_t vDirection; + ETrackingUniverseOrigin eOrigin; + }; + + struct VROverlayIntersectionResults_t + { + HmdVector3_t vPoint; + HmdVector3_t vNormal; + HmdVector2_t vUVs; + float fDistance; + }; + + // Input modes for the Big Picture gamepad text entry + enum EGamepadTextInputMode + { + k_EGamepadTextInputModeNormal = 0, + k_EGamepadTextInputModePassword = 1, + k_EGamepadTextInputModeSubmit = 2, + }; + + // Controls number of allowed lines for the Big Picture gamepad text entry + enum EGamepadTextInputLineMode + { + k_EGamepadTextInputLineModeSingleLine = 0, + k_EGamepadTextInputLineModeMultipleLines = 1 + }; + + enum EVROverlayIntersectionMaskPrimitiveType + { + OverlayIntersectionPrimitiveType_Rectangle, + OverlayIntersectionPrimitiveType_Circle, + }; + + struct IntersectionMaskRectangle_t + { + float m_flTopLeftX; + float m_flTopLeftY; + float m_flWidth; + float m_flHeight; + }; + + struct IntersectionMaskCircle_t + { + float m_flCenterX; + float m_flCenterY; + float m_flRadius; + }; + + /** NOTE!!! If you change this you MUST manually update openvr_interop.cs.py and openvr_api_flat.h.py */ + typedef union + { + IntersectionMaskRectangle_t m_Rectangle; + IntersectionMaskCircle_t m_Circle; + } VROverlayIntersectionMaskPrimitive_Data_t; + + struct VROverlayIntersectionMaskPrimitive_t + { + EVROverlayIntersectionMaskPrimitiveType m_nPrimitiveType; + VROverlayIntersectionMaskPrimitive_Data_t m_Primitive; + }; + + enum EKeyboardFlags + { + /** Makes the keyboard send key events immediately instead of accumulating a buffer */ + KeyboardFlag_Minimal = 1 << 0, + /** Makes the keyboard take all focus and dismiss when clicking off the panel */ + KeyboardFlag_Modal = 1 << 1, + /** Shows arrow keys on the keyboard when in minimal mode. Buffered (non-minimal) mode always has them. In minimal + * mode, when arrow keys are pressed, they send ANSI escape sequences (e.g. "\x1b[D" for left arrow). */ + KeyboardFlag_ShowArrowKeys = 1 << 2, + /** Shows the hide keyboard button instead of a Done button. The Done key sends a VREvent_KeyboardDone when + * clicked. Hide only sends the Closed event. */ + KeyboardFlag_HideDoneKey = 1 << 3, + }; + + /** Defines the project used in an overlay that is using SetOverlayTransformProjection */ + struct VROverlayProjection_t + { + /** Tangent of the sides of the frustum */ + float fLeft; + float fRight; + float fTop; + float fBottom; + }; + + class IVROverlay + { + public: + + // --------------------------------------------- + // Overlay management methods + // --------------------------------------------- + + /** Finds an existing overlay with the specified key. */ + virtual EVROverlayError FindOverlay( const char *pchOverlayKey, VROverlayHandle_t * pOverlayHandle ) = 0; + + /** Creates a new named overlay. All overlays start hidden and with default settings. */ + virtual EVROverlayError CreateOverlay( const char *pchOverlayKey, const char *pchOverlayName, VROverlayHandle_t * pOverlayHandle ) = 0; + + /** Creates a Subview Overlay, which is a separate image that gets composited onto an existing parent overlay based on a 2D transform. + * Subview overlays may only be created for parent overlays of the same process. */ + virtual EVROverlayError CreateSubviewOverlay( VROverlayHandle_t parentOverlayHandle, const char *pchSubviewOverlayKey, const char *pchSubviewOverlayName, VROverlayHandle_t *pSubviewOverlayHandle ) = 0; + + /** Destroys the specified overlay. When an application calls VR_Shutdown all overlays created by that app are + * automatically destroyed. */ + virtual EVROverlayError DestroyOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Fills the provided buffer with the string key of the overlay. Returns the size of buffer required to store the key, including + * the terminating null character. k_unVROverlayMaxKeyLength will be enough bytes to fit the string. */ + virtual uint32_t GetOverlayKey( VROverlayHandle_t ulOverlayHandle, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, EVROverlayError *pError = 0L ) = 0; + + /** Fills the provided buffer with the friendly name of the overlay. Returns the size of buffer required to store the key, including + * the terminating null character. k_unVROverlayMaxNameLength will be enough bytes to fit the string. */ + virtual uint32_t GetOverlayName( VROverlayHandle_t ulOverlayHandle, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, EVROverlayError *pError = 0L ) = 0; + + /** set the name to use for this overlay */ + virtual EVROverlayError SetOverlayName( VROverlayHandle_t ulOverlayHandle, const char *pchName ) = 0; + + /** Gets the raw image data from an overlay. Overlay image data is always returned as RGBA data, 4 bytes per pixel. If the buffer is not large enough, width and height + * will be set and VROverlayError_ArrayTooSmall is returned. */ + virtual EVROverlayError GetOverlayImageData( VROverlayHandle_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight ) = 0; + + /** returns a string that corresponds with the specified overlay error. The string will be the name + * of the error enum value for all valid error codes */ + virtual const char *GetOverlayErrorNameFromEnum( EVROverlayError error ) = 0; + + // --------------------------------------------- + // Overlay rendering methods + // --------------------------------------------- + + /** Sets the pid that is allowed to render to this overlay (the creator pid is always allow to render), + * by default this is the pid of the process that made the overlay */ + virtual EVROverlayError SetOverlayRenderingPid( VROverlayHandle_t ulOverlayHandle, uint32_t unPID ) = 0; + + /** Gets the pid that is allowed to render to this overlay */ + virtual uint32_t GetOverlayRenderingPid( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Specify flag setting for a given overlay */ + virtual EVROverlayError SetOverlayFlag( VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled ) = 0; + + /** Sets flag setting for a given overlay */ + virtual EVROverlayError GetOverlayFlag( VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool *pbEnabled ) = 0; + + /** Gets all the flags for a given overlay */ + virtual EVROverlayError GetOverlayFlags( VROverlayHandle_t ulOverlayHandle, uint32_t *pFlags ) = 0; + + /** Sets the color tint of the overlay quad. Use 0.0 to 1.0 per channel. */ + virtual EVROverlayError SetOverlayColor( VROverlayHandle_t ulOverlayHandle, float fRed, float fGreen, float fBlue ) = 0; + + /** Gets the color tint of the overlay quad. */ + virtual EVROverlayError GetOverlayColor( VROverlayHandle_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue ) = 0; + + /** Sets the alpha of the overlay quad. Use 1.0 for 100 percent opacity to 0.0 for 0 percent opacity. */ + virtual EVROverlayError SetOverlayAlpha( VROverlayHandle_t ulOverlayHandle, float fAlpha ) = 0; + + /** Gets the alpha of the overlay quad. By default overlays are rendering at 100 percent alpha (1.0). */ + virtual EVROverlayError GetOverlayAlpha( VROverlayHandle_t ulOverlayHandle, float *pfAlpha ) = 0; + + /** Sets the aspect ratio of the texels in the overlay. 1.0 means the texels are square. 2.0 means the texels + * are twice as wide as they are tall. Defaults to 1.0. */ + virtual EVROverlayError SetOverlayTexelAspect( VROverlayHandle_t ulOverlayHandle, float fTexelAspect ) = 0; + + /** Gets the aspect ratio of the texels in the overlay. Defaults to 1.0 */ + virtual EVROverlayError GetOverlayTexelAspect( VROverlayHandle_t ulOverlayHandle, float *pfTexelAspect ) = 0; + + /** Sets the rendering sort order for the overlay. Overlays are rendered this order: + * Overlays owned by the scene application + * Overlays owned by some other application + * + * Within a category overlays are rendered lowest sort order to highest sort order. Overlays with the same + * sort order are rendered back to front base on distance from the HMD. + * + * Subview overlays are always drawn immediately on top of their parent overlay, and the sort order is + * only relative to their peer subviews for that overlay. + * + * Sort order defaults to 0. */ + virtual EVROverlayError SetOverlaySortOrder( VROverlayHandle_t ulOverlayHandle, uint32_t unSortOrder ) = 0; + + /** Gets the sort order of the overlay. See SetOverlaySortOrder for how this works. */ + virtual EVROverlayError GetOverlaySortOrder( VROverlayHandle_t ulOverlayHandle, uint32_t *punSortOrder ) = 0; + + /** Sets the width of the overlay quad in meters. By default overlays are rendered on a quad that is 1 meter across */ + virtual EVROverlayError SetOverlayWidthInMeters( VROverlayHandle_t ulOverlayHandle, float fWidthInMeters ) = 0; + + /** Returns the width of the overlay quad in meters. By default overlays are rendered on a quad that is 1 meter across */ + virtual EVROverlayError GetOverlayWidthInMeters( VROverlayHandle_t ulOverlayHandle, float *pfWidthInMeters ) = 0; + + /** Use to draw overlay as a curved surface. Curvature is a percentage from (0..1] where 1 is a fully closed cylinder. + * For a specific radius, curvature can be computed as: overlay.width / (2 PI r). */ + virtual EVROverlayError SetOverlayCurvature( VROverlayHandle_t ulOverlayHandle, float fCurvature ) = 0; + + /** Returns the curvature of the overlay as a percentage from (0..1] where 1 is a fully closed cylinder. */ + virtual EVROverlayError GetOverlayCurvature( VROverlayHandle_t ulOverlayHandle, float *pfCurvature ) = 0; + + /** Sets the pitch angle (in radians) of the overlay before curvature is applied -- to form a fan or disk. */ + virtual EVROverlayError SetOverlayPreCurvePitch( VROverlayHandle_t ulOverlayHandle, float fRadians ) = 0; + + /** Returns the overlay's set pre-curve pitch angle (in radians). */ + virtual EVROverlayError GetOverlayPreCurvePitch( VROverlayHandle_t ulOverlayHandle, float *pfRadians ) = 0; + + /** Sets the colorspace the overlay texture's data is in. Defaults to 'auto'. + * If the texture needs to be resolved, you should call SetOverlayTexture with the appropriate colorspace instead. */ + virtual EVROverlayError SetOverlayTextureColorSpace( VROverlayHandle_t ulOverlayHandle, EColorSpace eTextureColorSpace ) = 0; + + /** Gets the overlay's current colorspace setting. */ + virtual EVROverlayError GetOverlayTextureColorSpace( VROverlayHandle_t ulOverlayHandle, EColorSpace *peTextureColorSpace ) = 0; + + /** Sets the part of the texture to use for the overlay. UV Min is the upper left corner and UV Max is the lower right corner. */ + virtual EVROverlayError SetOverlayTextureBounds( VROverlayHandle_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds ) = 0; + + /** Gets the part of the texture to use for the overlay. UV Min is the upper left corner and UV Max is the lower right corner. */ + virtual EVROverlayError GetOverlayTextureBounds( VROverlayHandle_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds ) = 0; + + /** Returns the transform type of this overlay. */ + virtual EVROverlayError GetOverlayTransformType( VROverlayHandle_t ulOverlayHandle, VROverlayTransformType *peTransformType ) = 0; + + /** Sets the transform to absolute tracking origin. */ + virtual EVROverlayError SetOverlayTransformAbsolute( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform ) = 0; + + /** Gets the transform if it is absolute. Returns an error if the transform is some other type. */ + virtual EVROverlayError GetOverlayTransformAbsolute( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform ) = 0; + + /** Sets the transform to relative to the transform of the specified tracked device. */ + virtual EVROverlayError SetOverlayTransformTrackedDeviceRelative( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform ) = 0; + + /** Gets the transform if it is relative to a tracked device. Returns an error if the transform is some other type. */ + virtual EVROverlayError GetOverlayTransformTrackedDeviceRelative( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform ) = 0; + + /** Sets the transform to draw the overlay on a rendermodel component mesh instead of a quad. This will only draw when the system is + * drawing the device. Overlays with this transform type cannot receive mouse events. */ + virtual EVROverlayError SetOverlayTransformTrackedDeviceComponent( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unDeviceIndex, const char *pchComponentName ) = 0; + + /** Gets the transform information when the overlay is rendering on a component. */ + virtual EVROverlayError GetOverlayTransformTrackedDeviceComponent( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t *punDeviceIndex, VR_OUT_STRING() char *pchComponentName, uint32_t unComponentNameSize ) = 0; + + /** Sets the hotspot for the specified overlay when that overlay is used as a cursor. These are in texture space with 0,0 in the upper left corner of + * the texture and 1,1 in the lower right corner of the texture. */ + virtual EVROverlayError SetOverlayTransformCursor( VROverlayHandle_t ulCursorOverlayHandle, const HmdVector2_t *pvHotspot ) = 0; + + /** Gets cursor hotspot/transform for the specified overlay */ + virtual vr::EVROverlayError GetOverlayTransformCursor( VROverlayHandle_t ulOverlayHandle, HmdVector2_t *pvHotspot ) = 0; + + /** Sets the overlay as a projection overlay */ + virtual vr::EVROverlayError SetOverlayTransformProjection( VROverlayHandle_t ulOverlayHandle, + ETrackingUniverseOrigin eTrackingOrigin, const HmdMatrix34_t* pmatTrackingOriginToOverlayTransform, + const VROverlayProjection_t *pProjection, vr::EVREye eEye ) = 0; + + /** Positions a subview overlay to a position within the parent overlay, from the top-left corners of each overlay, in the pixel coordinate space of the parent standalone overlay. */ + virtual EVROverlayError SetSubviewPosition( VROverlayHandle_t ulOverlayHandle, float fX, float fY ) = 0; + + /** Shows the VR overlay. Not applicable for Dashboard Overlays. */ + virtual EVROverlayError ShowOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Hides the VR overlay. Not applicable for Dashboard Overlays. */ + virtual EVROverlayError HideOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Returns true if the overlay is currently visible, applicable for all overlay types except Dashboard Thumbnail overlays. VREvent_OverlayShown and VREvent_OverlayHidden reflect changes to this value. */ + virtual bool IsOverlayVisible( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Get the transform in 3d space associated with a specific 2d point in the overlay's coordinate space (where 0,0 is the lower left). -Z points out of the overlay */ + virtual EVROverlayError GetTransformForOverlayCoordinates( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform ) = 0; + + /** This function will block until the top of each frame, and can therefore be used to synchronize with the runtime's update rate. + * Note: In non-async mode, some signals may be dropped due to scene app performance, so passing a timeout of 1000/refresh rate + * may be useful depending on the overlay app's desired behavior. */ + virtual EVROverlayError WaitFrameSync( uint32_t nTimeoutMs ) = 0; + + // --------------------------------------------- + // Overlay input methods + // --------------------------------------------- + + /** Returns true and fills the event with the next event on the overlay's event queue, if there is one. + * If there are no events this method returns false. uncbVREvent should be the size in bytes of the VREvent_t struct */ + virtual bool PollNextOverlayEvent( VROverlayHandle_t ulOverlayHandle, VREvent_t *pEvent, uint32_t uncbVREvent ) = 0; + + /** Returns the current input settings for the specified overlay. */ + virtual EVROverlayError GetOverlayInputMethod( VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod *peInputMethod ) = 0; + + /** Sets the input settings for the specified overlay. */ + virtual EVROverlayError SetOverlayInputMethod( VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod eInputMethod ) = 0; + + /** Gets the mouse scaling factor that is used for mouse events. The actual texture may be a different size, but this is + * typically the size of the underlying UI in pixels. */ + virtual EVROverlayError GetOverlayMouseScale( VROverlayHandle_t ulOverlayHandle, HmdVector2_t *pvecMouseScale ) = 0; + + /** Sets the mouse scaling factor that is used for mouse events. The actual texture may be a different size, but this is + * typically the size of the underlying UI in pixels (not in world space). */ + virtual EVROverlayError SetOverlayMouseScale( VROverlayHandle_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale ) = 0; + + /** Computes the overlay-space pixel coordinates of where the ray intersects the overlay with the + * specified settings. Returns false if there is no intersection. */ + virtual bool ComputeOverlayIntersection( VROverlayHandle_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults ) = 0; + + /** Returns true if the specified overlay is the hover target. An overlay is the hover target when it is the last overlay "moused over" + * by the virtual mouse pointer */ + virtual bool IsHoverTargetOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Sets a list of primitives to be used for controller ray intersection + * typically the size of the underlying UI in pixels (not in world space). */ + virtual EVROverlayError SetOverlayIntersectionMask( VROverlayHandle_t ulOverlayHandle, VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, uint32_t unNumMaskPrimitives, uint32_t unPrimitiveSize = sizeof( VROverlayIntersectionMaskPrimitive_t ) ) = 0; + + /** Triggers a haptic event on the laser mouse controller for the specified overlay */ + virtual EVROverlayError TriggerLaserMouseHapticVibration( VROverlayHandle_t ulOverlayHandle, float fDurationSeconds, float fFrequency, float fAmplitude ) = 0; + + /** Sets the cursor to use for the specified overlay. This will be drawn instead of the generic blob when the laser mouse is pointed at the specified overlay */ + virtual EVROverlayError SetOverlayCursor( VROverlayHandle_t ulOverlayHandle, VROverlayHandle_t ulCursorHandle ) = 0; + + /** Sets the override cursor position to use for this overlay in overlay mouse coordinates. This position will be used to draw the cursor + * instead of whatever the laser mouse cursor position is. */ + virtual EVROverlayError SetOverlayCursorPositionOverride( VROverlayHandle_t ulOverlayHandle, const HmdVector2_t *pvCursor ) = 0; + + /** Clears the override cursor position for this overlay */ + virtual EVROverlayError ClearOverlayCursorPositionOverride( VROverlayHandle_t ulOverlayHandle ) = 0; + + // --------------------------------------------- + // Overlay texture methods + // --------------------------------------------- + + /** Texture to draw for the overlay. This function can only be called by the overlay's creator or renderer process (see SetOverlayRenderingPid) . + * + * OpenGL dirty state: + * glBindTexture + */ + virtual EVROverlayError SetOverlayTexture( VROverlayHandle_t ulOverlayHandle, const Texture_t *pTexture ) = 0; + + /** Use this to tell the overlay system to release the texture set for this overlay. */ + virtual EVROverlayError ClearOverlayTexture( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Separate interface for providing the data as a stream of bytes, but there is an upper bound on data + * that can be sent. This function can only be called by the overlay's renderer process. */ + virtual EVROverlayError SetOverlayRaw( VROverlayHandle_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unBytesPerPixel ) = 0; + + /** Separate interface for providing the image through a filename: can be png or jpg, and should not be bigger than 1920x1080. + * This function can only be called by the overlay's renderer process */ + virtual EVROverlayError SetOverlayFromFile( VROverlayHandle_t ulOverlayHandle, const char *pchFilePath ) = 0; + + /** Get the native texture handle/device for an overlay you have created. + * On windows this handle will be a ID3D11ShaderResourceView with a ID3D11Texture2D bound. + * + * The texture will always be sized to match the backing texture you supplied in SetOverlayTexture above. + * + * You MUST call ReleaseNativeOverlayHandle() with pNativeTextureHandle once you are done with this texture. + * + * pNativeTextureHandle is an OUTPUT, it will be a pointer to a ID3D11ShaderResourceView *. + * pNativeTextureRef is an INPUT and should be a ID3D11Resource *. The device used by pNativeTextureRef will be used to bind pNativeTextureHandle. + */ + virtual EVROverlayError GetOverlayTexture( VROverlayHandle_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, ETextureType *pAPIType, EColorSpace *pColorSpace, VRTextureBounds_t *pTextureBounds ) = 0; + + /** Release the pNativeTextureHandle provided from the GetOverlayTexture call, this allows the system to free the underlying GPU resources for this object, + * so only do it once you stop rendering this texture. + */ + virtual EVROverlayError ReleaseNativeOverlayHandle( VROverlayHandle_t ulOverlayHandle, void *pNativeTextureHandle ) = 0; + + /** Get the size of the overlay texture */ + virtual EVROverlayError GetOverlayTextureSize( VROverlayHandle_t ulOverlayHandle, uint32_t *pWidth, uint32_t *pHeight ) = 0; + + // ---------------------------------------------- + // Dashboard Overlay Methods + // ---------------------------------------------- + + /** Creates a dashboard overlay and returns its handle */ + virtual EVROverlayError CreateDashboardOverlay( const char *pchOverlayKey, const char *pchOverlayFriendlyName, VROverlayHandle_t * pMainHandle, VROverlayHandle_t *pThumbnailHandle ) = 0; + + /** Returns true if the dashboard is visible */ + virtual bool IsDashboardVisible() = 0; + + /** returns true if the dashboard is visible and the specified overlay is the active system Overlay */ + virtual bool IsActiveDashboardOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Sets the dashboard overlay to only appear when the specified process ID has scene focus */ + virtual EVROverlayError SetDashboardOverlaySceneProcess( VROverlayHandle_t ulOverlayHandle, uint32_t unProcessId ) = 0; + + /** Gets the process ID that this dashboard overlay requires to have scene focus */ + virtual EVROverlayError GetDashboardOverlaySceneProcess( VROverlayHandle_t ulOverlayHandle, uint32_t *punProcessId ) = 0; + + /** Shows the dashboard. */ + virtual void ShowDashboard( const char *pchOverlayToShow ) = 0; + + /** Returns the tracked device index that has the laser pointer in the dashboard, or the last one that was used. */ + virtual vr::TrackedDeviceIndex_t GetPrimaryDashboardDevice() = 0; + + // --------------------------------------------- + // Keyboard methods + // --------------------------------------------- + + /** Show the virtual keyboard to accept input. In most cases, you should pass KeyboardFlag_Modal to enable modal overlay + * behavior on the keyboard itself. See EKeyboardFlags for more. */ + virtual EVROverlayError ShowKeyboard( EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, uint32_t unFlags, + const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, uint64_t uUserValue ) = 0; + + /** Show the virtual keyboard to accept input for an overlay. In most cases, you should pass KeyboardFlag_Modal to enable modal + * overlay behavior on the keyboard itself. See EKeyboardFlags for more. */ + virtual EVROverlayError ShowKeyboardForOverlay( VROverlayHandle_t ulOverlayHandle, EGamepadTextInputMode eInputMode, + EGamepadTextInputLineMode eLineInputMode, uint32_t unFlags, const char *pchDescription, uint32_t unCharMax, + const char *pchExistingText, uint64_t uUserValue ) = 0; + + /** Get the text that was entered into the text input **/ + virtual uint32_t GetKeyboardText( VR_OUT_STRING() char *pchText, uint32_t cchText ) = 0; + + /** Hide the virtual keyboard **/ + virtual void HideKeyboard() = 0; + + /** Set the position of the keyboard in world space **/ + virtual void SetKeyboardTransformAbsolute( ETrackingUniverseOrigin eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform ) = 0; + + /** Set the position of the keyboard in overlay space by telling it to avoid a rectangle in the overlay. Rectangle coords have (0,0) in the bottom left **/ + virtual void SetKeyboardPositionForOverlay( VROverlayHandle_t ulOverlayHandle, HmdRect2_t avoidRect ) = 0; + + // --------------------------------------------- + // Message box methods + // --------------------------------------------- + + /** Show the message overlay. This will block and return you a result. **/ + virtual VRMessageOverlayResponse ShowMessageOverlay( const char* pchText, const char* pchCaption, const char* pchButton0Text, const char* pchButton1Text = nullptr, const char* pchButton2Text = nullptr, const char* pchButton3Text = nullptr ) = 0; + + /** If the calling process owns the overlay and it's open, this will close it. **/ + virtual void CloseMessageOverlay() = 0; + }; + + static const char * const IVROverlay_Version = "IVROverlay_028"; + +} // namespace vr + +// ivroverlayview.h + +namespace vr +{ + struct VROverlayView_t + { + VROverlayHandle_t overlayHandle; + Texture_t texture; + VRTextureBounds_t textureBounds; + }; + + enum EDeviceType + { + DeviceType_Invalid = -1, // Invalid handle + DeviceType_DirectX11 = 0, // Handle is an ID3D11Device + DeviceType_Vulkan = 1, // Handle is a pointer to a VRVulkanDevice_t structure + }; + + struct VRVulkanDevice_t + { + VkInstance_T *m_pInstance; + VkDevice_T *m_pDevice; + VkPhysicalDevice_T *m_pPhysicalDevice; + VkQueue_T *m_pQueue; + uint32_t m_uQueueFamilyIndex; + }; + + struct VRNativeDevice_t + { + void *handle; // See EDeviceType definition above + EDeviceType eType; + }; + + class IVROverlayView + { + public: + /** Acquire an OverlayView_t from an overlay handle + * + * The overlay view can be used to sample the contents directly by a native API. The + * contents of the OverlayView_t will remain unchanged through the lifetime of the + * OverlayView_t. + * + * The caller acquires read privileges over the OverlayView_t, but should not + * write to it. + * + * AcquireOverlayView() may be called on the same ulOverlayHandle multiple times to + * refresh the image contents. In this case the caller is strongly encouraged to re-use + * the same pOverlayView for all re-acquisition calls. + * + * If the producer has not yet queued an image, AcquireOverlayView will return success, + * and the Texture_t will have the expected ETextureType. However, the Texture_t->handle + * will be nullptr. Once the producer generates the first overlay frame, Texture_t->handle + * will become a valid handle. + */ + virtual EVROverlayError AcquireOverlayView(VROverlayHandle_t ulOverlayHandle, VRNativeDevice_t *pNativeDevice, VROverlayView_t *pOverlayView, uint32_t unOverlayViewSize ) = 0; + + /** Release an acquired OverlayView_t + * + * Denotes that pOverlayView will no longer require access to the resources it acquired in + * all previous calls to AcquireOverlayView(). + * + * All OverlayView_t*'s provided to AcquireOverlayView() as pOverlayViews must be + * passed into ReleaseOverlayView() in order for the underlying GPU resources to be freed. + */ + virtual EVROverlayError ReleaseOverlayView(VROverlayView_t *pOverlayView) = 0; + + /** Posts an overlay event */ + virtual void PostOverlayEvent(VROverlayHandle_t ulOverlayHandle, const VREvent_t *pvrEvent) = 0; + + /** Determines whether this process is permitted to view an overlay's content. */ + virtual bool IsViewingPermitted( VROverlayHandle_t ulOverlayHandle ) = 0; + + }; + + static const char * const IVROverlayView_Version = "IVROverlayView_003"; + +} + +// ivrrendermodels.h + +namespace vr +{ + +static const char * const k_pch_Controller_Component_GDC2015 = "gdc2015"; // Canonical coordinate system of the gdc 2015 wired controller, provided for backwards compatibility +static const char * const k_pch_Controller_Component_Base = "base"; // For controllers with an unambiguous 'base'. +static const char * const k_pch_Controller_Component_Tip = "tip"; // OpenVR: For controllers with an unambiguous 'tip' (used for 'laser-pointing') +static const char * const k_pch_Controller_Component_OpenXR_Aim= "openxr_aim"; // OpenXR: For controllers with an unambiguous 'tip' (used for 'laser-pointing') +static const char * const k_pch_Controller_Component_HandGrip = "handgrip"; // OpenVR: Neutral, ambidextrous hand-pose when holding controller. On plane between neutrally posed index finger and thumb +static const char * const k_pch_Controller_Component_OpenXR_Grip = "openxr_grip"; // OpenXR: Neutral, ambidextrous hand-pose when holding controller. On plane between neutrally posed index finger and thumb +static const char * const k_pch_Controller_Component_OpenXR_HandModel = "openxr_handmodel"; // OpenXR: Pose that can be used to place hand models & visuals that aren't reliant on the physical shape of a controller +static const char * const k_pch_Controller_Component_Status = "status"; // 1:1 aspect ratio status area, with canonical [0,1] uv mapping + +#pragma pack( push, 8 ) + +/** Errors that can occur with the VR compositor */ +enum EVRRenderModelError +{ + VRRenderModelError_None = 0, + VRRenderModelError_Loading = 100, + VRRenderModelError_NotSupported = 200, + VRRenderModelError_InvalidArg = 300, + VRRenderModelError_InvalidModel = 301, + VRRenderModelError_NoShapes = 302, + VRRenderModelError_MultipleShapes = 303, + VRRenderModelError_TooManyVertices = 304, + VRRenderModelError_MultipleTextures = 305, + VRRenderModelError_BufferTooSmall = 306, + VRRenderModelError_NotEnoughNormals = 307, + VRRenderModelError_NotEnoughTexCoords = 308, + + VRRenderModelError_InvalidTexture = 400, +}; + +enum EVRRenderModelTextureFormat +{ + VRRenderModelTextureFormat_RGBA8_SRGB = 0, // RGBA with 8 bits per channel per pixel. Data size is width * height * 4ub + VRRenderModelTextureFormat_BC2, + VRRenderModelTextureFormat_BC4, + VRRenderModelTextureFormat_BC7, + VRRenderModelTextureFormat_BC7_SRGB, + VRRenderModelTextureFormat_RGBA16_FLOAT, +}; + +/** A single vertex in a render model */ +struct RenderModel_Vertex_t +{ + HmdVector3_t vPosition; // position in meters in device space + HmdVector3_t vNormal; + float rfTextureCoord[2]; +}; + +/** A texture map for use on a render model */ +#if defined(__linux__) || defined(__APPLE__) +// This structure was originally defined mis-packed on Linux, preserved for +// compatibility. +#pragma pack( push, 4 ) +#endif + +struct RenderModel_TextureMap_t +{ + uint16_t unWidth, unHeight; // width and height of the texture map in pixels + const uint8_t *rubTextureMapData; // Map texture data. + EVRRenderModelTextureFormat format; // Refer to EVRRenderModelTextureFormat + uint16_t unMipLevels; +}; +#if defined(__linux__) || defined(__APPLE__) +#pragma pack( pop ) +#endif + +/** Session unique texture identifier. Rendermodels which share the same texture will have the same id. +IDs <0 denote the texture is not present */ + +typedef int32_t TextureID_t; + +const TextureID_t INVALID_TEXTURE_ID = -1; + +#if defined(__linux__) || defined(__APPLE__) +// This structure was originally defined mis-packed on Linux, preserved for +// compatibility. +#pragma pack( push, 4 ) +#endif + +struct RenderModel_t +{ + const RenderModel_Vertex_t *rVertexData; // Vertex data for the mesh + uint32_t unVertexCount; // Number of vertices in the vertex data + const uint16_t *rIndexData; // Indices into the vertex data for each triangle + uint32_t unTriangleCount; // Number of triangles in the mesh. Index count is 3 * TriangleCount + TextureID_t diffuseTextureId; // Session unique texture identifier. Rendermodels which share the same texture will have the same id. <0 == texture not present +}; +#if defined(__linux__) || defined(__APPLE__) +#pragma pack( pop ) +#endif + + +struct RenderModel_ControllerMode_State_t +{ + bool bScrollWheelVisible; // is this controller currently set to be in a scroll wheel mode +}; + +#pragma pack( pop ) + +class IVRRenderModels +{ +public: + + /** Loads and returns a render model for use in the application. pchRenderModelName should be a render model name + * from the Prop_RenderModelName_String property or an absolute path name to a render model on disk. + * + * The resulting render model is valid until VR_Shutdown() is called or until FreeRenderModel() is called. When the + * application is finished with the render model it should call FreeRenderModel() to free the memory associated + * with the model. + * + * The method returns VRRenderModelError_Loading while the render model is still being loaded. + * The method returns VRRenderModelError_None once loaded successfully, otherwise will return an error. */ + virtual EVRRenderModelError LoadRenderModel_Async( const char *pchRenderModelName, RenderModel_t **ppRenderModel ) = 0; + + /** Frees a previously returned render model + * It is safe to call this on a null ptr. */ + virtual void FreeRenderModel( RenderModel_t *pRenderModel ) = 0; + + /** Loads and returns a texture for use in the application. */ + virtual EVRRenderModelError LoadTexture_Async( TextureID_t textureId, RenderModel_TextureMap_t **ppTexture ) = 0; + + /** Frees a previously returned texture + * It is safe to call this on a null ptr. */ + virtual void FreeTexture( RenderModel_TextureMap_t *pTexture ) = 0; + + /** Creates a D3D11 texture and loads data into it. */ + virtual EVRRenderModelError LoadTextureD3D11_Async( TextureID_t textureId, void *pD3D11Device, void **ppD3D11Texture2D ) = 0; + + /** Helper function to copy the bits into an existing texture. */ + virtual EVRRenderModelError LoadIntoTextureD3D11_Async( TextureID_t textureId, void *pDstTexture ) = 0; + + /** Use this to free textures created with LoadTextureD3D11_Async instead of calling Release on them. */ + virtual void FreeTextureD3D11( void *pD3D11Texture2D ) = 0; + + /** Use this to get the names of available render models. Index does not correlate to a tracked device index, but + * is only used for iterating over all available render models. If the index is out of range, this function will return 0. + * Otherwise, it will return the size of the buffer required for the name. */ + virtual uint32_t GetRenderModelName( uint32_t unRenderModelIndex, VR_OUT_STRING() char *pchRenderModelName, uint32_t unRenderModelNameLen ) = 0; + + /** Returns the number of available render models. */ + virtual uint32_t GetRenderModelCount() = 0; + + + /** Returns the number of components of the specified render model. + * Components are useful when client application wish to draw, label, or otherwise interact with components of tracked objects. + * Examples controller components: + * renderable things such as triggers, buttons + * non-renderable things which include coordinate systems such as 'tip', 'base', a neutral controller agnostic hand-pose + * If all controller components are enumerated and rendered, it will be equivalent to drawing the traditional render model + * Returns 0 if components not supported, >0 otherwise */ + virtual uint32_t GetComponentCount( const char *pchRenderModelName ) = 0; + + /** Use this to get the names of available components. Index does not correlate to a tracked device index, but + * is only used for iterating over all available components. If the index is out of range, this function will return 0. + * Otherwise, it will return the size of the buffer required for the name. */ + virtual uint32_t GetComponentName( const char *pchRenderModelName, uint32_t unComponentIndex, VR_OUT_STRING( ) char *pchComponentName, uint32_t unComponentNameLen ) = 0; + + /** Get the button mask for all buttons associated with this component + * If no buttons (or axes) are associated with this component, return 0 + * Note: multiple components may be associated with the same button. Ex: two grip buttons on a single controller. + * Note: A single component may be associated with multiple buttons. Ex: A trackpad which also provides "D-pad" functionality */ + virtual uint64_t GetComponentButtonMask( const char *pchRenderModelName, const char *pchComponentName ) = 0; + + /** Use this to get the render model name for the specified rendermode/component combination, to be passed to LoadRenderModel. + * If the component name is out of range, this function will return 0. + * Otherwise, it will return the size of the buffer required for the name. */ + virtual uint32_t GetComponentRenderModelName( const char *pchRenderModelName, const char *pchComponentName, VR_OUT_STRING( ) char *pchComponentRenderModelName, uint32_t unComponentRenderModelNameLen ) = 0; + + /** Use this to query information about the component, as a function of the controller state. + * + * For dynamic controller components (ex: trigger) values will reflect component motions + * For static components this will return a consistent value independent of the VRControllerState_t + * + * If the pchRenderModelName or pchComponentName is invalid, this will return false (and transforms will be set to identity). + * Otherwise, return true + * Note: For dynamic objects, visibility may be dynamic. (I.e., true/false will be returned based on controller state and controller mode state ) */ + virtual bool GetComponentStateForDevicePath( const char *pchRenderModelName, const char *pchComponentName, vr::VRInputValueHandle_t devicePath, const vr::RenderModel_ControllerMode_State_t *pState, vr::RenderModel_ComponentState_t *pComponentState ) = 0; + + /** This version of GetComponentState takes a controller state block instead of an action origin. This function is deprecated. You should use the new input system and GetComponentStateForDevicePath instead. */ + virtual bool GetComponentState( const char *pchRenderModelName, const char *pchComponentName, const vr::VRControllerState_t *pControllerState, const RenderModel_ControllerMode_State_t *pState, RenderModel_ComponentState_t *pComponentState ) = 0; + + /** Returns true if the render model has a component with the specified name */ + virtual bool RenderModelHasComponent( const char *pchRenderModelName, const char *pchComponentName ) = 0; + + /** Returns the URL of the thumbnail image for this rendermodel */ + virtual uint32_t GetRenderModelThumbnailURL( const char *pchRenderModelName, VR_OUT_STRING() char *pchThumbnailURL, uint32_t unThumbnailURLLen, vr::EVRRenderModelError *peError ) = 0; + + /** Provides a render model path that will load the unskinned model if the model name provided has been replace by the user. If the model + * hasn't been replaced the path value will still be a valid path to load the model. Pass this to LoadRenderModel_Async, etc. to load the + * model. */ + virtual uint32_t GetRenderModelOriginalPath( const char *pchRenderModelName, VR_OUT_STRING() char *pchOriginalPath, uint32_t unOriginalPathLen, vr::EVRRenderModelError *peError ) = 0; + + /** Returns a string for a render model error */ + virtual const char *GetRenderModelErrorNameFromEnum( vr::EVRRenderModelError error ) = 0; +}; + +static const char * const IVRRenderModels_Version = "IVRRenderModels_006"; + +} + + +// ivrextendeddisplay.h + +namespace vr +{ + + /** NOTE: Use of this interface is not recommended in production applications. It will not work for displays which use + * direct-to-display mode. Creating our own window is also incompatible with the VR compositor and is not available when the compositor is running. */ + class IVRExtendedDisplay + { + public: + + /** Size and position that the window needs to be on the VR display. */ + virtual void GetWindowBounds( int32_t *pnX, int32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; + + /** Gets the viewport in the frame buffer to draw the output of the distortion into */ + virtual void GetEyeOutputViewport( EVREye eEye, uint32_t *pnX, uint32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; + + /** [D3D10/11 Only] + * Returns the adapter index and output index that the user should pass into EnumAdapters and EnumOutputs + * to create the device and swap chain in DX10 and DX11. If an error occurs both indices will be set to -1. + */ + virtual void GetDXGIOutputInfo( int32_t *pnAdapterIndex, int32_t *pnAdapterOutputIndex ) = 0; + + }; + + static const char * const IVRExtendedDisplay_Version = "IVRExtendedDisplay_001"; + +} + + +// ivrtrackedcamera.h + +namespace vr +{ + +class IVRTrackedCamera +{ +public: + /** Returns a string for an error */ + virtual const char *GetCameraErrorNameFromEnum( vr::EVRTrackedCameraError eCameraError ) = 0; + + /** For convenience, same as tracked property request Prop_HasCamera_Bool */ + virtual vr::EVRTrackedCameraError HasCamera( vr::TrackedDeviceIndex_t nDeviceIndex, bool *pHasCamera ) = 0; + + /** Gets size of the image frame. */ + virtual vr::EVRTrackedCameraError GetCameraFrameSize( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, uint32_t *pnWidth, uint32_t *pnHeight, uint32_t *pnFrameBufferSize ) = 0; + + virtual vr::EVRTrackedCameraError GetCameraIntrinsics( vr::TrackedDeviceIndex_t nDeviceIndex, uint32_t nCameraIndex, vr::EVRTrackedCameraFrameType eFrameType, vr::HmdVector2_t *pFocalLength, vr::HmdVector2_t *pCenter ) = 0; + + virtual vr::EVRTrackedCameraError GetCameraProjection( vr::TrackedDeviceIndex_t nDeviceIndex, uint32_t nCameraIndex, vr::EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, vr::HmdMatrix44_t *pProjection ) = 0; + + /** Acquiring streaming service permits video streaming for the caller. Releasing hints the system that video services do not need to be maintained for this client. + * If the camera has not already been activated, a one time spin up may incur some auto exposure as well as initial streaming frame delays. + * The camera should be considered a global resource accessible for shared consumption but not exclusive to any caller. + * The camera may go inactive due to lack of active consumers or headset idleness. */ + virtual vr::EVRTrackedCameraError AcquireVideoStreamingService( vr::TrackedDeviceIndex_t nDeviceIndex, vr::TrackedCameraHandle_t *pHandle ) = 0; + virtual vr::EVRTrackedCameraError ReleaseVideoStreamingService( vr::TrackedCameraHandle_t hTrackedCamera ) = 0; + + /** Copies the image frame into a caller's provided buffer. The image data is currently provided as RGBA data, 4 bytes per pixel. + * A caller can provide null for the framebuffer or frameheader if not desired. Requesting the frame header first, followed by the frame buffer allows + * the caller to determine if the frame as advanced per the frame header sequence. + * If there is no frame available yet, due to initial camera spinup or re-activation, the error will be VRTrackedCameraError_NoFrameAvailable. + * Ideally a caller should be polling at ~16ms intervals */ + virtual vr::EVRTrackedCameraError GetVideoStreamFrameBuffer( vr::TrackedCameraHandle_t hTrackedCamera, vr::EVRTrackedCameraFrameType eFrameType, void *pFrameBuffer, uint32_t nFrameBufferSize, vr::CameraVideoStreamFrameHeader_t *pFrameHeader, uint32_t nFrameHeaderSize ) = 0; + + /** Gets size of the image frame. */ + virtual vr::EVRTrackedCameraError GetVideoStreamTextureSize( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, vr::VRTextureBounds_t *pTextureBounds, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; + + /** Access a shared D3D11 texture for the specified tracked camera stream. + * The camera frame type VRTrackedCameraFrameType_Undistorted is not supported directly as a shared texture. It is an interior subregion of the shared texture VRTrackedCameraFrameType_MaximumUndistorted. + * Instead, use GetVideoStreamTextureSize() with VRTrackedCameraFrameType_Undistorted to determine the proper interior subregion bounds along with GetVideoStreamTextureD3D11() with + * VRTrackedCameraFrameType_MaximumUndistorted to provide the texture. The VRTrackedCameraFrameType_MaximumUndistorted will yield an image where the invalid regions are decoded + * by the alpha channel having a zero component. The valid regions all have a non-zero alpha component. The subregion as described by VRTrackedCameraFrameType_Undistorted + * guarantees a rectangle where all pixels are valid. */ + virtual vr::EVRTrackedCameraError GetVideoStreamTextureD3D11( vr::TrackedCameraHandle_t hTrackedCamera, vr::EVRTrackedCameraFrameType eFrameType, void *pD3D11DeviceOrResource, void **ppD3D11ShaderResourceView, vr::CameraVideoStreamFrameHeader_t *pFrameHeader, uint32_t nFrameHeaderSize ) = 0; + + /** Access a shared GL texture for the specified tracked camera stream */ + virtual vr::EVRTrackedCameraError GetVideoStreamTextureGL( vr::TrackedCameraHandle_t hTrackedCamera, vr::EVRTrackedCameraFrameType eFrameType, vr::glUInt_t *pglTextureId, vr::CameraVideoStreamFrameHeader_t *pFrameHeader, uint32_t nFrameHeaderSize ) = 0; + virtual vr::EVRTrackedCameraError ReleaseVideoStreamTextureGL( vr::TrackedCameraHandle_t hTrackedCamera, vr::glUInt_t glTextureId ) = 0; + virtual void SetCameraTrackingSpace( vr::ETrackingUniverseOrigin eUniverse ) = 0; + virtual vr::ETrackingUniverseOrigin GetCameraTrackingSpace( ) = 0; +}; + +static const char * const IVRTrackedCamera_Version = "IVRTrackedCamera_006"; + +} // namespace vr + + +// ivrscreenshots.h + +namespace vr +{ + +/** Errors that can occur with the VR compositor */ +enum EVRScreenshotError +{ + VRScreenshotError_None = 0, + VRScreenshotError_RequestFailed = 1, + VRScreenshotError_IncompatibleVersion = 100, + VRScreenshotError_NotFound = 101, + VRScreenshotError_BufferTooSmall = 102, + VRScreenshotError_ScreenshotAlreadyInProgress = 108, +}; + +/** Allows the application to generate screenshots */ +class IVRScreenshots +{ +public: + /** Request a screenshot of the requested type. + * A request of the VRScreenshotType_Stereo type will always + * work. Other types will depend on the underlying application + * support. + * The first file name is for the preview image and should be a + * regular screenshot (ideally from the left eye). The second + * is the VR screenshot in the correct format. They should be + * in the same aspect ratio. Formats per type: + * VRScreenshotType_Mono: the VR filename is ignored (can be + * nullptr), this is a normal flat single shot. + * VRScreenshotType_Stereo: The VR image should be a + * side-by-side with the left eye image on the left. + * VRScreenshotType_Cubemap: The VR image should be six square + * images composited horizontally. + * VRScreenshotType_StereoPanorama: above/below with left eye + * panorama being the above image. Image is typically square + * with the panorama being 2x horizontal. + * + * Note that the VR dashboard will call this function when + * the user presses the screenshot binding (currently System + * Button + Trigger). If Steam is running, the destination + * file names will be in %TEMP% and will be copied into + * Steam's screenshot library for the running application + * once SubmitScreenshot() is called. + * If Steam is not running, the paths will be in the user's + * documents folder under Documents\SteamVR\Screenshots. + * Other VR applications can call this to initiate a + * screenshot outside of user control. + * The destination file names do not need an extension, + * will be replaced with the correct one for the format + * which is currently .png. */ + virtual vr::EVRScreenshotError RequestScreenshot( vr::ScreenshotHandle_t *pOutScreenshotHandle, vr::EVRScreenshotType type, const char *pchPreviewFilename, const char *pchVRFilename ) = 0; + + /** Called by the running VR application to indicate that it + * wishes to be in charge of screenshots. If the + * application does not call this, the Compositor will only + * support VRScreenshotType_Stereo screenshots that will be + * captured without notification to the running app. + * Once hooked your application will receive a + * VREvent_RequestScreenshot event when the user presses the + * buttons to take a screenshot. */ + virtual vr::EVRScreenshotError HookScreenshot( VR_ARRAY_COUNT( numTypes ) const vr::EVRScreenshotType *pSupportedTypes, int numTypes ) = 0; + + /** When your application receives a + * VREvent_RequestScreenshot event, call these functions to get + * the details of the screenshot request. */ + virtual vr::EVRScreenshotType GetScreenshotPropertyType( vr::ScreenshotHandle_t screenshotHandle, vr::EVRScreenshotError *pError ) = 0; + + /** Get the filename for the preview or vr image (see + * vr::EScreenshotPropertyFilenames). The return value is + * the size of the string. */ + virtual uint32_t GetScreenshotPropertyFilename( vr::ScreenshotHandle_t screenshotHandle, vr::EVRScreenshotPropertyFilenames filenameType, VR_OUT_STRING() char *pchFilename, uint32_t cchFilename, vr::EVRScreenshotError *pError ) = 0; + + /** Call this if the application is taking the screen shot + * will take more than a few ms processing. This will result + * in an overlay being presented that shows a completion + * bar. */ + virtual vr::EVRScreenshotError UpdateScreenshotProgress( vr::ScreenshotHandle_t screenshotHandle, float flProgress ) = 0; + + /** Tells the compositor to take an internal screenshot of + * type VRScreenshotType_Stereo. It will take the current + * submitted scene textures of the running application and + * write them into the preview image and a side-by-side file + * for the VR image. + * This is similar to request screenshot, but doesn't ever + * talk to the application, just takes the shot and submits. */ + virtual vr::EVRScreenshotError TakeStereoScreenshot( vr::ScreenshotHandle_t *pOutScreenshotHandle, const char *pchPreviewFilename, const char *pchVRFilename ) = 0; + + /** Submit the completed screenshot. If Steam is running + * this will call into the Steam client and upload the + * screenshot to the screenshots section of the library for + * the running application. If Steam is not running, this + * function will display a notification to the user that the + * screenshot was taken. The paths should be full paths with + * extensions. + * File paths should be absolute including extensions. + * screenshotHandle can be k_unScreenshotHandleInvalid if this + * was a new shot taking by the app to be saved and not + * initiated by a user (achievement earned or something) */ + virtual vr::EVRScreenshotError SubmitScreenshot( vr::ScreenshotHandle_t screenshotHandle, vr::EVRScreenshotType type, const char *pchSourcePreviewFilename, const char *pchSourceVRFilename ) = 0; +}; + +static const char * const IVRScreenshots_Version = "IVRScreenshots_001"; + +} // namespace vr + + + +// ivrresources.h + +namespace vr +{ + +class IVRResources +{ +public: + + // ------------------------------------ + // Shared Resource Methods + // ------------------------------------ + + /** Loads the specified resource into the provided buffer if large enough. + * Returns the size in bytes of the buffer required to hold the specified resource. */ + virtual uint32_t LoadSharedResource( const char *pchResourceName, char *pchBuffer, uint32_t unBufferLen ) = 0; + + /** Provides the full path to the specified resource. Resource names can include named directories for + * drivers and other things, and this resolves all of those and returns the actual physical path. + * pchResourceTypeDirectory is the subdirectory of resources to look in. */ + virtual uint32_t GetResourceFullPath( const char *pchResourceName, const char *pchResourceTypeDirectory, VR_OUT_STRING() char *pchPathBuffer, uint32_t unBufferLen ) = 0; +}; + +static const char * const IVRResources_Version = "IVRResources_001"; + + +} + +// ivrdrivermanager.h + +namespace vr +{ + +class IVRDriverManager +{ +public: + virtual uint32_t GetDriverCount() const = 0; + + /** Returns the length of the number of bytes necessary to hold this string including the trailing null. */ + virtual uint32_t GetDriverName( vr::DriverId_t nDriver, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize ) = 0; + + virtual DriverHandle_t GetDriverHandle( const char *pchDriverName ) = 0; + + virtual bool IsEnabled( vr::DriverId_t nDriver ) const = 0; +}; + +static const char * const IVRDriverManager_Version = "IVRDriverManager_001"; + +} // namespace vr + + + +// ivrinput.h + +namespace vr +{ + // Maximum number of characters in an action name, including the trailing null + static const uint32_t k_unMaxActionNameLength = 64; + + // Maximum number of characters in an action set name, including the trailing null + static const uint32_t k_unMaxActionSetNameLength = 64; + + // Maximum number of origins for an action + static const uint32_t k_unMaxActionOriginCount = 16; + + // Maximum number of characters in a bone name, including the trailing null + static const uint32_t k_unMaxBoneNameLength = 32; + + enum EVRSkeletalTransformSpace + { + VRSkeletalTransformSpace_Model = 0, + VRSkeletalTransformSpace_Parent = 1 + }; + + enum EVRSkeletalReferencePose + { + VRSkeletalReferencePose_BindPose = 0, + VRSkeletalReferencePose_OpenHand, + VRSkeletalReferencePose_Fist, + VRSkeletalReferencePose_GripLimit + }; + + enum EVRFinger + { + VRFinger_Thumb = 0, + VRFinger_Index, + VRFinger_Middle, + VRFinger_Ring, + VRFinger_Pinky, + VRFinger_Count + }; + + enum EVRFingerSplay + { + VRFingerSplay_Thumb_Index = 0, + VRFingerSplay_Index_Middle, + VRFingerSplay_Middle_Ring, + VRFingerSplay_Ring_Pinky, + VRFingerSplay_Count + }; + + enum EVRSummaryType + { + // The skeletal summary data will match the animated bone transforms for the action. + VRSummaryType_FromAnimation = 0, + + // The skeletal summary data will include unprocessed data directly from the device when available. + // This data is generally less latent than the data that is computed from the animations. + VRSummaryType_FromDevice = 1, + }; + + enum EVRInputFilterCancelType + { + VRInputFilterCancel_Timers = 0, + VRInputFilterCancel_Momentum = 1, + }; + + enum EVRInputStringBits + { + VRInputString_Hand = 0x01, + VRInputString_ControllerType = 0x02, + VRInputString_InputSource = 0x04, + + VRInputString_All = 0xFFFFFFFF + }; + + struct InputAnalogActionData_t + { + /** Whether or not this action is currently available to be bound in the active action set */ + bool bActive; + + /** The origin that caused this action's current state */ + VRInputValueHandle_t activeOrigin; + + /** The current state of this action; will be delta updates for mouse actions */ + float x, y, z; + + /** Deltas since the previous call to UpdateActionState() */ + float deltaX, deltaY, deltaZ; + + /** Time relative to now when this event happened. Will be negative to indicate a past time. */ + float fUpdateTime; + }; + + struct InputDigitalActionData_t + { + /** Whether or not this action is currently available to be bound in the active action set */ + bool bActive; + + /** The origin that caused this action's current state */ + VRInputValueHandle_t activeOrigin; + + /** The current state of this action; will be true if currently pressed */ + bool bState; + + /** This is true if the state has changed since the last frame */ + bool bChanged; + + /** Time relative to now when this event happened. Will be negative to indicate a past time. */ + float fUpdateTime; + }; + + struct InputPoseActionData_t + { + /** Whether or not this action is currently available to be bound in the active action set */ + bool bActive; + + /** The origin that caused this action's current state */ + VRInputValueHandle_t activeOrigin; + + /** The current state of this action */ + TrackedDevicePose_t pose; + }; + + struct InputSkeletalActionData_t + { + /** Whether or not this action is currently available to be bound in the active action set */ + bool bActive; + + /** The origin that caused this action's current state */ + VRInputValueHandle_t activeOrigin; + }; + + struct InputOriginInfo_t + { + VRInputValueHandle_t devicePath; + TrackedDeviceIndex_t trackedDeviceIndex; + char rchRenderModelComponentName[128]; + }; + + struct InputBindingInfo_t + { + char rchDevicePathName[128]; + char rchInputPathName[128]; + char rchModeName[128]; + char rchSlotName[128]; + char rchInputSourceType[ 32 ]; + }; + + // * Experimental global action set priority * + // These constants are part of the experimental support in SteamVR for overlay + // apps selectively overriding input in the base scene application. This may be + // useful for overlay applications that need to use part or all of a controller + // without taking away all input to the game. This system must be enabled by the + // "Experimental overlay input overrides" setting in the developer section of + // SteamVR settings. + // + // To use this system, set the nPriority field of an action set to any number in + // this range. + static const int32_t k_nActionSetOverlayGlobalPriorityMin = 0x01000000; + static const int32_t k_nActionSetOverlayGlobalPriorityMax = 0x01FFFFFF; + + static const int32_t k_nActionSetPriorityReservedMin = 0x02000000; + + struct VRActiveActionSet_t + { + /** This is the handle of the action set to activate for this frame. */ + VRActionSetHandle_t ulActionSet; + + /** This is the handle of a device path that this action set should be active for. To + * activate for all devices, set this to k_ulInvalidInputValueHandle. */ + VRInputValueHandle_t ulRestrictedToDevice; + + /** The action set to activate for all devices other than ulRestrictedDevice. If + * ulRestrictedToDevice is set to k_ulInvalidInputValueHandle, this parameter is + * ignored. */ + VRActionSetHandle_t ulSecondaryActionSet; + + // This field is ignored + uint32_t unPadding; + + /** The priority of this action set relative to other action sets. Any inputs + * bound to a source (e.g. trackpad, joystick, trigger) will disable bindings in + * other active action sets with a smaller priority. + * + * Overlay applications (i.e. ApplicationType_Overlay) may set their action set priority + * to a value between k_nActionSetOverlayGlobalPriorityMin and k_nActionSetOverlayGlobalPriorityMax + * to cause any inputs bound to a source used by that action set to be disabled in scene applications. + * + * No action set priority may value may be larger than k_nActionSetPriorityReservedMin + */ + int32_t nPriority; + }; + + /** Contains summary information about the current skeletal pose */ + struct VRSkeletalSummaryData_t + { + /** The amount that each finger is 'curled' inwards towards the palm. In the case of the thumb, + * this represents how much the thumb is wrapped around the fist. + * 0 means straight, 1 means fully curled */ + float flFingerCurl[ VRFinger_Count ]; + + /** The amount that each pair of adjacent fingers are separated. + * 0 means the digits are touching, 1 means they are fully separated. + */ + float flFingerSplay[ VRFingerSplay_Count ]; + }; + + + class IVRInput + { + public: + + // --------------- Handle management --------------- // + + /** Sets the path to the action manifest JSON file that is used by this application. If this information + * was set on the Steam partner site, calls to this function are ignored. If the Steam partner site + * setting and the path provided by this call are different, VRInputError_MismatchedActionManifest is returned. + * This call must be made before the first call to UpdateActionState or IVRSystem::PollNextEvent. */ + virtual EVRInputError SetActionManifestPath( const char *pchActionManifestPath ) = 0; + + /** Returns a handle for an action set. This handle is used for all performance-sensitive calls. */ + virtual EVRInputError GetActionSetHandle( const char *pchActionSetName, VRActionSetHandle_t *pHandle ) = 0; + + /** Returns a handle for an action. This handle is used for all performance-sensitive calls. */ + virtual EVRInputError GetActionHandle( const char *pchActionName, VRActionHandle_t *pHandle ) = 0; + + /** Returns a handle for any path in the input system. E.g. /user/hand/right */ + virtual EVRInputError GetInputSourceHandle( const char *pchInputSourcePath, VRInputValueHandle_t *pHandle ) = 0; + + + + // --------------- Reading action state ------------------- // + + /** Reads the current state into all actions. After this call, the results of Get*Action calls + * will be the same until the next call to UpdateActionState. */ + virtual EVRInputError UpdateActionState( VR_ARRAY_COUNT( unSetCount ) VRActiveActionSet_t *pSets, uint32_t unSizeOfVRSelectedActionSet_t, uint32_t unSetCount ) = 0; + + /** Reads the state of a digital action given its handle. This will return VRInputError_WrongType if the type of + * action is something other than digital */ + virtual EVRInputError GetDigitalActionData( VRActionHandle_t action, InputDigitalActionData_t *pActionData, uint32_t unActionDataSize, VRInputValueHandle_t ulRestrictToDevice ) = 0; + + /** Reads the state of an analog action given its handle. This will return VRInputError_WrongType if the type of + * action is something other than analog */ + virtual EVRInputError GetAnalogActionData( VRActionHandle_t action, InputAnalogActionData_t *pActionData, uint32_t unActionDataSize, VRInputValueHandle_t ulRestrictToDevice ) = 0; + + /** Reads the state of a pose action given its handle for the number of seconds relative to now. This + * will generally be called with negative times from the fUpdateTime fields in other actions. */ + virtual EVRInputError GetPoseActionDataRelativeToNow( VRActionHandle_t action, ETrackingUniverseOrigin eOrigin, float fPredictedSecondsFromNow, InputPoseActionData_t *pActionData, uint32_t unActionDataSize, VRInputValueHandle_t ulRestrictToDevice ) = 0; + + /** Reads the state of a pose action given its handle. The returned values will match the values returned + * by the last call to IVRCompositor::WaitGetPoses(). */ + virtual EVRInputError GetPoseActionDataForNextFrame( VRActionHandle_t action, ETrackingUniverseOrigin eOrigin, InputPoseActionData_t *pActionData, uint32_t unActionDataSize, VRInputValueHandle_t ulRestrictToDevice ) = 0; + + /** Reads the state of a skeletal action given its handle. */ + virtual EVRInputError GetSkeletalActionData( VRActionHandle_t action, InputSkeletalActionData_t *pActionData, uint32_t unActionDataSize ) = 0; + + /** Returns the current dominant hand for the user for this application. This function will only return success for applications + * which include "supports_dominant_hand_setting": true in their action manifests. The dominant hand will only change after + * a call to UpdateActionState, and the action data returned after that point will use the new dominant hand. */ + virtual EVRInputError GetDominantHand( ETrackedControllerRole *peDominantHand ) = 0; + + /** Sets the dominant hand for the user for this application. */ + virtual EVRInputError SetDominantHand( ETrackedControllerRole eDominantHand ) = 0; + + // --------------- Static Skeletal Data ------------------- // + + /** Reads the number of bones in skeleton associated with the given action */ + virtual EVRInputError GetBoneCount( VRActionHandle_t action, uint32_t* pBoneCount ) = 0; + + /** Fills the given array with the index of each bone's parent in the skeleton associated with the given action */ + virtual EVRInputError GetBoneHierarchy( VRActionHandle_t action, VR_ARRAY_COUNT( unIndexArayCount ) BoneIndex_t* pParentIndices, uint32_t unIndexArayCount ) = 0; + + /** Fills the given buffer with the name of the bone at the given index in the skeleton associated with the given action */ + virtual EVRInputError GetBoneName( VRActionHandle_t action, BoneIndex_t nBoneIndex, VR_OUT_STRING() char* pchBoneName, uint32_t unNameBufferSize ) = 0; + + /** Fills the given buffer with the transforms for a specific static skeletal reference pose */ + virtual EVRInputError GetSkeletalReferenceTransforms( VRActionHandle_t action, EVRSkeletalTransformSpace eTransformSpace, EVRSkeletalReferencePose eReferencePose, VR_ARRAY_COUNT( unTransformArrayCount ) VRBoneTransform_t *pTransformArray, uint32_t unTransformArrayCount ) = 0; + + /** Reads the level of accuracy to which the controller is able to track the user to recreate a skeletal pose */ + virtual EVRInputError GetSkeletalTrackingLevel( VRActionHandle_t action, EVRSkeletalTrackingLevel* pSkeletalTrackingLevel ) = 0; + + // --------------- Dynamic Skeletal Data ------------------- // + + /** Reads the state of the skeletal bone data associated with this action and copies it into the given buffer. */ + virtual EVRInputError GetSkeletalBoneData( VRActionHandle_t action, EVRSkeletalTransformSpace eTransformSpace, EVRSkeletalMotionRange eMotionRange, VR_ARRAY_COUNT( unTransformArrayCount ) VRBoneTransform_t *pTransformArray, uint32_t unTransformArrayCount ) = 0; + + /** Reads summary information about the current pose of the skeleton associated with the given action. */ + virtual EVRInputError GetSkeletalSummaryData( VRActionHandle_t action, EVRSummaryType eSummaryType, VRSkeletalSummaryData_t * pSkeletalSummaryData ) = 0; + + /** Reads the state of the skeletal bone data in a compressed form that is suitable for + * sending over the network. The required buffer size will never exceed ( sizeof(VR_BoneTransform_t)*boneCount + 2). + * Usually the size will be much smaller. */ + virtual EVRInputError GetSkeletalBoneDataCompressed( VRActionHandle_t action, EVRSkeletalMotionRange eMotionRange, VR_OUT_BUFFER_COUNT( unCompressedSize ) void *pvCompressedData, uint32_t unCompressedSize, uint32_t *punRequiredCompressedSize ) = 0; + + /** Turns a compressed buffer from GetSkeletalBoneDataCompressed and turns it back into a bone transform array. */ + virtual EVRInputError DecompressSkeletalBoneData( const void *pvCompressedBuffer, uint32_t unCompressedBufferSize, EVRSkeletalTransformSpace eTransformSpace, VR_ARRAY_COUNT( unTransformArrayCount ) VRBoneTransform_t *pTransformArray, uint32_t unTransformArrayCount ) = 0; + + // --------------- Haptics ------------------- // + + /** Triggers a haptic event as described by the specified action */ + virtual EVRInputError TriggerHapticVibrationAction( VRActionHandle_t action, float fStartSecondsFromNow, float fDurationSeconds, float fFrequency, float fAmplitude, VRInputValueHandle_t ulRestrictToDevice ) = 0; + + // --------------- Action Origins ---------------- // + + /** Retrieve origin handles for an action */ + virtual EVRInputError GetActionOrigins( VRActionSetHandle_t actionSetHandle, VRActionHandle_t digitalActionHandle, VR_ARRAY_COUNT( originOutCount ) VRInputValueHandle_t *originsOut, uint32_t originOutCount ) = 0; + + /** Retrieves the name of the origin in the current language. unStringSectionsToInclude is a bitfield of values in EVRInputStringBits that allows the + application to specify which parts of the origin's information it wants a string for. */ + virtual EVRInputError GetOriginLocalizedName( VRInputValueHandle_t origin, VR_OUT_STRING() char *pchNameArray, uint32_t unNameArraySize, int32_t unStringSectionsToInclude ) = 0; + + /** Retrieves useful information for the origin of this action */ + virtual EVRInputError GetOriginTrackedDeviceInfo( VRInputValueHandle_t origin, InputOriginInfo_t *pOriginInfo, uint32_t unOriginInfoSize ) = 0; + + /** Retrieves useful information about the bindings for an action */ + virtual EVRInputError GetActionBindingInfo( VRActionHandle_t action, VR_ARRAY_COUNT( unBindingInfoCount ) InputBindingInfo_t *pOriginInfo, uint32_t unBindingInfoSize, uint32_t unBindingInfoCount, uint32_t *punReturnedBindingInfoCount ) = 0; + + /** Shows the current binding for the action in-headset */ + virtual EVRInputError ShowActionOrigins( VRActionSetHandle_t actionSetHandle, VRActionHandle_t ulActionHandle ) = 0; + + /** Shows the current binding all the actions in the specified action sets */ + virtual EVRInputError ShowBindingsForActionSet( VR_ARRAY_COUNT( unSetCount ) VRActiveActionSet_t *pSets, uint32_t unSizeOfVRSelectedActionSet_t, uint32_t unSetCount, VRInputValueHandle_t originToHighlight ) = 0; + + /** Use this to query what action on the component returned by GetOriginTrackedDeviceInfo would trigger this binding. */ + virtual EVRInputError GetComponentStateForBinding( const char *pchRenderModelName, const char *pchComponentName, + const InputBindingInfo_t *pOriginInfo, uint32_t unBindingInfoSize, uint32_t unBindingInfoCount, + vr::RenderModel_ComponentState_t *pComponentState ) = 0; + + + // --------------- Legacy Input ------------------- // + virtual bool IsUsingLegacyInput() = 0; + + + // --------------- Utilities ------------------- // + + /** Opens the binding user interface. If no app key is provided it will use the key from the calling process. + * If no set is provided it will open to the root of the app binding page. */ + virtual EVRInputError OpenBindingUI( const char* pchAppKey, VRActionSetHandle_t ulActionSetHandle, VRInputValueHandle_t ulDeviceHandle, bool bShowOnDesktop ) = 0; + + /** Returns the variant set in the current bindings. If the binding doesn't include a variant setting, this function + * will return an empty string */ + virtual EVRInputError GetBindingVariant( vr::VRInputValueHandle_t ulDevicePath, + VR_OUT_STRING() char *pchVariantArray, uint32_t unVariantArraySize ) = 0; + + }; + + static const char * const IVRInput_Version = "IVRInput_010"; + +} // namespace vr + +// ivriobuffer.h + +namespace vr +{ + +typedef uint64_t IOBufferHandle_t; +static const uint64_t k_ulInvalidIOBufferHandle = 0; + + enum EIOBufferError + { + IOBuffer_Success = 0, + IOBuffer_OperationFailed = 100, + IOBuffer_InvalidHandle = 101, + IOBuffer_InvalidArgument = 102, + IOBuffer_PathExists = 103, + IOBuffer_PathDoesNotExist = 104, + IOBuffer_Permission = 105, + }; + + enum EIOBufferMode + { + IOBufferMode_Read = 0x0001, + IOBufferMode_Write = 0x0002, + IOBufferMode_Create = 0x0200, + }; + + // ---------------------------------------------------------------------------------------------- + // Purpose: + // ---------------------------------------------------------------------------------------------- + class IVRIOBuffer + { + public: + /** opens an existing or creates a new IOBuffer of unSize bytes */ + virtual vr::EIOBufferError Open( const char *pchPath, vr::EIOBufferMode mode, uint32_t unElementSize, uint32_t unElements, vr::IOBufferHandle_t *pulBuffer ) = 0; + + /** closes a previously opened or created buffer */ + virtual vr::EIOBufferError Close( vr::IOBufferHandle_t ulBuffer ) = 0; + + /** reads up to unBytes from buffer into *pDst, returning number of bytes read in *punRead */ + virtual vr::EIOBufferError Read( vr::IOBufferHandle_t ulBuffer, void *pDst, uint32_t unBytes, uint32_t *punRead ) = 0; + + /** writes unBytes of data from *pSrc into a buffer. */ + virtual vr::EIOBufferError Write( vr::IOBufferHandle_t ulBuffer, void *pSrc, uint32_t unBytes ) = 0; + + /** retrieves the property container of an buffer. */ + virtual vr::PropertyContainerHandle_t PropertyContainer( vr::IOBufferHandle_t ulBuffer ) = 0; + + /** inexpensively checks for readers to allow writers to fast-fail potentially expensive copies and writes. */ + virtual bool HasReaders( vr::IOBufferHandle_t ulBuffer ) = 0; + }; + + static const char * const IVRIOBuffer_Version = "IVRIOBuffer_002"; +} + +// ivrspatialanchors.h + +namespace vr +{ + static const SpatialAnchorHandle_t k_ulInvalidSpatialAnchorHandle = 0; + + struct SpatialAnchorPose_t + { + HmdMatrix34_t mAnchorToAbsoluteTracking; + }; + + class IVRSpatialAnchors + { + public: + + /** Returns a handle for an spatial anchor described by "descriptor". On success, pHandle + * will contain a handle valid for this session. Caller can wait for an event or occasionally + * poll GetSpatialAnchorPose() to find the virtual coordinate associated with this anchor. */ + virtual EVRSpatialAnchorError CreateSpatialAnchorFromDescriptor( const char *pchDescriptor, SpatialAnchorHandle_t *pHandleOut ) = 0; + + /** Returns a handle for an new spatial anchor at pPose. On success, pHandle + * will contain a handle valid for this session. Caller can wait for an event or occasionally + * poll GetSpatialAnchorDescriptor() to find the permanent descriptor for this pose. + * The result of GetSpatialAnchorPose() may evolve from this initial position if the driver chooses + * to update it. + * The anchor will be associated with the driver that provides unDeviceIndex, and the driver may use that specific + * device as a hint for how to best create the anchor. + * The eOrigin must match whatever tracking origin you are working in (seated/standing/raw). + * This should be called when the user is close to (and ideally looking at/interacting with) the target physical + * location. At that moment, the driver will have the most information about how to recover that physical point + * in the future, and the quality of the anchor (when the descriptor is re-used) will be highest. + * The caller may decide to apply offsets from this initial pose, but is advised to stay relatively close to the + * original pose location for highest fidelity. */ + virtual EVRSpatialAnchorError CreateSpatialAnchorFromPose( TrackedDeviceIndex_t unDeviceIndex, ETrackingUniverseOrigin eOrigin, SpatialAnchorPose_t *pPose, SpatialAnchorHandle_t *pHandleOut ) = 0; + + /** Get the pose for a given handle. This is intended to be cheap enough to call every frame (or fairly often) + * so that the driver can refine this position when it has more information available. */ + virtual EVRSpatialAnchorError GetSpatialAnchorPose( SpatialAnchorHandle_t unHandle, ETrackingUniverseOrigin eOrigin, SpatialAnchorPose_t *pPoseOut ) = 0; + + /** Get the descriptor for a given handle. This will be empty for handles where the driver has not + * yet built a descriptor. It will be the application-supplied descriptor for previously saved anchors + * that the application is requesting poses for. If the driver has called UpdateSpatialAnchorDescriptor() + * already in this session, it will be the descriptor provided by the driver. + * Returns true if the descriptor fits into the buffer, else false. Buffer size should be at least + * k_unMaxSpatialAnchorDescriptorSize. */ + virtual EVRSpatialAnchorError GetSpatialAnchorDescriptor( SpatialAnchorHandle_t unHandle, VR_OUT_STRING() char *pchDescriptorOut, uint32_t *punDescriptorBufferLenInOut ) = 0; + + }; + + static const char * const IVRSpatialAnchors_Version = "IVRSpatialAnchors_001"; + +} // namespace vr + +// ivrdebug.h + +namespace vr +{ + enum EVRDebugError + { + VRDebugError_Success = 0, + VRDebugError_BadParameter + }; + + /** Handle for vr profiler events */ + typedef uint64_t VrProfilerEventHandle_t; + + class IVRDebug + { + public: + + /** Create a vr profiler discrete event (point) + * The event will be associated with the message provided in pchMessage, and the current + * time will be used as the event timestamp. */ + virtual EVRDebugError EmitVrProfilerEvent( const char *pchMessage ) = 0; + + /** Create an vr profiler duration event (line) + * The current time will be used as the timestamp for the start of the line. + * On success, pHandleOut will contain a handle valid for terminating this event. */ + virtual EVRDebugError BeginVrProfilerEvent( VrProfilerEventHandle_t *pHandleOut ) = 0; + + /** Terminate a vr profiler event + * The event associated with hHandle will be considered completed when this method is called. + * The current time will be used assocaited to the termination time of the event, and + * pchMessage will be used as the event title. */ + virtual EVRDebugError FinishVrProfilerEvent( VrProfilerEventHandle_t hHandle, const char *pchMessage ) = 0; + + /** Sends a request to the driver for the specified device and returns the response. The maximum response size is 32k, + * but this method can be called with a smaller buffer. If the response exceeds the size of the buffer, it is truncated. + * The size of the response including its terminating null is returned. */ + virtual uint32_t DriverDebugRequest( vr::TrackedDeviceIndex_t unDeviceIndex, const char *pchRequest, VR_OUT_STRING() char *pchResponseBuffer, uint32_t unResponseBufferSize ) = 0; + + }; + + static const char * const IVRDebug_Version = "IVRDebug_001"; + +} // namespace vr + +// ivripcresourcemanagerclient.h + +namespace vr +{ + +// ----------------------------------------------------------------------------- +// Purpose: Interact with the IPCResourceManager +// ----------------------------------------------------------------------------- +class IVRIPCResourceManagerClient +{ +public: + /** Create a new tracked Vulkan Image + * + * nImageFormat: in VkFormat + */ + virtual bool NewSharedVulkanImage( uint32_t nImageFormat, uint32_t nWidth, uint32_t nHeight, bool bRenderable, bool bMappable, bool bComputeAccess, uint32_t unMipLevels, uint32_t unArrayLayerCount, vr::SharedTextureHandle_t *pSharedHandle ) = 0; + + /** Create a new tracked Vulkan Buffer */ + virtual bool NewSharedVulkanBuffer( uint32_t nSize, uint32_t nUsageFlags, vr::SharedTextureHandle_t *pSharedHandle ) = 0; + + /** Create a new tracked Vulkan Semaphore */ + virtual bool NewSharedVulkanSemaphore( bool bCounting, vr::SharedTextureHandle_t *pSharedHandle ) = 0; + + /** Grab a reference to hSharedHandle, and optionally generate a new IPC handle if pNewIpcHandle is not nullptr */ + virtual bool RefResource( vr::SharedTextureHandle_t hSharedHandle, uint64_t *pNewIpcHandle ) = 0; + + /** Drop a reference to hSharedHandle */ + virtual bool UnrefResource( vr::SharedTextureHandle_t hSharedHandle ) = 0; + + /* Get all the DRM formats we support using DMA-BUF images for. + * + * pOutFormatCount and pOutFormats function like Vulkan: + * - If pOutFormats is NULL, then pOutFormatCount will be overwritten with the format count. + * - If pOutFormats is not NULL, then pOutFormatCount specifies the size of the pOutFormats array, + * and will be overwritten with the number of formats written to the array. + * + * If the function fails, false is returned, and pOutFormatCount will be 0. + * Supported on Linux only. + */ + virtual bool GetDmabufFormats( uint32_t *pOutFormatCount, uint32_t *pOutFormats ) = 0; + + /** Get dmabuf modifiers we are allowed to use. + * + * pOutModifierCount and pOutModifiers function like Vulkan: + * - If pOutModifiers is NULL, then pOutModifierCount will be overwritten with the modifier count. + * - If pOutModifiers is not NULL, then pOutModifierCount specifies the size of the pOutModifiers array, + * and will be overwritten with the number of modifiers written to the array. + * + * If modifiers are not supported, a single DRM_FORMAT_MOD_INVALID entry will be returned. + * + * If the function fails, false is returned, and pOutModifierCount will be 0. + * Supported on Linux only. + */ + virtual bool GetDmabufModifiers( vr::EVRApplicationType eApplicationType, uint32_t unDRMFormat, uint32_t *pOutModifierCount, uint64_t *pOutModifiers ) = 0; + + /** Import a dmabuf directly. + * Note: the FD you pass in will be dup'ed, so you must close it yourself. + * This function does NOT take ownership of the fd you pass in. + * Supported on Linux only. + */ + virtual bool ImportDmabuf( vr::EVRApplicationType eApplicationType, vr::DmabufAttributes_t *pDmabufAttributes, vr::SharedTextureHandle_t *pSharedHandle ) = 0; + + /** Consumes an IPC handle (eg. from RefResource) and returns a file-descriptor. + * Caller acquires ownership of fd and is responsible for closing it. + * Supported on Linux only. + */ + virtual bool ReceiveSharedFd( uint64_t ulIpcHandle, int *pOutFd ) = 0; + +protected: + /** Non-deletable */ + virtual ~IVRIPCResourceManagerClient() {}; +}; + +static const char *IVRIPCResourceManagerClient_Version = "IVRIPCResourceManagerClient_002"; + +} +// End + +#endif // _OPENVR_API + + + +namespace vr +{ +#if !defined( OPENVR_INTERFACE_INTERNAL ) + + /** Finds the active installation of the VR API and initializes it. The provided path must be absolute + * or relative to the current working directory. These are the local install versions of the equivalent + * functions in steamvr.h and will work without a local Steam install. + * + * This path is to the "root" of the VR API install. That's the directory with + * the "drivers" directory and a platform (i.e. "win32") directory in it, not the directory with the DLL itself. + * + * pStartupInfo is reserved for future use. + */ + inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo = nullptr ); + + /** unloads vrclient.dll. Any interface pointers from the interface are + * invalid after this point */ + inline void VR_Shutdown(); + + /** Returns true if there is an HMD attached. This check is as lightweight as possible and + * can be called outside of VR_Init/VR_Shutdown. It should be used when an application wants + * to know if initializing VR is a possibility but isn't ready to take that step yet. + */ + VR_INTERFACE bool VR_CALLTYPE VR_IsHmdPresent(); + + /** Returns true if the OpenVR runtime is installed. */ + VR_INTERFACE bool VR_CALLTYPE VR_IsRuntimeInstalled(); + + /** Returns where the OpenVR runtime is installed. */ + VR_INTERFACE bool VR_GetRuntimePath( VR_OUT_STRING() char *pchPathBuffer, uint32_t unBufferSize, uint32_t *punRequiredBufferSize ); + + /** Returns the name of the enum value for an EVRInitError. This function may be called outside of VR_Init()/VR_Shutdown(). */ + VR_INTERFACE const char *VR_CALLTYPE VR_GetVRInitErrorAsSymbol( EVRInitError error ); + + /** Returns an English string for an EVRInitError. Applications should call VR_GetVRInitErrorAsSymbol instead and + * use that as a key to look up their own localized error message. This function may be called outside of VR_Init()/VR_Shutdown(). */ + VR_INTERFACE const char *VR_CALLTYPE VR_GetVRInitErrorAsEnglishDescription( EVRInitError error ); + + /** Returns the interface of the specified version. This method must be called after VR_Init. The + * pointer returned is valid until VR_Shutdown is called. + */ + VR_INTERFACE void *VR_CALLTYPE VR_GetGenericInterface( const char *pchInterfaceVersion, EVRInitError *peError ); + + /** Returns whether the interface of the specified version exists. + */ + VR_INTERFACE bool VR_CALLTYPE VR_IsInterfaceVersionValid( const char *pchInterfaceVersion ); + + /** Returns a token that represents whether the VR interface handles need to be reloaded */ + VR_INTERFACE uint32_t VR_CALLTYPE VR_GetInitToken(); + + // These typedefs allow old enum names from SDK 0.9.11 to be used in applications. + // They will go away in the future. + typedef EVRInitError HmdError; + typedef EVREye Hmd_Eye; + typedef EColorSpace ColorSpace; + typedef ETrackingResult HmdTrackingResult; + typedef ETrackedDeviceClass TrackedDeviceClass; + typedef ETrackingUniverseOrigin TrackingUniverseOrigin; + typedef ETrackedDeviceProperty TrackedDeviceProperty; + typedef ETrackedPropertyError TrackedPropertyError; + typedef EVRSubmitFlags VRSubmitFlags_t; + typedef EVRState VRState_t; + typedef ECollisionBoundsStyle CollisionBoundsStyle_t; + typedef EVROverlayError VROverlayError; + typedef EVRFirmwareError VRFirmwareError; + typedef EVRCompositorError VRCompositorError; + typedef EVRScreenshotError VRScreenshotsError; + + inline uint32_t &VRToken() + { + static uint32_t token; + return token; + } + + class COpenVRContext + { + public: + COpenVRContext() { Clear(); } + void Clear(); + + inline void CheckClear() + { + if ( VRToken() != VR_GetInitToken() ) + { + Clear(); + VRToken() = VR_GetInitToken(); + } + } + + IVRSystem *VRSystem() + { + CheckClear(); + if ( m_pVRSystem == nullptr ) + { + EVRInitError eError; + m_pVRSystem = ( IVRSystem * )VR_GetGenericInterface( IVRSystem_Version, &eError ); + } + return m_pVRSystem; + } + IVRChaperone *VRChaperone() + { + CheckClear(); + if ( m_pVRChaperone == nullptr ) + { + EVRInitError eError; + m_pVRChaperone = ( IVRChaperone * )VR_GetGenericInterface( IVRChaperone_Version, &eError ); + } + return m_pVRChaperone; + } + + IVRChaperoneSetup *VRChaperoneSetup() + { + CheckClear(); + if ( m_pVRChaperoneSetup == nullptr ) + { + EVRInitError eError; + m_pVRChaperoneSetup = ( IVRChaperoneSetup * )VR_GetGenericInterface( IVRChaperoneSetup_Version, &eError ); + } + return m_pVRChaperoneSetup; + } + + IVRCompositor *VRCompositor() + { + CheckClear(); + if ( m_pVRCompositor == nullptr ) + { + EVRInitError eError; + m_pVRCompositor = ( IVRCompositor * )VR_GetGenericInterface( IVRCompositor_Version, &eError ); + } + return m_pVRCompositor; + } + + IVROverlay *VROverlay() + { + CheckClear(); + if ( m_pVROverlay == nullptr ) + { + EVRInitError eError; + m_pVROverlay = ( IVROverlay * )VR_GetGenericInterface( IVROverlay_Version, &eError ); + } + return m_pVROverlay; + } + + IVROverlayView *VROverlayView() + { + CheckClear(); + if ( m_pVROverlayView == nullptr ) + { + EVRInitError eError; + m_pVROverlayView = ( IVROverlayView * ) VR_GetGenericInterface( IVROverlayView_Version, &eError ); + } + return m_pVROverlayView; + } + + IVRHeadsetView *VRHeadsetView() + { + CheckClear(); + if ( m_pVRHeadsetView == nullptr ) + { + EVRInitError eError; + m_pVRHeadsetView = ( IVRHeadsetView * ) VR_GetGenericInterface( IVRHeadsetView_Version, &eError ); + } + return m_pVRHeadsetView; + } + + IVRResources *VRResources() + { + CheckClear(); + if ( m_pVRResources == nullptr ) + { + EVRInitError eError; + m_pVRResources = (IVRResources *)VR_GetGenericInterface( IVRResources_Version, &eError ); + } + return m_pVRResources; + } + + IVRScreenshots *VRScreenshots() + { + CheckClear(); + if ( m_pVRScreenshots == nullptr ) + { + EVRInitError eError; + m_pVRScreenshots = ( IVRScreenshots * )VR_GetGenericInterface( IVRScreenshots_Version, &eError ); + } + return m_pVRScreenshots; + } + + IVRRenderModels *VRRenderModels() + { + CheckClear(); + if ( m_pVRRenderModels == nullptr ) + { + EVRInitError eError; + m_pVRRenderModels = ( IVRRenderModels * )VR_GetGenericInterface( IVRRenderModels_Version, &eError ); + } + return m_pVRRenderModels; + } + + IVRExtendedDisplay *VRExtendedDisplay() + { + CheckClear(); + if ( m_pVRExtendedDisplay == nullptr ) + { + EVRInitError eError; + m_pVRExtendedDisplay = ( IVRExtendedDisplay * )VR_GetGenericInterface( IVRExtendedDisplay_Version, &eError ); + } + return m_pVRExtendedDisplay; + } + + IVRSettings *VRSettings() + { + CheckClear(); + if ( m_pVRSettings == nullptr ) + { + EVRInitError eError; + m_pVRSettings = ( IVRSettings * )VR_GetGenericInterface( IVRSettings_Version, &eError ); + } + return m_pVRSettings; + } + + IVRApplications *VRApplications() + { + CheckClear(); + if ( m_pVRApplications == nullptr ) + { + EVRInitError eError; + m_pVRApplications = ( IVRApplications * )VR_GetGenericInterface( IVRApplications_Version, &eError ); + } + return m_pVRApplications; + } + + IVRTrackedCamera *VRTrackedCamera() + { + CheckClear(); + if ( m_pVRTrackedCamera == nullptr ) + { + EVRInitError eError; + m_pVRTrackedCamera = ( IVRTrackedCamera * )VR_GetGenericInterface( IVRTrackedCamera_Version, &eError ); + } + return m_pVRTrackedCamera; + } + + IVRDriverManager *VRDriverManager() + { + CheckClear(); + if ( !m_pVRDriverManager ) + { + EVRInitError eError; + m_pVRDriverManager = ( IVRDriverManager * )VR_GetGenericInterface( IVRDriverManager_Version, &eError ); + } + return m_pVRDriverManager; + } + + IVRInput *VRInput() + { + CheckClear(); + if ( !m_pVRInput ) + { + EVRInitError eError; + m_pVRInput = (IVRInput *)VR_GetGenericInterface( IVRInput_Version, &eError ); + } + return m_pVRInput; + } + + IVRIOBuffer *VRIOBuffer() + { + if ( !m_pVRIOBuffer ) + { + EVRInitError eError; + m_pVRIOBuffer = ( IVRIOBuffer * )VR_GetGenericInterface( IVRIOBuffer_Version, &eError ); + } + return m_pVRIOBuffer; + } + + IVRSpatialAnchors *VRSpatialAnchors() + { + CheckClear(); + if ( !m_pVRSpatialAnchors ) + { + EVRInitError eError; + m_pVRSpatialAnchors = (IVRSpatialAnchors *)VR_GetGenericInterface( IVRSpatialAnchors_Version, &eError ); + } + return m_pVRSpatialAnchors; + } + + IVRDebug *VRDebug() + { + CheckClear(); + if ( !m_pVRDebug ) + { + EVRInitError eError; + m_pVRDebug = (IVRDebug *)VR_GetGenericInterface( IVRDebug_Version, &eError ); + } + return m_pVRDebug; + } + + IVRNotifications *VRNotifications() + { + CheckClear(); + if ( !m_pVRNotifications ) + { + EVRInitError eError; + m_pVRNotifications = ( IVRNotifications * )VR_GetGenericInterface( IVRNotifications_Version, &eError ); + } + return m_pVRNotifications; + } + + IVRIPCResourceManagerClient *VRIPCResourceManager() + { + CheckClear(); + if ( !m_pVRIPCResourceManagerClient ) + { + EVRInitError eError; + m_pVRIPCResourceManagerClient = ( IVRIPCResourceManagerClient * )VR_GetGenericInterface( IVRIPCResourceManagerClient_Version, &eError ); + } + return m_pVRIPCResourceManagerClient; + } + + private: + IVRSystem *m_pVRSystem; + IVRChaperone *m_pVRChaperone; + IVRChaperoneSetup *m_pVRChaperoneSetup; + IVRCompositor *m_pVRCompositor; + IVRHeadsetView *m_pVRHeadsetView; + IVROverlay *m_pVROverlay; + IVROverlayView *m_pVROverlayView; + IVRResources *m_pVRResources; + IVRRenderModels *m_pVRRenderModels; + IVRExtendedDisplay *m_pVRExtendedDisplay; + IVRSettings *m_pVRSettings; + IVRApplications *m_pVRApplications; + IVRTrackedCamera *m_pVRTrackedCamera; + IVRScreenshots *m_pVRScreenshots; + IVRDriverManager *m_pVRDriverManager; + IVRInput *m_pVRInput; + IVRIOBuffer *m_pVRIOBuffer; + IVRSpatialAnchors *m_pVRSpatialAnchors; + IVRDebug *m_pVRDebug; + IVRNotifications *m_pVRNotifications; + IVRIPCResourceManagerClient *m_pVRIPCResourceManagerClient; + }; + + inline COpenVRContext &OpenVRInternal_ModuleContext() + { + static void *ctx[ sizeof( COpenVRContext ) / sizeof( void * ) ]; + return *( COpenVRContext * )ctx; // bypass zero-init constructor + } + + inline IVRSystem *VR_CALLTYPE VRSystem() { return OpenVRInternal_ModuleContext().VRSystem(); } + inline IVRChaperone *VR_CALLTYPE VRChaperone() { return OpenVRInternal_ModuleContext().VRChaperone(); } + inline IVRChaperoneSetup *VR_CALLTYPE VRChaperoneSetup() { return OpenVRInternal_ModuleContext().VRChaperoneSetup(); } + inline IVRCompositor *VR_CALLTYPE VRCompositor() { return OpenVRInternal_ModuleContext().VRCompositor(); } + inline IVROverlay *VR_CALLTYPE VROverlay() { return OpenVRInternal_ModuleContext().VROverlay(); } + inline IVROverlayView *VR_CALLTYPE VROverlayView() { return OpenVRInternal_ModuleContext().VROverlayView(); } + inline IVRHeadsetView *VR_CALLTYPE VRHeadsetView() { return OpenVRInternal_ModuleContext().VRHeadsetView(); } + inline IVRScreenshots *VR_CALLTYPE VRScreenshots() { return OpenVRInternal_ModuleContext().VRScreenshots(); } + inline IVRRenderModels *VR_CALLTYPE VRRenderModels() { return OpenVRInternal_ModuleContext().VRRenderModels(); } + inline IVRApplications *VR_CALLTYPE VRApplications() { return OpenVRInternal_ModuleContext().VRApplications(); } + inline IVRSettings *VR_CALLTYPE VRSettings() { return OpenVRInternal_ModuleContext().VRSettings(); } + inline IVRResources *VR_CALLTYPE VRResources() { return OpenVRInternal_ModuleContext().VRResources(); } + inline IVRExtendedDisplay *VR_CALLTYPE VRExtendedDisplay() { return OpenVRInternal_ModuleContext().VRExtendedDisplay(); } + inline IVRTrackedCamera *VR_CALLTYPE VRTrackedCamera() { return OpenVRInternal_ModuleContext().VRTrackedCamera(); } + inline IVRDriverManager *VR_CALLTYPE VRDriverManager() { return OpenVRInternal_ModuleContext().VRDriverManager(); } + inline IVRInput *VR_CALLTYPE VRInput() { return OpenVRInternal_ModuleContext().VRInput(); } + inline IVRIOBuffer *VR_CALLTYPE VRIOBuffer() { return OpenVRInternal_ModuleContext().VRIOBuffer(); } + inline IVRSpatialAnchors *VR_CALLTYPE VRSpatialAnchors() { return OpenVRInternal_ModuleContext().VRSpatialAnchors(); } + inline IVRNotifications *VR_CALLTYPE VRNotifications() { return OpenVRInternal_ModuleContext().VRNotifications(); } + inline IVRDebug *VR_CALLTYPE VRDebug() { return OpenVRInternal_ModuleContext().VRDebug(); } + inline IVRIPCResourceManagerClient *VR_CALLTYPE VRIPCResourceManager() { return OpenVRInternal_ModuleContext().VRIPCResourceManager(); } + + inline void COpenVRContext::Clear() + { + m_pVRSystem = nullptr; + m_pVRChaperone = nullptr; + m_pVRChaperoneSetup = nullptr; + m_pVRCompositor = nullptr; + m_pVROverlay = nullptr; + m_pVROverlayView = nullptr; + m_pVRHeadsetView = nullptr; + m_pVRRenderModels = nullptr; + m_pVRExtendedDisplay = nullptr; + m_pVRSettings = nullptr; + m_pVRApplications = nullptr; + m_pVRTrackedCamera = nullptr; + m_pVRResources = nullptr; + m_pVRScreenshots = nullptr; + m_pVRDriverManager = nullptr; + m_pVRInput = nullptr; + m_pVRIOBuffer = nullptr; + m_pVRSpatialAnchors = nullptr; + m_pVRNotifications = nullptr; + m_pVRDebug = nullptr; + m_pVRIPCResourceManagerClient = nullptr; + } + + VR_INTERFACE uint32_t VR_CALLTYPE VR_InitInternal2( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo ); + VR_INTERFACE void VR_CALLTYPE VR_ShutdownInternal(); + + /** Finds the active installation of vrclient.dll and initializes it */ + inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType, const char *pStartupInfo ) + { + IVRSystem *pVRSystem = nullptr; + + EVRInitError eError; + VRToken() = VR_InitInternal2( &eError, eApplicationType, pStartupInfo ); + COpenVRContext &ctx = OpenVRInternal_ModuleContext(); + ctx.Clear(); + + if ( eError == VRInitError_None ) + { + if ( VR_IsInterfaceVersionValid( IVRSystem_Version ) ) + { + pVRSystem = VRSystem(); + } + else + { + VR_ShutdownInternal(); + eError = VRInitError_Init_InterfaceNotFound; + } + } + + if ( peError ) + *peError = eError; + return pVRSystem; + } + + /** unloads vrclient.dll. Any interface pointers from the interface are + * invalid after this point */ + inline void VR_Shutdown() + { + VR_ShutdownInternal(); + } + +#endif // OPENVR_INTERFACE_INTERNAL +} diff --git a/vrclient_x64/unix_private_generated.h b/vrclient_x64/unix_private_generated.h index 2152f51ce4..e82b24ebe1 100644 --- a/vrclient_x64/unix_private_generated.h +++ b/vrclient_x64/unix_private_generated.h @@ -4441,6 +4441,118 @@ struct u_IVROverlay_IVROverlay_028 #endif /* __cplusplus */ }; +struct u_IVRSystem_IVRSystem_023 +{ +#ifdef __cplusplus + virtual void GetRecommendedRenderTargetSize( uint32_t *, uint32_t * ) = 0; + virtual HmdMatrix44_t GetProjectionMatrix( uint32_t, float, float ) = 0; + virtual void GetProjectionRaw( uint32_t, float *, float *, float *, float * ) = 0; + virtual int8_t ComputeDistortion( uint32_t, float, float, DistortionCoordinates_t * ) = 0; + virtual HmdMatrix34_t GetEyeToHeadTransform( uint32_t ) = 0; + virtual int8_t GetTimeSinceLastVsync( float *, uint64_t * ) = 0; + virtual int32_t GetD3D9AdapterIndex( ) = 0; + virtual void GetDXGIOutputInfo( int32_t * ) = 0; + virtual void GetOutputDevice( uint64_t *, uint32_t, VkInstance_T * ) = 0; + virtual int8_t IsDisplayOnDesktop( ) = 0; + virtual int8_t SetDisplayVisibility( int8_t ) = 0; + virtual void GetDeviceToAbsoluteTrackingPose( uint32_t, float, TrackedDevicePose_t *, uint32_t ) = 0; + virtual HmdMatrix34_t GetSeatedZeroPoseToStandingAbsoluteTrackingPose( ) = 0; + virtual HmdMatrix34_t GetRawZeroPoseToStandingAbsoluteTrackingPose( ) = 0; + virtual uint32_t GetSortedTrackedDeviceIndicesOfClass( uint32_t, uint32_t *, uint32_t, uint32_t ) = 0; + virtual uint32_t GetTrackedDeviceActivityLevel( uint32_t ) = 0; + virtual void ApplyTransform( TrackedDevicePose_t *, const TrackedDevicePose_t *, const HmdMatrix34_t * ) = 0; + virtual uint32_t GetTrackedDeviceIndexForControllerRole( uint32_t ) = 0; + virtual uint32_t GetControllerRoleForTrackedDeviceIndex( uint32_t ) = 0; + virtual uint32_t GetTrackedDeviceClass( uint32_t ) = 0; + virtual int8_t IsTrackedDeviceConnected( uint32_t ) = 0; + virtual int8_t GetBoolTrackedDeviceProperty( uint32_t, uint32_t, uint32_t * ) = 0; + virtual float GetFloatTrackedDeviceProperty( uint32_t, uint32_t, uint32_t * ) = 0; + virtual int32_t GetInt32TrackedDeviceProperty( uint32_t, uint32_t, uint32_t * ) = 0; + virtual uint64_t GetUint64TrackedDeviceProperty( uint32_t, uint32_t, uint32_t * ) = 0; + virtual HmdMatrix34_t GetMatrix34TrackedDeviceProperty( uint32_t, uint32_t, uint32_t * ) = 0; + virtual uint32_t GetArrayTrackedDeviceProperty( uint32_t, uint32_t, uint32_t, void *, uint32_t, uint32_t * ) = 0; + virtual uint32_t GetStringTrackedDeviceProperty( uint32_t, uint32_t, char *, uint32_t, uint32_t * ) = 0; + virtual const char * GetPropErrorNameFromEnum( uint32_t ) = 0; + virtual int8_t PollNextEvent( u_VREvent_t_223 *, uint32_t ) = 0; + virtual int8_t PollNextEventWithPose( uint32_t, u_VREvent_t_223 *, uint32_t, TrackedDevicePose_t * ) = 0; + virtual int8_t PollNextEventWithPoseAndOverlays( uint32_t, u_VREvent_t_223 *, uint32_t, TrackedDevicePose_t *, uint64_t * ) = 0; + virtual const char * GetEventTypeNameFromEnum( uint32_t ) = 0; + virtual u_HiddenAreaMesh_t GetHiddenAreaMesh( uint32_t, uint32_t ) = 0; + virtual int8_t GetControllerState( uint32_t, u_VRControllerState001_t *, uint32_t ) = 0; + virtual int8_t GetControllerStateWithPose( uint32_t, uint32_t, u_VRControllerState001_t *, uint32_t, TrackedDevicePose_t * ) = 0; + virtual void TriggerHapticPulse( uint32_t, uint32_t, uint16_t ) = 0; + virtual const char * GetButtonIdNameFromEnum( uint32_t ) = 0; + virtual const char * GetControllerAxisTypeNameFromEnum( uint32_t ) = 0; + virtual int8_t IsInputAvailable( ) = 0; + virtual int8_t IsSteamVRDrawingControllers( ) = 0; + virtual int8_t ShouldApplicationPause( ) = 0; + virtual int8_t ShouldApplicationReduceRenderingWork( ) = 0; + virtual uint32_t PerformFirmwareUpdate( uint32_t ) = 0; + virtual void AcknowledgeQuit_Exiting( ) = 0; + virtual uint32_t GetAppContainerFilePaths( char *, uint32_t ) = 0; + virtual const char * GetRuntimeVersion( ) = 0; +#endif /* __cplusplus */ +}; + +struct u_IVRCompositor_IVRCompositor_029 +{ +#ifdef __cplusplus + virtual void SetTrackingSpace( uint32_t ) = 0; + virtual uint32_t GetTrackingSpace( ) = 0; + virtual uint32_t WaitGetPoses( TrackedDevicePose_t *, uint32_t, TrackedDevicePose_t *, uint32_t ) = 0; + virtual uint32_t GetLastPoses( TrackedDevicePose_t *, uint32_t, TrackedDevicePose_t *, uint32_t ) = 0; + virtual uint32_t GetLastPoseForTrackedDeviceIndex( uint32_t, TrackedDevicePose_t *, TrackedDevicePose_t * ) = 0; + virtual uint32_t GetSubmitTexture( u_Texture_t *, int8_t *, uint32_t, const u_Texture_t *, const VRTextureBounds_t *, uint32_t ) = 0; + virtual uint32_t Submit( uint32_t, const u_Texture_t *, const VRTextureBounds_t *, uint32_t ) = 0; + virtual uint32_t SubmitWithArrayIndex( uint32_t, const u_Texture_t *, uint32_t, const VRTextureBounds_t *, uint32_t ) = 0; + virtual void ClearLastSubmittedFrame( ) = 0; + virtual void PostPresentHandoff( ) = 0; + virtual int8_t GetFrameTiming( u_Compositor_FrameTiming_251 *, uint32_t ) = 0; + virtual uint32_t GetFrameTimings( u_Compositor_FrameTiming_251 *, uint32_t ) = 0; + virtual float GetFrameTimeRemaining( ) = 0; + virtual void GetCumulativeStats( Compositor_CumulativeStats_1267 *, uint32_t ) = 0; + virtual void FadeToColor( float, float, float, float, float, int8_t ) = 0; + virtual HmdColor_t GetCurrentFadeColor( int8_t ) = 0; + virtual void FadeGrid( float, int8_t ) = 0; + virtual float GetCurrentGridAlpha( ) = 0; + virtual uint32_t SetSkyboxOverride( const u_Texture_t *, uint32_t ) = 0; + virtual void ClearSkyboxOverride( ) = 0; + virtual void CompositorBringToFront( ) = 0; + virtual void CompositorGoToBack( ) = 0; + virtual void CompositorQuit( ) = 0; + virtual int8_t IsFullscreen( ) = 0; + virtual uint32_t GetCurrentSceneFocusProcess( ) = 0; + virtual uint32_t GetLastFrameRenderer( ) = 0; + virtual int8_t CanRenderScene( ) = 0; + virtual void ShowMirrorWindow( ) = 0; + virtual void HideMirrorWindow( ) = 0; + virtual int8_t IsMirrorWindowVisible( ) = 0; + virtual void CompositorDumpImages( ) = 0; + virtual int8_t ShouldAppRenderWithLowResources( ) = 0; + virtual void ForceInterleavedReprojectionOn( int8_t ) = 0; + virtual void ForceReconnectProcess( ) = 0; + virtual void SuspendRendering( int8_t ) = 0; + virtual uint32_t GetMirrorTextureD3D11( uint32_t, void *, void ** ) = 0; + virtual void ReleaseMirrorTextureD3D11( void * ) = 0; + virtual uint32_t GetMirrorTextureGL( uint32_t, uint32_t *, void ** ) = 0; + virtual int8_t ReleaseSharedGLTexture( uint32_t, void * ) = 0; + virtual void LockGLSharedTextureForAccess( void * ) = 0; + virtual void UnlockGLSharedTextureForAccess( void * ) = 0; + virtual uint32_t GetVulkanInstanceExtensionsRequired( char *, uint32_t ) = 0; + virtual uint32_t GetVulkanDeviceExtensionsRequired( VkPhysicalDevice_T *, char *, uint32_t ) = 0; + virtual void SetExplicitTimingMode( uint32_t ) = 0; + virtual uint32_t SubmitExplicitTimingData( ) = 0; + virtual int8_t IsMotionSmoothingEnabled( ) = 0; + virtual int8_t IsMotionSmoothingSupported( ) = 0; + virtual int8_t IsCurrentSceneFocusAppLoading( ) = 0; + virtual uint32_t SetStageOverride_Async( const char *, const HmdMatrix34_t *, const Compositor_StageRenderSettings *, uint32_t ) = 0; + virtual void ClearStageOverride( ) = 0; + virtual int8_t GetCompositorBenchmarkResults( Compositor_BenchmarkResults *, uint32_t ) = 0; + virtual uint32_t GetLastPosePredictionIDs( uint32_t *, uint32_t * ) = 0; + virtual uint32_t GetPosesForFrame( uint32_t, TrackedDevicePose_t *, uint32_t ) = 0; +#endif /* __cplusplus */ +}; + NTSTATUS IVRApplications_IVRApplications_001_AddApplicationManifest( void * ); NTSTATUS wow64_IVRApplications_IVRApplications_001_AddApplicationManifest( void * ); @@ -6496,6 +6608,112 @@ NTSTATUS IVRCompositor_IVRCompositor_028_GetLastPosePredictionIDs( void * ); NTSTATUS wow64_IVRCompositor_IVRCompositor_028_GetLastPosePredictionIDs( void * ); NTSTATUS IVRCompositor_IVRCompositor_028_GetPosesForFrame( void * ); NTSTATUS wow64_IVRCompositor_IVRCompositor_028_GetPosesForFrame( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_SetTrackingSpace( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_SetTrackingSpace( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_GetTrackingSpace( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetTrackingSpace( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_WaitGetPoses( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_WaitGetPoses( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_GetLastPoses( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetLastPoses( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_GetLastPoseForTrackedDeviceIndex( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetLastPoseForTrackedDeviceIndex( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_GetSubmitTexture( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetSubmitTexture( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_Submit( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_Submit( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_SubmitWithArrayIndex( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_SubmitWithArrayIndex( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_ClearLastSubmittedFrame( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_ClearLastSubmittedFrame( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_PostPresentHandoff( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_PostPresentHandoff( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_GetFrameTiming( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetFrameTiming( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_GetFrameTimings( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetFrameTimings( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_GetFrameTimeRemaining( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetFrameTimeRemaining( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_GetCumulativeStats( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetCumulativeStats( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_FadeToColor( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_FadeToColor( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_GetCurrentFadeColor( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetCurrentFadeColor( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_FadeGrid( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_FadeGrid( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_GetCurrentGridAlpha( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetCurrentGridAlpha( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_SetSkyboxOverride( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_SetSkyboxOverride( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_ClearSkyboxOverride( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_ClearSkyboxOverride( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_CompositorBringToFront( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_CompositorBringToFront( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_CompositorGoToBack( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_CompositorGoToBack( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_CompositorQuit( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_CompositorQuit( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_IsFullscreen( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_IsFullscreen( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_GetCurrentSceneFocusProcess( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetCurrentSceneFocusProcess( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_GetLastFrameRenderer( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetLastFrameRenderer( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_CanRenderScene( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_CanRenderScene( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_ShowMirrorWindow( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_ShowMirrorWindow( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_HideMirrorWindow( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_HideMirrorWindow( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_IsMirrorWindowVisible( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_IsMirrorWindowVisible( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_CompositorDumpImages( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_CompositorDumpImages( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_ShouldAppRenderWithLowResources( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_ShouldAppRenderWithLowResources( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_ForceInterleavedReprojectionOn( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_ForceInterleavedReprojectionOn( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_ForceReconnectProcess( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_ForceReconnectProcess( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_SuspendRendering( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_SuspendRendering( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_GetMirrorTextureD3D11( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetMirrorTextureD3D11( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_ReleaseMirrorTextureD3D11( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_ReleaseMirrorTextureD3D11( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_GetMirrorTextureGL( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetMirrorTextureGL( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_ReleaseSharedGLTexture( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_ReleaseSharedGLTexture( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_LockGLSharedTextureForAccess( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_LockGLSharedTextureForAccess( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_UnlockGLSharedTextureForAccess( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_UnlockGLSharedTextureForAccess( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_GetVulkanInstanceExtensionsRequired( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetVulkanInstanceExtensionsRequired( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_GetVulkanDeviceExtensionsRequired( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetVulkanDeviceExtensionsRequired( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_SetExplicitTimingMode( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_SetExplicitTimingMode( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_SubmitExplicitTimingData( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_SubmitExplicitTimingData( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_IsMotionSmoothingEnabled( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_IsMotionSmoothingEnabled( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_IsMotionSmoothingSupported( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_IsMotionSmoothingSupported( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_IsCurrentSceneFocusAppLoading( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_IsCurrentSceneFocusAppLoading( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_SetStageOverride_Async( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_SetStageOverride_Async( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_ClearStageOverride( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_ClearStageOverride( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_GetCompositorBenchmarkResults( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetCompositorBenchmarkResults( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_GetLastPosePredictionIDs( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetLastPosePredictionIDs( void * ); +NTSTATUS IVRCompositor_IVRCompositor_029_GetPosesForFrame( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_029_GetPosesForFrame( void * ); NTSTATUS IVRControlPanel_IVRControlPanel_006_undoc1( void * ); NTSTATUS wow64_IVRControlPanel_IVRControlPanel_006_undoc1( void * ); NTSTATUS IVRControlPanel_IVRControlPanel_006_undoc2( void * ); @@ -11856,6 +12074,100 @@ NTSTATUS IVRSystem_IVRSystem_022_GetAppContainerFilePaths( void * ); NTSTATUS wow64_IVRSystem_IVRSystem_022_GetAppContainerFilePaths( void * ); NTSTATUS IVRSystem_IVRSystem_022_GetRuntimeVersion( void * ); NTSTATUS wow64_IVRSystem_IVRSystem_022_GetRuntimeVersion( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetRecommendedRenderTargetSize( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetRecommendedRenderTargetSize( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetProjectionMatrix( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetProjectionMatrix( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetProjectionRaw( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetProjectionRaw( void * ); +NTSTATUS IVRSystem_IVRSystem_023_ComputeDistortion( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_ComputeDistortion( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetEyeToHeadTransform( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetEyeToHeadTransform( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetTimeSinceLastVsync( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetTimeSinceLastVsync( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetD3D9AdapterIndex( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetD3D9AdapterIndex( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetDXGIOutputInfo( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetDXGIOutputInfo( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetOutputDevice( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetOutputDevice( void * ); +NTSTATUS IVRSystem_IVRSystem_023_IsDisplayOnDesktop( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_IsDisplayOnDesktop( void * ); +NTSTATUS IVRSystem_IVRSystem_023_SetDisplayVisibility( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_SetDisplayVisibility( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetDeviceToAbsoluteTrackingPose( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetDeviceToAbsoluteTrackingPose( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetSeatedZeroPoseToStandingAbsoluteTrackingPose( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetSeatedZeroPoseToStandingAbsoluteTrackingPose( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetRawZeroPoseToStandingAbsoluteTrackingPose( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetRawZeroPoseToStandingAbsoluteTrackingPose( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetSortedTrackedDeviceIndicesOfClass( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetSortedTrackedDeviceIndicesOfClass( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetTrackedDeviceActivityLevel( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetTrackedDeviceActivityLevel( void * ); +NTSTATUS IVRSystem_IVRSystem_023_ApplyTransform( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_ApplyTransform( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetTrackedDeviceIndexForControllerRole( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetTrackedDeviceIndexForControllerRole( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetControllerRoleForTrackedDeviceIndex( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetControllerRoleForTrackedDeviceIndex( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetTrackedDeviceClass( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetTrackedDeviceClass( void * ); +NTSTATUS IVRSystem_IVRSystem_023_IsTrackedDeviceConnected( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_IsTrackedDeviceConnected( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetBoolTrackedDeviceProperty( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetBoolTrackedDeviceProperty( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetFloatTrackedDeviceProperty( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetFloatTrackedDeviceProperty( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetInt32TrackedDeviceProperty( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetInt32TrackedDeviceProperty( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetUint64TrackedDeviceProperty( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetUint64TrackedDeviceProperty( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetMatrix34TrackedDeviceProperty( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetMatrix34TrackedDeviceProperty( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetArrayTrackedDeviceProperty( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetArrayTrackedDeviceProperty( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetStringTrackedDeviceProperty( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetStringTrackedDeviceProperty( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetPropErrorNameFromEnum( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetPropErrorNameFromEnum( void * ); +NTSTATUS IVRSystem_IVRSystem_023_PollNextEvent( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_PollNextEvent( void * ); +NTSTATUS IVRSystem_IVRSystem_023_PollNextEventWithPose( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_PollNextEventWithPose( void * ); +NTSTATUS IVRSystem_IVRSystem_023_PollNextEventWithPoseAndOverlays( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_PollNextEventWithPoseAndOverlays( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetEventTypeNameFromEnum( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetEventTypeNameFromEnum( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetHiddenAreaMesh( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetHiddenAreaMesh( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetControllerState( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetControllerState( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetControllerStateWithPose( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetControllerStateWithPose( void * ); +NTSTATUS IVRSystem_IVRSystem_023_TriggerHapticPulse( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_TriggerHapticPulse( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetButtonIdNameFromEnum( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetButtonIdNameFromEnum( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetControllerAxisTypeNameFromEnum( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetControllerAxisTypeNameFromEnum( void * ); +NTSTATUS IVRSystem_IVRSystem_023_IsInputAvailable( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_IsInputAvailable( void * ); +NTSTATUS IVRSystem_IVRSystem_023_IsSteamVRDrawingControllers( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_IsSteamVRDrawingControllers( void * ); +NTSTATUS IVRSystem_IVRSystem_023_ShouldApplicationPause( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_ShouldApplicationPause( void * ); +NTSTATUS IVRSystem_IVRSystem_023_ShouldApplicationReduceRenderingWork( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_ShouldApplicationReduceRenderingWork( void * ); +NTSTATUS IVRSystem_IVRSystem_023_PerformFirmwareUpdate( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_PerformFirmwareUpdate( void * ); +NTSTATUS IVRSystem_IVRSystem_023_AcknowledgeQuit_Exiting( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_AcknowledgeQuit_Exiting( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetAppContainerFilePaths( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetAppContainerFilePaths( void * ); +NTSTATUS IVRSystem_IVRSystem_023_GetRuntimeVersion( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_023_GetRuntimeVersion( void * ); NTSTATUS IVRTrackedCamera_IVRTrackedCamera_001_HasCamera( void * ); NTSTATUS wow64_IVRTrackedCamera_IVRTrackedCamera_001_HasCamera( void * ); NTSTATUS IVRTrackedCamera_IVRTrackedCamera_001_GetCameraFirmwareDescription( void * ); diff --git a/vrclient_x64/unix_vrcompositor_manual.cpp b/vrclient_x64/unix_vrcompositor_manual.cpp index f420d49b6c..7c010488ff 100644 --- a/vrclient_x64/unix_vrcompositor_manual.cpp +++ b/vrclient_x64/unix_vrcompositor_manual.cpp @@ -242,6 +242,14 @@ static NTSTATUS IVRCompositor_SubmitWithArrayIndex( Iface *iface, Params *params return 0; } +template< typename Iface, typename Params > +static NTSTATUS IVRCompositor_GetSubmitTexture( Iface *iface, Params *params, bool wow64 ) +{ + FIXME( "Not implemented.\n" ); + params->_ret = 1; /* VRCompositorError_RequestFailed */; + return 0; +} + VRCLIENT_UNIX_IMPL( IVRCompositor, 009, SetSkyboxOverride ); VRCLIENT_UNIX_IMPL( IVRCompositor, 009, Submit ); VRCLIENT_UNIX_IMPL( IVRCompositor, 010, SetSkyboxOverride ); @@ -287,3 +295,8 @@ VRCLIENT_UNIX_IMPL( IVRCompositor, 028, GetVulkanDeviceExtensionsRequired ); VRCLIENT_UNIX_IMPL( IVRCompositor, 028, SetSkyboxOverride ); VRCLIENT_UNIX_IMPL( IVRCompositor, 028, Submit ); VRCLIENT_UNIX_IMPL( IVRCompositor, 028, SubmitWithArrayIndex ); +VRCLIENT_UNIX_IMPL( IVRCompositor, 029, GetVulkanDeviceExtensionsRequired ); +VRCLIENT_UNIX_IMPL( IVRCompositor, 029, SetSkyboxOverride ); +VRCLIENT_UNIX_IMPL( IVRCompositor, 029, Submit ); +VRCLIENT_UNIX_IMPL( IVRCompositor, 029, SubmitWithArrayIndex ); +VRCLIENT_UNIX_IMPL( IVRCompositor, 029, GetSubmitTexture ); diff --git a/vrclient_x64/unix_vrsystem_manual.cpp b/vrclient_x64/unix_vrsystem_manual.cpp index 8527b860b3..668dd5ec3b 100644 --- a/vrclient_x64/unix_vrsystem_manual.cpp +++ b/vrclient_x64/unix_vrsystem_manual.cpp @@ -39,3 +39,4 @@ VRCLIENT_UNIX_IMPL( IVRSystem, 019, GetOutputDevice ); VRCLIENT_UNIX_IMPL( IVRSystem, 020, GetOutputDevice ); VRCLIENT_UNIX_IMPL( IVRSystem, 021, GetOutputDevice ); VRCLIENT_UNIX_IMPL( IVRSystem, 022, GetOutputDevice ); +VRCLIENT_UNIX_IMPL( IVRSystem, 023, GetOutputDevice ); diff --git a/vrclient_x64/unixlib_generated.cpp b/vrclient_x64/unixlib_generated.cpp index 62d5055ef0..309bade125 100644 --- a/vrclient_x64/unixlib_generated.cpp +++ b/vrclient_x64/unixlib_generated.cpp @@ -1040,6 +1040,59 @@ extern "C" const unixlib_entry_t __wine_unix_call_funcs[] = IVRCompositor_IVRCompositor_028_GetCompositorBenchmarkResults, IVRCompositor_IVRCompositor_028_GetLastPosePredictionIDs, IVRCompositor_IVRCompositor_028_GetPosesForFrame, + IVRCompositor_IVRCompositor_029_SetTrackingSpace, + IVRCompositor_IVRCompositor_029_GetTrackingSpace, + IVRCompositor_IVRCompositor_029_WaitGetPoses, + IVRCompositor_IVRCompositor_029_GetLastPoses, + IVRCompositor_IVRCompositor_029_GetLastPoseForTrackedDeviceIndex, + IVRCompositor_IVRCompositor_029_GetSubmitTexture, + IVRCompositor_IVRCompositor_029_Submit, + IVRCompositor_IVRCompositor_029_SubmitWithArrayIndex, + IVRCompositor_IVRCompositor_029_ClearLastSubmittedFrame, + IVRCompositor_IVRCompositor_029_PostPresentHandoff, + IVRCompositor_IVRCompositor_029_GetFrameTiming, + IVRCompositor_IVRCompositor_029_GetFrameTimings, + IVRCompositor_IVRCompositor_029_GetFrameTimeRemaining, + IVRCompositor_IVRCompositor_029_GetCumulativeStats, + IVRCompositor_IVRCompositor_029_FadeToColor, + IVRCompositor_IVRCompositor_029_GetCurrentFadeColor, + IVRCompositor_IVRCompositor_029_FadeGrid, + IVRCompositor_IVRCompositor_029_GetCurrentGridAlpha, + IVRCompositor_IVRCompositor_029_SetSkyboxOverride, + IVRCompositor_IVRCompositor_029_ClearSkyboxOverride, + IVRCompositor_IVRCompositor_029_CompositorBringToFront, + IVRCompositor_IVRCompositor_029_CompositorGoToBack, + IVRCompositor_IVRCompositor_029_CompositorQuit, + IVRCompositor_IVRCompositor_029_IsFullscreen, + IVRCompositor_IVRCompositor_029_GetCurrentSceneFocusProcess, + IVRCompositor_IVRCompositor_029_GetLastFrameRenderer, + IVRCompositor_IVRCompositor_029_CanRenderScene, + IVRCompositor_IVRCompositor_029_ShowMirrorWindow, + IVRCompositor_IVRCompositor_029_HideMirrorWindow, + IVRCompositor_IVRCompositor_029_IsMirrorWindowVisible, + IVRCompositor_IVRCompositor_029_CompositorDumpImages, + IVRCompositor_IVRCompositor_029_ShouldAppRenderWithLowResources, + IVRCompositor_IVRCompositor_029_ForceInterleavedReprojectionOn, + IVRCompositor_IVRCompositor_029_ForceReconnectProcess, + IVRCompositor_IVRCompositor_029_SuspendRendering, + IVRCompositor_IVRCompositor_029_GetMirrorTextureD3D11, + IVRCompositor_IVRCompositor_029_ReleaseMirrorTextureD3D11, + IVRCompositor_IVRCompositor_029_GetMirrorTextureGL, + IVRCompositor_IVRCompositor_029_ReleaseSharedGLTexture, + IVRCompositor_IVRCompositor_029_LockGLSharedTextureForAccess, + IVRCompositor_IVRCompositor_029_UnlockGLSharedTextureForAccess, + IVRCompositor_IVRCompositor_029_GetVulkanInstanceExtensionsRequired, + IVRCompositor_IVRCompositor_029_GetVulkanDeviceExtensionsRequired, + IVRCompositor_IVRCompositor_029_SetExplicitTimingMode, + IVRCompositor_IVRCompositor_029_SubmitExplicitTimingData, + IVRCompositor_IVRCompositor_029_IsMotionSmoothingEnabled, + IVRCompositor_IVRCompositor_029_IsMotionSmoothingSupported, + IVRCompositor_IVRCompositor_029_IsCurrentSceneFocusAppLoading, + IVRCompositor_IVRCompositor_029_SetStageOverride_Async, + IVRCompositor_IVRCompositor_029_ClearStageOverride, + IVRCompositor_IVRCompositor_029_GetCompositorBenchmarkResults, + IVRCompositor_IVRCompositor_029_GetLastPosePredictionIDs, + IVRCompositor_IVRCompositor_029_GetPosesForFrame, IVRControlPanel_IVRControlPanel_006_undoc1, IVRControlPanel_IVRControlPanel_006_undoc2, IVRControlPanel_IVRControlPanel_006_undoc3, @@ -3720,6 +3773,53 @@ extern "C" const unixlib_entry_t __wine_unix_call_funcs[] = IVRSystem_IVRSystem_022_AcknowledgeQuit_Exiting, IVRSystem_IVRSystem_022_GetAppContainerFilePaths, IVRSystem_IVRSystem_022_GetRuntimeVersion, + IVRSystem_IVRSystem_023_GetRecommendedRenderTargetSize, + IVRSystem_IVRSystem_023_GetProjectionMatrix, + IVRSystem_IVRSystem_023_GetProjectionRaw, + IVRSystem_IVRSystem_023_ComputeDistortion, + IVRSystem_IVRSystem_023_GetEyeToHeadTransform, + IVRSystem_IVRSystem_023_GetTimeSinceLastVsync, + IVRSystem_IVRSystem_023_GetD3D9AdapterIndex, + IVRSystem_IVRSystem_023_GetDXGIOutputInfo, + IVRSystem_IVRSystem_023_GetOutputDevice, + IVRSystem_IVRSystem_023_IsDisplayOnDesktop, + IVRSystem_IVRSystem_023_SetDisplayVisibility, + IVRSystem_IVRSystem_023_GetDeviceToAbsoluteTrackingPose, + IVRSystem_IVRSystem_023_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, + IVRSystem_IVRSystem_023_GetRawZeroPoseToStandingAbsoluteTrackingPose, + IVRSystem_IVRSystem_023_GetSortedTrackedDeviceIndicesOfClass, + IVRSystem_IVRSystem_023_GetTrackedDeviceActivityLevel, + IVRSystem_IVRSystem_023_ApplyTransform, + IVRSystem_IVRSystem_023_GetTrackedDeviceIndexForControllerRole, + IVRSystem_IVRSystem_023_GetControllerRoleForTrackedDeviceIndex, + IVRSystem_IVRSystem_023_GetTrackedDeviceClass, + IVRSystem_IVRSystem_023_IsTrackedDeviceConnected, + IVRSystem_IVRSystem_023_GetBoolTrackedDeviceProperty, + IVRSystem_IVRSystem_023_GetFloatTrackedDeviceProperty, + IVRSystem_IVRSystem_023_GetInt32TrackedDeviceProperty, + IVRSystem_IVRSystem_023_GetUint64TrackedDeviceProperty, + IVRSystem_IVRSystem_023_GetMatrix34TrackedDeviceProperty, + IVRSystem_IVRSystem_023_GetArrayTrackedDeviceProperty, + IVRSystem_IVRSystem_023_GetStringTrackedDeviceProperty, + IVRSystem_IVRSystem_023_GetPropErrorNameFromEnum, + IVRSystem_IVRSystem_023_PollNextEvent, + IVRSystem_IVRSystem_023_PollNextEventWithPose, + IVRSystem_IVRSystem_023_PollNextEventWithPoseAndOverlays, + IVRSystem_IVRSystem_023_GetEventTypeNameFromEnum, + IVRSystem_IVRSystem_023_GetHiddenAreaMesh, + IVRSystem_IVRSystem_023_GetControllerState, + IVRSystem_IVRSystem_023_GetControllerStateWithPose, + IVRSystem_IVRSystem_023_TriggerHapticPulse, + IVRSystem_IVRSystem_023_GetButtonIdNameFromEnum, + IVRSystem_IVRSystem_023_GetControllerAxisTypeNameFromEnum, + IVRSystem_IVRSystem_023_IsInputAvailable, + IVRSystem_IVRSystem_023_IsSteamVRDrawingControllers, + IVRSystem_IVRSystem_023_ShouldApplicationPause, + IVRSystem_IVRSystem_023_ShouldApplicationReduceRenderingWork, + IVRSystem_IVRSystem_023_PerformFirmwareUpdate, + IVRSystem_IVRSystem_023_AcknowledgeQuit_Exiting, + IVRSystem_IVRSystem_023_GetAppContainerFilePaths, + IVRSystem_IVRSystem_023_GetRuntimeVersion, IVRTrackedCamera_IVRTrackedCamera_001_HasCamera, IVRTrackedCamera_IVRTrackedCamera_001_GetCameraFirmwareDescription, IVRTrackedCamera_IVRTrackedCamera_001_GetCameraFrameDimensions, @@ -4834,6 +4934,59 @@ extern "C" const unixlib_entry_t __wine_unix_call_wow64_funcs[] = wow64_IVRCompositor_IVRCompositor_028_GetCompositorBenchmarkResults, wow64_IVRCompositor_IVRCompositor_028_GetLastPosePredictionIDs, wow64_IVRCompositor_IVRCompositor_028_GetPosesForFrame, + wow64_IVRCompositor_IVRCompositor_029_SetTrackingSpace, + wow64_IVRCompositor_IVRCompositor_029_GetTrackingSpace, + wow64_IVRCompositor_IVRCompositor_029_WaitGetPoses, + wow64_IVRCompositor_IVRCompositor_029_GetLastPoses, + wow64_IVRCompositor_IVRCompositor_029_GetLastPoseForTrackedDeviceIndex, + wow64_IVRCompositor_IVRCompositor_029_GetSubmitTexture, + wow64_IVRCompositor_IVRCompositor_029_Submit, + wow64_IVRCompositor_IVRCompositor_029_SubmitWithArrayIndex, + wow64_IVRCompositor_IVRCompositor_029_ClearLastSubmittedFrame, + wow64_IVRCompositor_IVRCompositor_029_PostPresentHandoff, + wow64_IVRCompositor_IVRCompositor_029_GetFrameTiming, + wow64_IVRCompositor_IVRCompositor_029_GetFrameTimings, + wow64_IVRCompositor_IVRCompositor_029_GetFrameTimeRemaining, + wow64_IVRCompositor_IVRCompositor_029_GetCumulativeStats, + wow64_IVRCompositor_IVRCompositor_029_FadeToColor, + wow64_IVRCompositor_IVRCompositor_029_GetCurrentFadeColor, + wow64_IVRCompositor_IVRCompositor_029_FadeGrid, + wow64_IVRCompositor_IVRCompositor_029_GetCurrentGridAlpha, + wow64_IVRCompositor_IVRCompositor_029_SetSkyboxOverride, + wow64_IVRCompositor_IVRCompositor_029_ClearSkyboxOverride, + wow64_IVRCompositor_IVRCompositor_029_CompositorBringToFront, + wow64_IVRCompositor_IVRCompositor_029_CompositorGoToBack, + wow64_IVRCompositor_IVRCompositor_029_CompositorQuit, + wow64_IVRCompositor_IVRCompositor_029_IsFullscreen, + wow64_IVRCompositor_IVRCompositor_029_GetCurrentSceneFocusProcess, + wow64_IVRCompositor_IVRCompositor_029_GetLastFrameRenderer, + wow64_IVRCompositor_IVRCompositor_029_CanRenderScene, + wow64_IVRCompositor_IVRCompositor_029_ShowMirrorWindow, + wow64_IVRCompositor_IVRCompositor_029_HideMirrorWindow, + wow64_IVRCompositor_IVRCompositor_029_IsMirrorWindowVisible, + wow64_IVRCompositor_IVRCompositor_029_CompositorDumpImages, + wow64_IVRCompositor_IVRCompositor_029_ShouldAppRenderWithLowResources, + wow64_IVRCompositor_IVRCompositor_029_ForceInterleavedReprojectionOn, + wow64_IVRCompositor_IVRCompositor_029_ForceReconnectProcess, + wow64_IVRCompositor_IVRCompositor_029_SuspendRendering, + wow64_IVRCompositor_IVRCompositor_029_GetMirrorTextureD3D11, + wow64_IVRCompositor_IVRCompositor_029_ReleaseMirrorTextureD3D11, + wow64_IVRCompositor_IVRCompositor_029_GetMirrorTextureGL, + wow64_IVRCompositor_IVRCompositor_029_ReleaseSharedGLTexture, + wow64_IVRCompositor_IVRCompositor_029_LockGLSharedTextureForAccess, + wow64_IVRCompositor_IVRCompositor_029_UnlockGLSharedTextureForAccess, + wow64_IVRCompositor_IVRCompositor_029_GetVulkanInstanceExtensionsRequired, + wow64_IVRCompositor_IVRCompositor_029_GetVulkanDeviceExtensionsRequired, + wow64_IVRCompositor_IVRCompositor_029_SetExplicitTimingMode, + wow64_IVRCompositor_IVRCompositor_029_SubmitExplicitTimingData, + wow64_IVRCompositor_IVRCompositor_029_IsMotionSmoothingEnabled, + wow64_IVRCompositor_IVRCompositor_029_IsMotionSmoothingSupported, + wow64_IVRCompositor_IVRCompositor_029_IsCurrentSceneFocusAppLoading, + wow64_IVRCompositor_IVRCompositor_029_SetStageOverride_Async, + wow64_IVRCompositor_IVRCompositor_029_ClearStageOverride, + wow64_IVRCompositor_IVRCompositor_029_GetCompositorBenchmarkResults, + wow64_IVRCompositor_IVRCompositor_029_GetLastPosePredictionIDs, + wow64_IVRCompositor_IVRCompositor_029_GetPosesForFrame, wow64_IVRControlPanel_IVRControlPanel_006_undoc1, wow64_IVRControlPanel_IVRControlPanel_006_undoc2, wow64_IVRControlPanel_IVRControlPanel_006_undoc3, @@ -7514,6 +7667,53 @@ extern "C" const unixlib_entry_t __wine_unix_call_wow64_funcs[] = wow64_IVRSystem_IVRSystem_022_AcknowledgeQuit_Exiting, wow64_IVRSystem_IVRSystem_022_GetAppContainerFilePaths, wow64_IVRSystem_IVRSystem_022_GetRuntimeVersion, + wow64_IVRSystem_IVRSystem_023_GetRecommendedRenderTargetSize, + wow64_IVRSystem_IVRSystem_023_GetProjectionMatrix, + wow64_IVRSystem_IVRSystem_023_GetProjectionRaw, + wow64_IVRSystem_IVRSystem_023_ComputeDistortion, + wow64_IVRSystem_IVRSystem_023_GetEyeToHeadTransform, + wow64_IVRSystem_IVRSystem_023_GetTimeSinceLastVsync, + wow64_IVRSystem_IVRSystem_023_GetD3D9AdapterIndex, + wow64_IVRSystem_IVRSystem_023_GetDXGIOutputInfo, + wow64_IVRSystem_IVRSystem_023_GetOutputDevice, + wow64_IVRSystem_IVRSystem_023_IsDisplayOnDesktop, + wow64_IVRSystem_IVRSystem_023_SetDisplayVisibility, + wow64_IVRSystem_IVRSystem_023_GetDeviceToAbsoluteTrackingPose, + wow64_IVRSystem_IVRSystem_023_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, + wow64_IVRSystem_IVRSystem_023_GetRawZeroPoseToStandingAbsoluteTrackingPose, + wow64_IVRSystem_IVRSystem_023_GetSortedTrackedDeviceIndicesOfClass, + wow64_IVRSystem_IVRSystem_023_GetTrackedDeviceActivityLevel, + wow64_IVRSystem_IVRSystem_023_ApplyTransform, + wow64_IVRSystem_IVRSystem_023_GetTrackedDeviceIndexForControllerRole, + wow64_IVRSystem_IVRSystem_023_GetControllerRoleForTrackedDeviceIndex, + wow64_IVRSystem_IVRSystem_023_GetTrackedDeviceClass, + wow64_IVRSystem_IVRSystem_023_IsTrackedDeviceConnected, + wow64_IVRSystem_IVRSystem_023_GetBoolTrackedDeviceProperty, + wow64_IVRSystem_IVRSystem_023_GetFloatTrackedDeviceProperty, + wow64_IVRSystem_IVRSystem_023_GetInt32TrackedDeviceProperty, + wow64_IVRSystem_IVRSystem_023_GetUint64TrackedDeviceProperty, + wow64_IVRSystem_IVRSystem_023_GetMatrix34TrackedDeviceProperty, + wow64_IVRSystem_IVRSystem_023_GetArrayTrackedDeviceProperty, + wow64_IVRSystem_IVRSystem_023_GetStringTrackedDeviceProperty, + wow64_IVRSystem_IVRSystem_023_GetPropErrorNameFromEnum, + wow64_IVRSystem_IVRSystem_023_PollNextEvent, + wow64_IVRSystem_IVRSystem_023_PollNextEventWithPose, + wow64_IVRSystem_IVRSystem_023_PollNextEventWithPoseAndOverlays, + wow64_IVRSystem_IVRSystem_023_GetEventTypeNameFromEnum, + wow64_IVRSystem_IVRSystem_023_GetHiddenAreaMesh, + wow64_IVRSystem_IVRSystem_023_GetControllerState, + wow64_IVRSystem_IVRSystem_023_GetControllerStateWithPose, + wow64_IVRSystem_IVRSystem_023_TriggerHapticPulse, + wow64_IVRSystem_IVRSystem_023_GetButtonIdNameFromEnum, + wow64_IVRSystem_IVRSystem_023_GetControllerAxisTypeNameFromEnum, + wow64_IVRSystem_IVRSystem_023_IsInputAvailable, + wow64_IVRSystem_IVRSystem_023_IsSteamVRDrawingControllers, + wow64_IVRSystem_IVRSystem_023_ShouldApplicationPause, + wow64_IVRSystem_IVRSystem_023_ShouldApplicationReduceRenderingWork, + wow64_IVRSystem_IVRSystem_023_PerformFirmwareUpdate, + wow64_IVRSystem_IVRSystem_023_AcknowledgeQuit_Exiting, + wow64_IVRSystem_IVRSystem_023_GetAppContainerFilePaths, + wow64_IVRSystem_IVRSystem_023_GetRuntimeVersion, wow64_IVRTrackedCamera_IVRTrackedCamera_001_HasCamera, wow64_IVRTrackedCamera_IVRTrackedCamera_001_GetCameraFirmwareDescription, wow64_IVRTrackedCamera_IVRTrackedCamera_001_GetCameraFrameDimensions, @@ -9304,6 +9504,18 @@ C_ASSERT( sizeof(VRControllerAxis_t().x) >= 4 ); C_ASSERT( offsetof(VRControllerAxis_t, y) == 4 ); C_ASSERT( sizeof(VRControllerAxis_t().y) >= 4 ); +C_ASSERT( sizeof(VREyeTrackingData_t) >= 28 ); +C_ASSERT( offsetof(VREyeTrackingData_t, bActive) == 0 ); +C_ASSERT( sizeof(VREyeTrackingData_t().bActive) >= 1 ); +C_ASSERT( offsetof(VREyeTrackingData_t, bValid) == 1 ); +C_ASSERT( sizeof(VREyeTrackingData_t().bValid) >= 1 ); +C_ASSERT( offsetof(VREyeTrackingData_t, bTracked) == 2 ); +C_ASSERT( sizeof(VREyeTrackingData_t().bTracked) >= 1 ); +C_ASSERT( offsetof(VREyeTrackingData_t, vGazeOrigin) == 4 ); +C_ASSERT( sizeof(VREyeTrackingData_t().vGazeOrigin) >= 12 ); +C_ASSERT( offsetof(VREyeTrackingData_t, vGazeTarget) == 16 ); +C_ASSERT( sizeof(VREyeTrackingData_t().vGazeTarget) >= 12 ); + C_ASSERT( sizeof(VROverlayIntersectionMaskPrimitive_t) >= 20 ); C_ASSERT( offsetof(VROverlayIntersectionMaskPrimitive_t, m_nPrimitiveType) == 0 ); C_ASSERT( sizeof(VROverlayIntersectionMaskPrimitive_t().m_nPrimitiveType) >= 4 ); diff --git a/vrclient_x64/unixlib_generated.h b/vrclient_x64/unixlib_generated.h index e7d55d82ae..974b855f2d 100644 --- a/vrclient_x64/unixlib_generated.h +++ b/vrclient_x64/unixlib_generated.h @@ -14179,1817 +14179,1757 @@ struct wow64_IVRCompositor_IVRCompositor_028_GetPosesForFrame_params uint32_t unPoseArrayCount; }; -struct IVRControlPanel_IVRControlPanel_006_undoc1_params +struct IVRCompositor_IVRCompositor_029_SetTrackingSpace_params { struct u_iface u_iface; - uint32_t _ret; + uint32_t eOrigin; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc1_params +struct wow64_IVRCompositor_IVRCompositor_029_SetTrackingSpace_params { struct u_iface u_iface; - uint32_t _ret; + uint32_t eOrigin; }; -struct IVRControlPanel_IVRControlPanel_006_undoc2_params +struct IVRCompositor_IVRCompositor_029_GetTrackingSpace_params { struct u_iface u_iface; uint32_t _ret; - uint32_t a; - char *b; - uint32_t c; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc2_params +struct wow64_IVRCompositor_IVRCompositor_029_GetTrackingSpace_params { struct u_iface u_iface; uint32_t _ret; - uint32_t a; - W32_PTR(char *b, b, char *); - uint32_t c; }; -struct IVRControlPanel_IVRControlPanel_006_undoc3_params +struct IVRCompositor_IVRCompositor_029_WaitGetPoses_params { struct u_iface u_iface; uint32_t _ret; - const char *a; + TrackedDevicePose_t *pRenderPoseArray; + uint32_t unRenderPoseArrayCount; + TrackedDevicePose_t *pGamePoseArray; + uint32_t unGamePoseArrayCount; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc3_params +struct wow64_IVRCompositor_IVRCompositor_029_WaitGetPoses_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *a, a, const char *); + W32_PTR(TrackedDevicePose_t *pRenderPoseArray, pRenderPoseArray, TrackedDevicePose_t *); + uint32_t unRenderPoseArrayCount; + W32_PTR(TrackedDevicePose_t *pGamePoseArray, pGamePoseArray, TrackedDevicePose_t *); + uint32_t unGamePoseArrayCount; }; -struct IVRControlPanel_IVRControlPanel_006_undoc4_params +struct IVRCompositor_IVRCompositor_029_GetLastPoses_params { struct u_iface u_iface; uint32_t _ret; - const char *a; + TrackedDevicePose_t *pRenderPoseArray; + uint32_t unRenderPoseArrayCount; + TrackedDevicePose_t *pGamePoseArray; + uint32_t unGamePoseArrayCount; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc4_params +struct wow64_IVRCompositor_IVRCompositor_029_GetLastPoses_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *a, a, const char *); + W32_PTR(TrackedDevicePose_t *pRenderPoseArray, pRenderPoseArray, TrackedDevicePose_t *); + uint32_t unRenderPoseArrayCount; + W32_PTR(TrackedDevicePose_t *pGamePoseArray, pGamePoseArray, TrackedDevicePose_t *); + uint32_t unGamePoseArrayCount; }; -struct IVRControlPanel_IVRControlPanel_006_undoc5_params +struct IVRCompositor_IVRCompositor_029_GetLastPoseForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; - const char *a; - uint32_t b; - char *c; - uint32_t d; + uint32_t unDeviceIndex; + TrackedDevicePose_t *pOutputPose; + TrackedDevicePose_t *pOutputGamePose; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc5_params +struct wow64_IVRCompositor_IVRCompositor_029_GetLastPoseForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *a, a, const char *); - uint32_t b; - W32_PTR(char *c, c, char *); - uint32_t d; + uint32_t unDeviceIndex; + W32_PTR(TrackedDevicePose_t *pOutputPose, pOutputPose, TrackedDevicePose_t *); + W32_PTR(TrackedDevicePose_t *pOutputGamePose, pOutputGamePose, TrackedDevicePose_t *); }; -struct IVRControlPanel_IVRControlPanel_006_undoc6_params +struct IVRCompositor_IVRCompositor_029_GetSubmitTexture_params { struct u_iface u_iface; uint32_t _ret; - const char *a; - const char *b; - char *c; - uint32_t d; + w_Texture_t *pOutTexture; + int8_t *pNeedsFlush; + uint32_t eUsage; + const w_Texture_t *pTexture; + const VRTextureBounds_t *pBounds; + uint32_t nSubmitFlags; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc6_params +struct wow64_IVRCompositor_IVRCompositor_029_GetSubmitTexture_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *a, a, const char *); - W32_PTR(const char *b, b, const char *); - W32_PTR(char *c, c, char *); - uint32_t d; + W32_PTR(w32_Texture_t *pOutTexture, pOutTexture, w32_Texture_t *); + W32_PTR(int8_t *pNeedsFlush, pNeedsFlush, int8_t *); + uint32_t eUsage; + W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); + W32_PTR(const VRTextureBounds_t *pBounds, pBounds, const VRTextureBounds_t *); + uint32_t nSubmitFlags; }; -struct IVRControlPanel_IVRControlPanel_006_undoc7_params +struct IVRCompositor_IVRCompositor_029_Submit_params { struct u_iface u_iface; uint32_t _ret; - const char *a; - const char *b; - char *c; - uint32_t d; + uint32_t eEye; + const w_Texture_t *pTexture; + const VRTextureBounds_t *pBounds; + uint32_t nSubmitFlags; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc7_params +struct wow64_IVRCompositor_IVRCompositor_029_Submit_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *a, a, const char *); - W32_PTR(const char *b, b, const char *); - W32_PTR(char *c, c, char *); - uint32_t d; + uint32_t eEye; + W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); + W32_PTR(const VRTextureBounds_t *pBounds, pBounds, const VRTextureBounds_t *); + uint32_t nSubmitFlags; }; -struct IVRControlPanel_IVRControlPanel_006_undoc8_params +struct IVRCompositor_IVRCompositor_029_SubmitWithArrayIndex_params { struct u_iface u_iface; - int8_t _ret; - uint32_t a; + uint32_t _ret; + uint32_t eEye; + const w_Texture_t *pTexture; + uint32_t unTextureArrayIndex; + const VRTextureBounds_t *pBounds; + uint32_t nSubmitFlags; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc8_params +struct wow64_IVRCompositor_IVRCompositor_029_SubmitWithArrayIndex_params { struct u_iface u_iface; - int8_t _ret; - uint32_t a; + uint32_t _ret; + uint32_t eEye; + W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); + uint32_t unTextureArrayIndex; + W32_PTR(const VRTextureBounds_t *pBounds, pBounds, const VRTextureBounds_t *); + uint32_t nSubmitFlags; }; -struct IVRControlPanel_IVRControlPanel_006_undoc9_params +struct IVRCompositor_IVRCompositor_029_ClearLastSubmittedFrame_params { struct u_iface u_iface; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc9_params +struct wow64_IVRCompositor_IVRCompositor_029_ClearLastSubmittedFrame_params { struct u_iface u_iface; }; -struct IVRControlPanel_IVRControlPanel_006_undoc10_params +struct IVRCompositor_IVRCompositor_029_PostPresentHandoff_params { struct u_iface u_iface; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc10_params +struct wow64_IVRCompositor_IVRCompositor_029_PostPresentHandoff_params { struct u_iface u_iface; }; -struct IVRControlPanel_IVRControlPanel_006_undoc11_params +struct IVRCompositor_IVRCompositor_029_GetFrameTiming_params { struct u_iface u_iface; int8_t _ret; - uint32_t a; + w_Compositor_FrameTiming_251 *pTiming; + uint32_t unFramesAgo; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc11_params +struct wow64_IVRCompositor_IVRCompositor_029_GetFrameTiming_params { struct u_iface u_iface; int8_t _ret; - uint32_t a; + W32_PTR(w32_Compositor_FrameTiming_251 *pTiming, pTiming, w32_Compositor_FrameTiming_251 *); + uint32_t unFramesAgo; }; -struct IVRControlPanel_IVRControlPanel_006_undoc12_params +struct IVRCompositor_IVRCompositor_029_GetFrameTimings_params { struct u_iface u_iface; + uint32_t _ret; + w_Compositor_FrameTiming_251 *pTiming; + uint32_t nFrames; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc12_params +struct wow64_IVRCompositor_IVRCompositor_029_GetFrameTimings_params { struct u_iface u_iface; + uint32_t _ret; + W32_PTR(w32_Compositor_FrameTiming_251 *pTiming, pTiming, w32_Compositor_FrameTiming_251 *); + uint32_t nFrames; }; -struct IVRControlPanel_IVRControlPanel_006_undoc13_params +struct IVRCompositor_IVRCompositor_029_GetFrameTimeRemaining_params { struct u_iface u_iface; - uint32_t a; + float _ret; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc13_params +struct wow64_IVRCompositor_IVRCompositor_029_GetFrameTimeRemaining_params { struct u_iface u_iface; - uint32_t a; + float _ret; }; -struct IVRControlPanel_IVRControlPanel_006_undoc14_params +struct IVRCompositor_IVRCompositor_029_GetCumulativeStats_params { struct u_iface u_iface; - uint32_t a; + Compositor_CumulativeStats_1267 *pStats; + uint32_t nStatsSizeInBytes; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc14_params +struct wow64_IVRCompositor_IVRCompositor_029_GetCumulativeStats_params { struct u_iface u_iface; - uint32_t a; + W32_PTR(Compositor_CumulativeStats_1267 *pStats, pStats, Compositor_CumulativeStats_1267 *); + uint32_t nStatsSizeInBytes; }; -struct IVRControlPanel_IVRControlPanel_006_undoc15_params +struct IVRCompositor_IVRCompositor_029_FadeToColor_params { struct u_iface u_iface; - uint32_t _ret; + float fSeconds; + float fRed; + float fGreen; + float fBlue; + float fAlpha; + int8_t bBackground; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc15_params +struct wow64_IVRCompositor_IVRCompositor_029_FadeToColor_params { struct u_iface u_iface; - uint32_t _ret; + float fSeconds; + float fRed; + float fGreen; + float fBlue; + float fAlpha; + int8_t bBackground; }; -struct IVRControlPanel_IVRControlPanel_006_undoc16_params +struct IVRCompositor_IVRCompositor_029_GetCurrentFadeColor_params { struct u_iface u_iface; - int8_t a; + HmdColor_t *_ret; + int8_t bBackground; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc16_params +struct wow64_IVRCompositor_IVRCompositor_029_GetCurrentFadeColor_params { struct u_iface u_iface; - int8_t a; + W32_PTR(HmdColor_t *_ret, _ret, HmdColor_t *); + int8_t bBackground; }; -struct IVRControlPanel_IVRControlPanel_006_undoc17_params +struct IVRCompositor_IVRCompositor_029_FadeGrid_params { struct u_iface u_iface; - int8_t _ret; + float fSeconds; + int8_t bFadeGridIn; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc17_params +struct wow64_IVRCompositor_IVRCompositor_029_FadeGrid_params { struct u_iface u_iface; - int8_t _ret; + float fSeconds; + int8_t bFadeGridIn; }; -struct IVRControlPanel_IVRControlPanel_006_undoc18_params +struct IVRCompositor_IVRCompositor_029_GetCurrentGridAlpha_params { struct u_iface u_iface; - uint32_t _ret; + float _ret; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc18_params +struct wow64_IVRCompositor_IVRCompositor_029_GetCurrentGridAlpha_params { struct u_iface u_iface; - uint32_t _ret; + float _ret; }; -struct IVRControlPanel_IVRControlPanel_006_undoc19_params +struct IVRCompositor_IVRCompositor_029_SetSkyboxOverride_params { struct u_iface u_iface; - int8_t a; + uint32_t _ret; + const w_Texture_t *pTextures; + uint32_t unTextureCount; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc19_params +struct wow64_IVRCompositor_IVRCompositor_029_SetSkyboxOverride_params { struct u_iface u_iface; - int8_t a; + uint32_t _ret; + W32_PTR(const w32_Texture_t *pTextures, pTextures, const w32_Texture_t *); + uint32_t unTextureCount; }; -struct IVRControlPanel_IVRControlPanel_006_undoc20_params +struct IVRCompositor_IVRCompositor_029_ClearSkyboxOverride_params { struct u_iface u_iface; - int8_t _ret; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc20_params +struct wow64_IVRCompositor_IVRCompositor_029_ClearSkyboxOverride_params { struct u_iface u_iface; - int8_t _ret; }; -struct IVRControlPanel_IVRControlPanel_006_undoc21_params +struct IVRCompositor_IVRCompositor_029_CompositorBringToFront_params { struct u_iface u_iface; - uint32_t _ret; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc21_params +struct wow64_IVRCompositor_IVRCompositor_029_CompositorBringToFront_params { struct u_iface u_iface; - uint32_t _ret; }; -struct IVRControlPanel_IVRControlPanel_006_undoc22_params +struct IVRCompositor_IVRCompositor_029_CompositorGoToBack_params { struct u_iface u_iface; - uint64_t a; - const char *b; - uint32_t c; - uint32_t d; - const char *e; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc22_params +struct wow64_IVRCompositor_IVRCompositor_029_CompositorGoToBack_params { struct u_iface u_iface; - uint64_t a; - W32_PTR(const char *b, b, const char *); - uint32_t c; - uint32_t d; - W32_PTR(const char *e, e, const char *); }; -struct IVRControlPanel_IVRControlPanel_006_undoc23_params +struct IVRCompositor_IVRCompositor_029_CompositorQuit_params { struct u_iface u_iface; - int8_t _ret; - const char *a; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc23_params +struct wow64_IVRCompositor_IVRCompositor_029_CompositorQuit_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *a, a, const char *); }; -struct IVRControlPanel_IVRControlPanel_006_undoc24_params +struct IVRCompositor_IVRCompositor_029_IsFullscreen_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc24_params +struct wow64_IVRCompositor_IVRCompositor_029_IsFullscreen_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRControlPanel_IVRControlPanel_006_undoc25_params +struct IVRCompositor_IVRCompositor_029_GetCurrentSceneFocusProcess_params { struct u_iface u_iface; - int8_t _ret; - int8_t a; + uint32_t _ret; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc25_params +struct wow64_IVRCompositor_IVRCompositor_029_GetCurrentSceneFocusProcess_params { struct u_iface u_iface; - int8_t _ret; - int8_t a; + uint32_t _ret; }; -struct IVRControlPanel_IVRControlPanel_006_undoc26_params +struct IVRCompositor_IVRCompositor_029_GetLastFrameRenderer_params { struct u_iface u_iface; - uint64_t _ret; + uint32_t _ret; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc26_params +struct wow64_IVRCompositor_IVRCompositor_029_GetLastFrameRenderer_params { struct u_iface u_iface; - uint64_t _ret; + uint32_t _ret; }; -struct IVRControlPanel_IVRControlPanel_006_undoc27_params +struct IVRCompositor_IVRCompositor_029_CanRenderScene_params { struct u_iface u_iface; - uint32_t _ret; - const char *a; + int8_t _ret; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc27_params +struct wow64_IVRCompositor_IVRCompositor_029_CanRenderScene_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(const char *a, a, const char *); + int8_t _ret; }; -struct IVRControlPanel_IVRControlPanel_006_undoc28_params +struct IVRCompositor_IVRCompositor_029_ShowMirrorWindow_params { struct u_iface u_iface; - uint64_t a; }; -struct wow64_IVRControlPanel_IVRControlPanel_006_undoc28_params +struct wow64_IVRCompositor_IVRCompositor_029_ShowMirrorWindow_params { struct u_iface u_iface; - uint64_t a; }; -struct IVRDriverManager_IVRDriverManager_001_GetDriverCount_params +struct IVRCompositor_IVRCompositor_029_HideMirrorWindow_params { struct u_iface u_iface; - uint32_t _ret; }; -struct wow64_IVRDriverManager_IVRDriverManager_001_GetDriverCount_params +struct wow64_IVRCompositor_IVRCompositor_029_HideMirrorWindow_params { struct u_iface u_iface; - uint32_t _ret; }; -struct IVRDriverManager_IVRDriverManager_001_GetDriverName_params +struct IVRCompositor_IVRCompositor_029_IsMirrorWindowVisible_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t nDriver; - char *pchValue; - uint32_t unBufferSize; + int8_t _ret; }; -struct wow64_IVRDriverManager_IVRDriverManager_001_GetDriverName_params +struct wow64_IVRCompositor_IVRCompositor_029_IsMirrorWindowVisible_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t nDriver; - W32_PTR(char *pchValue, pchValue, char *); - uint32_t unBufferSize; + int8_t _ret; }; -struct IVRDriverManager_IVRDriverManager_001_GetDriverHandle_params +struct IVRCompositor_IVRCompositor_029_CompositorDumpImages_params { struct u_iface u_iface; - uint64_t _ret; - const char *pchDriverName; }; -struct wow64_IVRDriverManager_IVRDriverManager_001_GetDriverHandle_params +struct wow64_IVRCompositor_IVRCompositor_029_CompositorDumpImages_params { struct u_iface u_iface; - uint64_t _ret; - W32_PTR(const char *pchDriverName, pchDriverName, const char *); }; -struct IVRDriverManager_IVRDriverManager_001_IsEnabled_params +struct IVRCompositor_IVRCompositor_029_ShouldAppRenderWithLowResources_params { struct u_iface u_iface; int8_t _ret; - uint32_t nDriver; }; -struct wow64_IVRDriverManager_IVRDriverManager_001_IsEnabled_params +struct wow64_IVRCompositor_IVRCompositor_029_ShouldAppRenderWithLowResources_params { struct u_iface u_iface; int8_t _ret; - uint32_t nDriver; }; -struct IVRExtendedDisplay_IVRExtendedDisplay_001_GetWindowBounds_params +struct IVRCompositor_IVRCompositor_029_ForceInterleavedReprojectionOn_params { struct u_iface u_iface; - int32_t *pnX; - int32_t *pnY; - uint32_t *pnWidth; - uint32_t *pnHeight; + int8_t bOverride; }; -struct wow64_IVRExtendedDisplay_IVRExtendedDisplay_001_GetWindowBounds_params +struct wow64_IVRCompositor_IVRCompositor_029_ForceInterleavedReprojectionOn_params { struct u_iface u_iface; - W32_PTR(int32_t *pnX, pnX, int32_t *); - W32_PTR(int32_t *pnY, pnY, int32_t *); - W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); - W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); + int8_t bOverride; }; -struct IVRExtendedDisplay_IVRExtendedDisplay_001_GetEyeOutputViewport_params +struct IVRCompositor_IVRCompositor_029_ForceReconnectProcess_params { struct u_iface u_iface; - uint32_t eEye; - uint32_t *pnX; - uint32_t *pnY; - uint32_t *pnWidth; - uint32_t *pnHeight; }; -struct wow64_IVRExtendedDisplay_IVRExtendedDisplay_001_GetEyeOutputViewport_params +struct wow64_IVRCompositor_IVRCompositor_029_ForceReconnectProcess_params { struct u_iface u_iface; - uint32_t eEye; - W32_PTR(uint32_t *pnX, pnX, uint32_t *); - W32_PTR(uint32_t *pnY, pnY, uint32_t *); - W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); - W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRExtendedDisplay_IVRExtendedDisplay_001_GetDXGIOutputInfo_params +struct IVRCompositor_IVRCompositor_029_SuspendRendering_params { struct u_iface u_iface; - int32_t *pnAdapterIndex; - int32_t *pnAdapterOutputIndex; + int8_t bSuspend; }; -struct wow64_IVRExtendedDisplay_IVRExtendedDisplay_001_GetDXGIOutputInfo_params +struct wow64_IVRCompositor_IVRCompositor_029_SuspendRendering_params { struct u_iface u_iface; - W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); - W32_PTR(int32_t *pnAdapterOutputIndex, pnAdapterOutputIndex, int32_t *); + int8_t bSuspend; }; -struct IVRHeadsetView_IVRHeadsetView_001_SetHeadsetViewSize_params +struct IVRCompositor_IVRCompositor_029_GetMirrorTextureD3D11_params { struct u_iface u_iface; - uint32_t nWidth; - uint32_t nHeight; + uint32_t _ret; + uint32_t eEye; + void *pD3D11DeviceOrResource; + void **ppD3D11ShaderResourceView; }; -struct wow64_IVRHeadsetView_IVRHeadsetView_001_SetHeadsetViewSize_params +struct wow64_IVRCompositor_IVRCompositor_029_GetMirrorTextureD3D11_params { struct u_iface u_iface; - uint32_t nWidth; - uint32_t nHeight; + uint32_t _ret; + uint32_t eEye; + W32_PTR(void *pD3D11DeviceOrResource, pD3D11DeviceOrResource, void *); + W32_PTR(void **ppD3D11ShaderResourceView, ppD3D11ShaderResourceView, void **); }; -struct IVRHeadsetView_IVRHeadsetView_001_GetHeadsetViewSize_params +struct IVRCompositor_IVRCompositor_029_ReleaseMirrorTextureD3D11_params { struct u_iface u_iface; - uint32_t *pnWidth; - uint32_t *pnHeight; + void *pD3D11ShaderResourceView; }; -struct wow64_IVRHeadsetView_IVRHeadsetView_001_GetHeadsetViewSize_params +struct wow64_IVRCompositor_IVRCompositor_029_ReleaseMirrorTextureD3D11_params { struct u_iface u_iface; - W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); - W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); + W32_PTR(void *pD3D11ShaderResourceView, pD3D11ShaderResourceView, void *); }; -struct IVRHeadsetView_IVRHeadsetView_001_SetHeadsetViewMode_params +struct IVRCompositor_IVRCompositor_029_GetMirrorTextureGL_params { struct u_iface u_iface; - uint32_t eHeadsetViewMode; + uint32_t _ret; + uint32_t eEye; + uint32_t *pglTextureId; + void **pglSharedTextureHandle; }; -struct wow64_IVRHeadsetView_IVRHeadsetView_001_SetHeadsetViewMode_params +struct wow64_IVRCompositor_IVRCompositor_029_GetMirrorTextureGL_params { struct u_iface u_iface; - uint32_t eHeadsetViewMode; + uint32_t _ret; + uint32_t eEye; + W32_PTR(uint32_t *pglTextureId, pglTextureId, uint32_t *); + W32_PTR(void **pglSharedTextureHandle, pglSharedTextureHandle, void **); }; -struct IVRHeadsetView_IVRHeadsetView_001_GetHeadsetViewMode_params +struct IVRCompositor_IVRCompositor_029_ReleaseSharedGLTexture_params { struct u_iface u_iface; - uint32_t _ret; + int8_t _ret; + uint32_t glTextureId; + void *glSharedTextureHandle; }; -struct wow64_IVRHeadsetView_IVRHeadsetView_001_GetHeadsetViewMode_params +struct wow64_IVRCompositor_IVRCompositor_029_ReleaseSharedGLTexture_params { struct u_iface u_iface; - uint32_t _ret; + int8_t _ret; + uint32_t glTextureId; + W32_PTR(void *glSharedTextureHandle, glSharedTextureHandle, void *); }; -struct IVRHeadsetView_IVRHeadsetView_001_SetHeadsetViewCropped_params +struct IVRCompositor_IVRCompositor_029_LockGLSharedTextureForAccess_params { struct u_iface u_iface; - int8_t bCropped; + void *glSharedTextureHandle; }; -struct wow64_IVRHeadsetView_IVRHeadsetView_001_SetHeadsetViewCropped_params +struct wow64_IVRCompositor_IVRCompositor_029_LockGLSharedTextureForAccess_params { struct u_iface u_iface; - int8_t bCropped; + W32_PTR(void *glSharedTextureHandle, glSharedTextureHandle, void *); }; -struct IVRHeadsetView_IVRHeadsetView_001_GetHeadsetViewCropped_params +struct IVRCompositor_IVRCompositor_029_UnlockGLSharedTextureForAccess_params { struct u_iface u_iface; - int8_t _ret; + void *glSharedTextureHandle; }; -struct wow64_IVRHeadsetView_IVRHeadsetView_001_GetHeadsetViewCropped_params +struct wow64_IVRCompositor_IVRCompositor_029_UnlockGLSharedTextureForAccess_params { struct u_iface u_iface; - int8_t _ret; + W32_PTR(void *glSharedTextureHandle, glSharedTextureHandle, void *); }; -struct IVRHeadsetView_IVRHeadsetView_001_GetHeadsetViewAspectRatio_params +struct IVRCompositor_IVRCompositor_029_GetVulkanInstanceExtensionsRequired_params { struct u_iface u_iface; - float _ret; + uint32_t _ret; + char *pchValue; + uint32_t unBufferSize; }; -struct wow64_IVRHeadsetView_IVRHeadsetView_001_GetHeadsetViewAspectRatio_params +struct wow64_IVRCompositor_IVRCompositor_029_GetVulkanInstanceExtensionsRequired_params { struct u_iface u_iface; - float _ret; + uint32_t _ret; + W32_PTR(char *pchValue, pchValue, char *); + uint32_t unBufferSize; }; -struct IVRHeadsetView_IVRHeadsetView_001_SetHeadsetViewBlendRange_params +struct IVRCompositor_IVRCompositor_029_GetVulkanDeviceExtensionsRequired_params { struct u_iface u_iface; - float flStartPct; - float flEndPct; + uint32_t _ret; + VkPhysicalDevice_T *pPhysicalDevice; + char *pchValue; + uint32_t unBufferSize; }; -struct wow64_IVRHeadsetView_IVRHeadsetView_001_SetHeadsetViewBlendRange_params +struct wow64_IVRCompositor_IVRCompositor_029_GetVulkanDeviceExtensionsRequired_params { struct u_iface u_iface; - float flStartPct; - float flEndPct; + uint32_t _ret; + W32_PTR(VkPhysicalDevice_T *pPhysicalDevice, pPhysicalDevice, VkPhysicalDevice_T *); + W32_PTR(char *pchValue, pchValue, char *); + uint32_t unBufferSize; }; -struct IVRHeadsetView_IVRHeadsetView_001_GetHeadsetViewBlendRange_params +struct IVRCompositor_IVRCompositor_029_SetExplicitTimingMode_params { struct u_iface u_iface; - float *pStartPct; - float *pEndPct; + uint32_t eTimingMode; }; -struct wow64_IVRHeadsetView_IVRHeadsetView_001_GetHeadsetViewBlendRange_params +struct wow64_IVRCompositor_IVRCompositor_029_SetExplicitTimingMode_params { struct u_iface u_iface; - W32_PTR(float *pStartPct, pStartPct, float *); - W32_PTR(float *pEndPct, pEndPct, float *); + uint32_t eTimingMode; }; -struct IVRIOBuffer_IVRIOBuffer_001_Open_params +struct IVRCompositor_IVRCompositor_029_SubmitExplicitTimingData_params { struct u_iface u_iface; uint32_t _ret; - const char *pchPath; - uint32_t mode; - uint32_t unElementSize; - uint32_t unElements; - uint64_t *pulBuffer; }; -struct wow64_IVRIOBuffer_IVRIOBuffer_001_Open_params +struct wow64_IVRCompositor_IVRCompositor_029_SubmitExplicitTimingData_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchPath, pchPath, const char *); - uint32_t mode; - uint32_t unElementSize; - uint32_t unElements; - W32_PTR(uint64_t *pulBuffer, pulBuffer, uint64_t *); }; -struct IVRIOBuffer_IVRIOBuffer_001_Close_params +struct IVRCompositor_IVRCompositor_029_IsMotionSmoothingEnabled_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t ulBuffer; + int8_t _ret; }; -struct wow64_IVRIOBuffer_IVRIOBuffer_001_Close_params +struct wow64_IVRCompositor_IVRCompositor_029_IsMotionSmoothingEnabled_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t ulBuffer; + int8_t _ret; }; -struct IVRIOBuffer_IVRIOBuffer_001_Read_params +struct IVRCompositor_IVRCompositor_029_IsMotionSmoothingSupported_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t ulBuffer; - void *pDst; - uint32_t unBytes; - uint32_t *punRead; + int8_t _ret; }; -struct wow64_IVRIOBuffer_IVRIOBuffer_001_Read_params +struct wow64_IVRCompositor_IVRCompositor_029_IsMotionSmoothingSupported_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t ulBuffer; - W32_PTR(void *pDst, pDst, void *); - uint32_t unBytes; - W32_PTR(uint32_t *punRead, punRead, uint32_t *); + int8_t _ret; }; -struct IVRIOBuffer_IVRIOBuffer_001_Write_params +struct IVRCompositor_IVRCompositor_029_IsCurrentSceneFocusAppLoading_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t ulBuffer; - void *pSrc; - uint32_t unBytes; + int8_t _ret; }; -struct wow64_IVRIOBuffer_IVRIOBuffer_001_Write_params +struct wow64_IVRCompositor_IVRCompositor_029_IsCurrentSceneFocusAppLoading_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t ulBuffer; - W32_PTR(void *pSrc, pSrc, void *); - uint32_t unBytes; + int8_t _ret; }; -struct IVRIOBuffer_IVRIOBuffer_001_PropertyContainer_params +struct IVRCompositor_IVRCompositor_029_SetStageOverride_Async_params { struct u_iface u_iface; - uint64_t _ret; - uint64_t ulBuffer; + uint32_t _ret; + const char *pchRenderModelPath; + const HmdMatrix34_t *pTransform; + const Compositor_StageRenderSettings *pRenderSettings; + uint32_t nSizeOfRenderSettings; }; -struct wow64_IVRIOBuffer_IVRIOBuffer_001_PropertyContainer_params +struct wow64_IVRCompositor_IVRCompositor_029_SetStageOverride_Async_params { struct u_iface u_iface; - uint64_t _ret; - uint64_t ulBuffer; + uint32_t _ret; + W32_PTR(const char *pchRenderModelPath, pchRenderModelPath, const char *); + W32_PTR(const HmdMatrix34_t *pTransform, pTransform, const HmdMatrix34_t *); + W32_PTR(const Compositor_StageRenderSettings *pRenderSettings, pRenderSettings, const Compositor_StageRenderSettings *); + uint32_t nSizeOfRenderSettings; }; -struct IVRIOBuffer_IVRIOBuffer_002_Open_params +struct IVRCompositor_IVRCompositor_029_ClearStageOverride_params { struct u_iface u_iface; - uint32_t _ret; - const char *pchPath; - uint32_t mode; - uint32_t unElementSize; - uint32_t unElements; - uint64_t *pulBuffer; }; -struct wow64_IVRIOBuffer_IVRIOBuffer_002_Open_params +struct wow64_IVRCompositor_IVRCompositor_029_ClearStageOverride_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(const char *pchPath, pchPath, const char *); - uint32_t mode; - uint32_t unElementSize; - uint32_t unElements; - W32_PTR(uint64_t *pulBuffer, pulBuffer, uint64_t *); }; -struct IVRIOBuffer_IVRIOBuffer_002_Close_params +struct IVRCompositor_IVRCompositor_029_GetCompositorBenchmarkResults_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t ulBuffer; + int8_t _ret; + Compositor_BenchmarkResults *pBenchmarkResults; + uint32_t nSizeOfBenchmarkResults; }; -struct wow64_IVRIOBuffer_IVRIOBuffer_002_Close_params +struct wow64_IVRCompositor_IVRCompositor_029_GetCompositorBenchmarkResults_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t ulBuffer; + int8_t _ret; + W32_PTR(Compositor_BenchmarkResults *pBenchmarkResults, pBenchmarkResults, Compositor_BenchmarkResults *); + uint32_t nSizeOfBenchmarkResults; }; -struct IVRIOBuffer_IVRIOBuffer_002_Read_params +struct IVRCompositor_IVRCompositor_029_GetLastPosePredictionIDs_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulBuffer; - void *pDst; - uint32_t unBytes; - uint32_t *punRead; + uint32_t *pRenderPosePredictionID; + uint32_t *pGamePosePredictionID; }; -struct wow64_IVRIOBuffer_IVRIOBuffer_002_Read_params +struct wow64_IVRCompositor_IVRCompositor_029_GetLastPosePredictionIDs_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulBuffer; - W32_PTR(void *pDst, pDst, void *); - uint32_t unBytes; - W32_PTR(uint32_t *punRead, punRead, uint32_t *); + W32_PTR(uint32_t *pRenderPosePredictionID, pRenderPosePredictionID, uint32_t *); + W32_PTR(uint32_t *pGamePosePredictionID, pGamePosePredictionID, uint32_t *); }; -struct IVRIOBuffer_IVRIOBuffer_002_Write_params +struct IVRCompositor_IVRCompositor_029_GetPosesForFrame_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulBuffer; - void *pSrc; - uint32_t unBytes; + uint32_t unPosePredictionID; + TrackedDevicePose_t *pPoseArray; + uint32_t unPoseArrayCount; }; -struct wow64_IVRIOBuffer_IVRIOBuffer_002_Write_params +struct wow64_IVRCompositor_IVRCompositor_029_GetPosesForFrame_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulBuffer; - W32_PTR(void *pSrc, pSrc, void *); - uint32_t unBytes; + uint32_t unPosePredictionID; + W32_PTR(TrackedDevicePose_t *pPoseArray, pPoseArray, TrackedDevicePose_t *); + uint32_t unPoseArrayCount; }; -struct IVRIOBuffer_IVRIOBuffer_002_PropertyContainer_params +struct IVRControlPanel_IVRControlPanel_006_undoc1_params { struct u_iface u_iface; - uint64_t _ret; - uint64_t ulBuffer; + uint32_t _ret; }; -struct wow64_IVRIOBuffer_IVRIOBuffer_002_PropertyContainer_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc1_params { struct u_iface u_iface; - uint64_t _ret; - uint64_t ulBuffer; + uint32_t _ret; }; -struct IVRIOBuffer_IVRIOBuffer_002_HasReaders_params +struct IVRControlPanel_IVRControlPanel_006_undoc2_params { struct u_iface u_iface; - int8_t _ret; - uint64_t ulBuffer; + uint32_t _ret; + uint32_t a; + char *b; + uint32_t c; }; -struct wow64_IVRIOBuffer_IVRIOBuffer_002_HasReaders_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc2_params { struct u_iface u_iface; - int8_t _ret; - uint64_t ulBuffer; + uint32_t _ret; + uint32_t a; + W32_PTR(char *b, b, char *); + uint32_t c; }; -struct IVRInput_IVRInput_003_SetActionManifestPath_params +struct IVRControlPanel_IVRControlPanel_006_undoc3_params { struct u_iface u_iface; uint32_t _ret; - const char *pchActionManifestPath; + const char *a; }; -struct wow64_IVRInput_IVRInput_003_SetActionManifestPath_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc3_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchActionManifestPath, pchActionManifestPath, const char *); + W32_PTR(const char *a, a, const char *); }; -struct IVRInput_IVRInput_003_GetActionSetHandle_params +struct IVRControlPanel_IVRControlPanel_006_undoc4_params { struct u_iface u_iface; uint32_t _ret; - const char *pchActionSetName; - uint64_t *pHandle; + const char *a; }; -struct wow64_IVRInput_IVRInput_003_GetActionSetHandle_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc4_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchActionSetName, pchActionSetName, const char *); - W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); + W32_PTR(const char *a, a, const char *); }; -struct IVRInput_IVRInput_003_GetActionHandle_params +struct IVRControlPanel_IVRControlPanel_006_undoc5_params { struct u_iface u_iface; uint32_t _ret; - const char *pchActionName; - uint64_t *pHandle; + const char *a; + uint32_t b; + char *c; + uint32_t d; }; -struct wow64_IVRInput_IVRInput_003_GetActionHandle_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc5_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchActionName, pchActionName, const char *); - W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); + W32_PTR(const char *a, a, const char *); + uint32_t b; + W32_PTR(char *c, c, char *); + uint32_t d; }; -struct IVRInput_IVRInput_003_GetInputSourceHandle_params +struct IVRControlPanel_IVRControlPanel_006_undoc6_params { struct u_iface u_iface; uint32_t _ret; - const char *pchInputSourcePath; - uint64_t *pHandle; + const char *a; + const char *b; + char *c; + uint32_t d; }; -struct wow64_IVRInput_IVRInput_003_GetInputSourceHandle_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc6_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchInputSourcePath, pchInputSourcePath, const char *); - W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); + W32_PTR(const char *a, a, const char *); + W32_PTR(const char *b, b, const char *); + W32_PTR(char *c, c, char *); + uint32_t d; }; -struct IVRInput_IVRInput_003_UpdateActionState_params +struct IVRControlPanel_IVRControlPanel_006_undoc7_params { struct u_iface u_iface; uint32_t _ret; - VRActiveActionSet_t_1015 *pSets; - uint32_t unSizeOfVRSelectedActionSet_t; - uint32_t unSetCount; + const char *a; + const char *b; + char *c; + uint32_t d; }; -struct wow64_IVRInput_IVRInput_003_UpdateActionState_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc7_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(VRActiveActionSet_t_1015 *pSets, pSets, VRActiveActionSet_t_1015 *); - uint32_t unSizeOfVRSelectedActionSet_t; - uint32_t unSetCount; + W32_PTR(const char *a, a, const char *); + W32_PTR(const char *b, b, const char *); + W32_PTR(char *c, c, char *); + uint32_t d; }; -struct IVRInput_IVRInput_003_GetDigitalActionData_params +struct IVRControlPanel_IVRControlPanel_006_undoc8_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - w_InputDigitalActionData_t *pActionData; - uint32_t unActionDataSize; + int8_t _ret; + uint32_t a; }; -struct wow64_IVRInput_IVRInput_003_GetDigitalActionData_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc8_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - W32_PTR(w32_InputDigitalActionData_t *pActionData, pActionData, w32_InputDigitalActionData_t *); - uint32_t unActionDataSize; + int8_t _ret; + uint32_t a; }; -struct IVRInput_IVRInput_003_GetAnalogActionData_params +struct IVRControlPanel_IVRControlPanel_006_undoc9_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - w_InputAnalogActionData_t *pActionData; - uint32_t unActionDataSize; }; -struct wow64_IVRInput_IVRInput_003_GetAnalogActionData_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc9_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - W32_PTR(w32_InputAnalogActionData_t *pActionData, pActionData, w32_InputAnalogActionData_t *); - uint32_t unActionDataSize; }; -struct IVRInput_IVRInput_003_GetPoseActionData_params +struct IVRControlPanel_IVRControlPanel_006_undoc10_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - uint32_t eOrigin; - float fPredictedSecondsFromNow; - w_InputPoseActionData_t *pActionData; - uint32_t unActionDataSize; }; -struct wow64_IVRInput_IVRInput_003_GetPoseActionData_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc10_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - uint32_t eOrigin; - float fPredictedSecondsFromNow; - W32_PTR(w32_InputPoseActionData_t *pActionData, pActionData, w32_InputPoseActionData_t *); - uint32_t unActionDataSize; }; -struct IVRInput_IVRInput_003_GetSkeletalActionData_params +struct IVRControlPanel_IVRControlPanel_006_undoc11_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - uint32_t eBoneParent; - float fPredictedSecondsFromNow; - w_InputSkeletonActionData_t *pActionData; - uint32_t unActionDataSize; - VRBoneTransform_t *pTransformArray; - uint32_t unTransformArrayCount; + int8_t _ret; + uint32_t a; }; -struct wow64_IVRInput_IVRInput_003_GetSkeletalActionData_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc11_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - uint32_t eBoneParent; - float fPredictedSecondsFromNow; - W32_PTR(w32_InputSkeletonActionData_t *pActionData, pActionData, w32_InputSkeletonActionData_t *); - uint32_t unActionDataSize; - W32_PTR(VRBoneTransform_t *pTransformArray, pTransformArray, VRBoneTransform_t *); - uint32_t unTransformArrayCount; + int8_t _ret; + uint32_t a; }; -struct IVRInput_IVRInput_003_GetSkeletalActionDataCompressed_params +struct IVRControlPanel_IVRControlPanel_006_undoc12_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - uint32_t eBoneParent; - float fPredictedSecondsFromNow; - void *pvCompressedData; - uint32_t unCompressedSize; - uint32_t *punRequiredCompressedSize; }; -struct wow64_IVRInput_IVRInput_003_GetSkeletalActionDataCompressed_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc12_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - uint32_t eBoneParent; - float fPredictedSecondsFromNow; - W32_PTR(void *pvCompressedData, pvCompressedData, void *); - uint32_t unCompressedSize; - W32_PTR(uint32_t *punRequiredCompressedSize, punRequiredCompressedSize, uint32_t *); }; -struct IVRInput_IVRInput_003_UncompressSkeletalActionData_params +struct IVRControlPanel_IVRControlPanel_006_undoc13_params { struct u_iface u_iface; - uint32_t _ret; - void *pvCompressedBuffer; - uint32_t unCompressedBufferSize; - uint32_t *peBoneParent; - VRBoneTransform_t *pTransformArray; - uint32_t unTransformArrayCount; + uint32_t a; }; -struct wow64_IVRInput_IVRInput_003_UncompressSkeletalActionData_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc13_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(void *pvCompressedBuffer, pvCompressedBuffer, void *); - uint32_t unCompressedBufferSize; - W32_PTR(uint32_t *peBoneParent, peBoneParent, uint32_t *); - W32_PTR(VRBoneTransform_t *pTransformArray, pTransformArray, VRBoneTransform_t *); - uint32_t unTransformArrayCount; + uint32_t a; }; -struct IVRInput_IVRInput_003_TriggerHapticVibrationAction_params +struct IVRControlPanel_IVRControlPanel_006_undoc14_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - float fStartSecondsFromNow; - float fDurationSeconds; - float fFrequency; - float fAmplitude; + uint32_t a; }; -struct wow64_IVRInput_IVRInput_003_TriggerHapticVibrationAction_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc14_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - float fStartSecondsFromNow; - float fDurationSeconds; - float fFrequency; - float fAmplitude; + uint32_t a; }; -struct IVRInput_IVRInput_003_GetActionOrigins_params +struct IVRControlPanel_IVRControlPanel_006_undoc15_params { struct u_iface u_iface; uint32_t _ret; - uint64_t actionSetHandle; - uint64_t digitalActionHandle; - uint64_t *originsOut; - uint32_t originOutCount; }; -struct wow64_IVRInput_IVRInput_003_GetActionOrigins_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc15_params { struct u_iface u_iface; uint32_t _ret; - uint64_t actionSetHandle; - uint64_t digitalActionHandle; - W32_PTR(uint64_t *originsOut, originsOut, uint64_t *); - uint32_t originOutCount; }; -struct IVRInput_IVRInput_003_GetOriginLocalizedName_params +struct IVRControlPanel_IVRControlPanel_006_undoc16_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t origin; - char *pchNameArray; - uint32_t unNameArraySize; + int8_t a; }; -struct wow64_IVRInput_IVRInput_003_GetOriginLocalizedName_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc16_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t origin; - W32_PTR(char *pchNameArray, pchNameArray, char *); - uint32_t unNameArraySize; + int8_t a; }; -struct IVRInput_IVRInput_003_GetOriginTrackedDeviceInfo_params +struct IVRControlPanel_IVRControlPanel_006_undoc17_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t origin; - w_InputOriginInfo_t *pOriginInfo; - uint32_t unOriginInfoSize; + int8_t _ret; }; -struct wow64_IVRInput_IVRInput_003_GetOriginTrackedDeviceInfo_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc17_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t origin; - W32_PTR(w32_InputOriginInfo_t *pOriginInfo, pOriginInfo, w32_InputOriginInfo_t *); - uint32_t unOriginInfoSize; + int8_t _ret; }; -struct IVRInput_IVRInput_003_ShowActionOrigins_params +struct IVRControlPanel_IVRControlPanel_006_undoc18_params { struct u_iface u_iface; uint32_t _ret; - uint64_t actionSetHandle; - uint64_t ulActionHandle; }; -struct wow64_IVRInput_IVRInput_003_ShowActionOrigins_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc18_params { struct u_iface u_iface; uint32_t _ret; - uint64_t actionSetHandle; - uint64_t ulActionHandle; }; -struct IVRInput_IVRInput_003_ShowBindingsForActionSet_params +struct IVRControlPanel_IVRControlPanel_006_undoc19_params { struct u_iface u_iface; - uint32_t _ret; - VRActiveActionSet_t_1015 *pSets; - uint32_t unSizeOfVRSelectedActionSet_t; - uint32_t unSetCount; - uint64_t originToHighlight; + int8_t a; }; -struct wow64_IVRInput_IVRInput_003_ShowBindingsForActionSet_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc19_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(VRActiveActionSet_t_1015 *pSets, pSets, VRActiveActionSet_t_1015 *); - uint32_t unSizeOfVRSelectedActionSet_t; - uint32_t unSetCount; - uint64_t originToHighlight; + int8_t a; }; -struct IVRInput_IVRInput_004_SetActionManifestPath_params +struct IVRControlPanel_IVRControlPanel_006_undoc20_params { struct u_iface u_iface; - uint32_t _ret; - const char *pchActionManifestPath; + int8_t _ret; }; -struct wow64_IVRInput_IVRInput_004_SetActionManifestPath_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc20_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(const char *pchActionManifestPath, pchActionManifestPath, const char *); + int8_t _ret; }; -struct IVRInput_IVRInput_004_GetActionSetHandle_params +struct IVRControlPanel_IVRControlPanel_006_undoc21_params { struct u_iface u_iface; uint32_t _ret; - const char *pchActionSetName; - uint64_t *pHandle; }; -struct wow64_IVRInput_IVRInput_004_GetActionSetHandle_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc21_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchActionSetName, pchActionSetName, const char *); - W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); }; -struct IVRInput_IVRInput_004_GetActionHandle_params +struct IVRControlPanel_IVRControlPanel_006_undoc22_params { struct u_iface u_iface; - uint32_t _ret; - const char *pchActionName; - uint64_t *pHandle; + uint64_t a; + const char *b; + uint32_t c; + uint32_t d; + const char *e; }; -struct wow64_IVRInput_IVRInput_004_GetActionHandle_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc22_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(const char *pchActionName, pchActionName, const char *); - W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); + uint64_t a; + W32_PTR(const char *b, b, const char *); + uint32_t c; + uint32_t d; + W32_PTR(const char *e, e, const char *); }; -struct IVRInput_IVRInput_004_GetInputSourceHandle_params +struct IVRControlPanel_IVRControlPanel_006_undoc23_params { struct u_iface u_iface; - uint32_t _ret; - const char *pchInputSourcePath; - uint64_t *pHandle; + int8_t _ret; + const char *a; }; -struct wow64_IVRInput_IVRInput_004_GetInputSourceHandle_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc23_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(const char *pchInputSourcePath, pchInputSourcePath, const char *); - W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); + int8_t _ret; + W32_PTR(const char *a, a, const char *); }; -struct IVRInput_IVRInput_004_UpdateActionState_params +struct IVRControlPanel_IVRControlPanel_006_undoc24_params { struct u_iface u_iface; - uint32_t _ret; - VRActiveActionSet_t_1016 *pSets; - uint32_t unSizeOfVRSelectedActionSet_t; - uint32_t unSetCount; + int8_t _ret; }; -struct wow64_IVRInput_IVRInput_004_UpdateActionState_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc24_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(VRActiveActionSet_t_1016 *pSets, pSets, VRActiveActionSet_t_1016 *); - uint32_t unSizeOfVRSelectedActionSet_t; - uint32_t unSetCount; + int8_t _ret; }; -struct IVRInput_IVRInput_004_GetDigitalActionData_params +struct IVRControlPanel_IVRControlPanel_006_undoc25_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - w_InputDigitalActionData_t *pActionData; - uint32_t unActionDataSize; - uint64_t ulRestrictToDevice; + int8_t _ret; + int8_t a; }; -struct wow64_IVRInput_IVRInput_004_GetDigitalActionData_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc25_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - W32_PTR(w32_InputDigitalActionData_t *pActionData, pActionData, w32_InputDigitalActionData_t *); - uint32_t unActionDataSize; - uint64_t ulRestrictToDevice; + int8_t _ret; + int8_t a; }; -struct IVRInput_IVRInput_004_GetAnalogActionData_params +struct IVRControlPanel_IVRControlPanel_006_undoc26_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - w_InputAnalogActionData_t *pActionData; - uint32_t unActionDataSize; - uint64_t ulRestrictToDevice; + uint64_t _ret; }; -struct wow64_IVRInput_IVRInput_004_GetAnalogActionData_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc26_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - W32_PTR(w32_InputAnalogActionData_t *pActionData, pActionData, w32_InputAnalogActionData_t *); - uint32_t unActionDataSize; - uint64_t ulRestrictToDevice; + uint64_t _ret; }; -struct IVRInput_IVRInput_004_GetPoseActionData_params +struct IVRControlPanel_IVRControlPanel_006_undoc27_params { struct u_iface u_iface; uint32_t _ret; - uint64_t action; - uint32_t eOrigin; - float fPredictedSecondsFromNow; - w_InputPoseActionData_t *pActionData; - uint32_t unActionDataSize; - uint64_t ulRestrictToDevice; + const char *a; }; -struct wow64_IVRInput_IVRInput_004_GetPoseActionData_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc27_params { struct u_iface u_iface; uint32_t _ret; - uint64_t action; - uint32_t eOrigin; - float fPredictedSecondsFromNow; - W32_PTR(w32_InputPoseActionData_t *pActionData, pActionData, w32_InputPoseActionData_t *); - uint32_t unActionDataSize; - uint64_t ulRestrictToDevice; + W32_PTR(const char *a, a, const char *); }; -struct IVRInput_IVRInput_004_GetSkeletalActionData_params +struct IVRControlPanel_IVRControlPanel_006_undoc28_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - w_InputSkeletalActionData_t_1016 *pActionData; - uint32_t unActionDataSize; - uint64_t ulRestrictToDevice; + uint64_t a; }; -struct wow64_IVRInput_IVRInput_004_GetSkeletalActionData_params +struct wow64_IVRControlPanel_IVRControlPanel_006_undoc28_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - W32_PTR(w32_InputSkeletalActionData_t_1016 *pActionData, pActionData, w32_InputSkeletalActionData_t_1016 *); - uint32_t unActionDataSize; - uint64_t ulRestrictToDevice; + uint64_t a; }; -struct IVRInput_IVRInput_004_GetSkeletalBoneData_params +struct IVRDriverManager_IVRDriverManager_001_GetDriverCount_params { struct u_iface u_iface; uint32_t _ret; - uint64_t action; - uint32_t eTransformSpace; - uint32_t eMotionRange; - VRBoneTransform_t *pTransformArray; - uint32_t unTransformArrayCount; - uint64_t ulRestrictToDevice; }; -struct wow64_IVRInput_IVRInput_004_GetSkeletalBoneData_params +struct wow64_IVRDriverManager_IVRDriverManager_001_GetDriverCount_params { struct u_iface u_iface; uint32_t _ret; - uint64_t action; - uint32_t eTransformSpace; - uint32_t eMotionRange; - W32_PTR(VRBoneTransform_t *pTransformArray, pTransformArray, VRBoneTransform_t *); - uint32_t unTransformArrayCount; - uint64_t ulRestrictToDevice; }; -struct IVRInput_IVRInput_004_GetSkeletalBoneDataCompressed_params +struct IVRDriverManager_IVRDriverManager_001_GetDriverName_params { struct u_iface u_iface; uint32_t _ret; - uint64_t action; - uint32_t eTransformSpace; - uint32_t eMotionRange; - void *pvCompressedData; - uint32_t unCompressedSize; - uint32_t *punRequiredCompressedSize; - uint64_t ulRestrictToDevice; + uint32_t nDriver; + char *pchValue; + uint32_t unBufferSize; }; -struct wow64_IVRInput_IVRInput_004_GetSkeletalBoneDataCompressed_params +struct wow64_IVRDriverManager_IVRDriverManager_001_GetDriverName_params { struct u_iface u_iface; uint32_t _ret; - uint64_t action; - uint32_t eTransformSpace; - uint32_t eMotionRange; - W32_PTR(void *pvCompressedData, pvCompressedData, void *); - uint32_t unCompressedSize; - W32_PTR(uint32_t *punRequiredCompressedSize, punRequiredCompressedSize, uint32_t *); - uint64_t ulRestrictToDevice; + uint32_t nDriver; + W32_PTR(char *pchValue, pchValue, char *); + uint32_t unBufferSize; }; -struct IVRInput_IVRInput_004_DecompressSkeletalBoneData_params +struct IVRDriverManager_IVRDriverManager_001_GetDriverHandle_params { struct u_iface u_iface; - uint32_t _ret; - void *pvCompressedBuffer; - uint32_t unCompressedBufferSize; - uint32_t *peTransformSpace; - VRBoneTransform_t *pTransformArray; - uint32_t unTransformArrayCount; + uint64_t _ret; + const char *pchDriverName; }; -struct wow64_IVRInput_IVRInput_004_DecompressSkeletalBoneData_params +struct wow64_IVRDriverManager_IVRDriverManager_001_GetDriverHandle_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(void *pvCompressedBuffer, pvCompressedBuffer, void *); - uint32_t unCompressedBufferSize; - W32_PTR(uint32_t *peTransformSpace, peTransformSpace, uint32_t *); - W32_PTR(VRBoneTransform_t *pTransformArray, pTransformArray, VRBoneTransform_t *); - uint32_t unTransformArrayCount; + uint64_t _ret; + W32_PTR(const char *pchDriverName, pchDriverName, const char *); }; -struct IVRInput_IVRInput_004_TriggerHapticVibrationAction_params +struct IVRDriverManager_IVRDriverManager_001_IsEnabled_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - float fStartSecondsFromNow; - float fDurationSeconds; - float fFrequency; - float fAmplitude; - uint64_t ulRestrictToDevice; + int8_t _ret; + uint32_t nDriver; }; -struct wow64_IVRInput_IVRInput_004_TriggerHapticVibrationAction_params +struct wow64_IVRDriverManager_IVRDriverManager_001_IsEnabled_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - float fStartSecondsFromNow; - float fDurationSeconds; - float fFrequency; - float fAmplitude; - uint64_t ulRestrictToDevice; + int8_t _ret; + uint32_t nDriver; }; -struct IVRInput_IVRInput_004_GetActionOrigins_params +struct IVRExtendedDisplay_IVRExtendedDisplay_001_GetWindowBounds_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t actionSetHandle; - uint64_t digitalActionHandle; - uint64_t *originsOut; - uint32_t originOutCount; + int32_t *pnX; + int32_t *pnY; + uint32_t *pnWidth; + uint32_t *pnHeight; }; -struct wow64_IVRInput_IVRInput_004_GetActionOrigins_params +struct wow64_IVRExtendedDisplay_IVRExtendedDisplay_001_GetWindowBounds_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t actionSetHandle; - uint64_t digitalActionHandle; - W32_PTR(uint64_t *originsOut, originsOut, uint64_t *); - uint32_t originOutCount; + W32_PTR(int32_t *pnX, pnX, int32_t *); + W32_PTR(int32_t *pnY, pnY, int32_t *); + W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); + W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRInput_IVRInput_004_GetOriginLocalizedName_params +struct IVRExtendedDisplay_IVRExtendedDisplay_001_GetEyeOutputViewport_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t origin; - char *pchNameArray; - uint32_t unNameArraySize; + uint32_t eEye; + uint32_t *pnX; + uint32_t *pnY; + uint32_t *pnWidth; + uint32_t *pnHeight; }; -struct wow64_IVRInput_IVRInput_004_GetOriginLocalizedName_params +struct wow64_IVRExtendedDisplay_IVRExtendedDisplay_001_GetEyeOutputViewport_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t origin; - W32_PTR(char *pchNameArray, pchNameArray, char *); - uint32_t unNameArraySize; + uint32_t eEye; + W32_PTR(uint32_t *pnX, pnX, uint32_t *); + W32_PTR(uint32_t *pnY, pnY, uint32_t *); + W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); + W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRInput_IVRInput_004_GetOriginTrackedDeviceInfo_params +struct IVRExtendedDisplay_IVRExtendedDisplay_001_GetDXGIOutputInfo_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t origin; - w_InputOriginInfo_t *pOriginInfo; - uint32_t unOriginInfoSize; + int32_t *pnAdapterIndex; + int32_t *pnAdapterOutputIndex; }; -struct wow64_IVRInput_IVRInput_004_GetOriginTrackedDeviceInfo_params +struct wow64_IVRExtendedDisplay_IVRExtendedDisplay_001_GetDXGIOutputInfo_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t origin; - W32_PTR(w32_InputOriginInfo_t *pOriginInfo, pOriginInfo, w32_InputOriginInfo_t *); - uint32_t unOriginInfoSize; + W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); + W32_PTR(int32_t *pnAdapterOutputIndex, pnAdapterOutputIndex, int32_t *); }; -struct IVRInput_IVRInput_004_ShowActionOrigins_params +struct IVRHeadsetView_IVRHeadsetView_001_SetHeadsetViewSize_params +{ + struct u_iface u_iface; + uint32_t nWidth; + uint32_t nHeight; +}; + +struct wow64_IVRHeadsetView_IVRHeadsetView_001_SetHeadsetViewSize_params +{ + struct u_iface u_iface; + uint32_t nWidth; + uint32_t nHeight; +}; + +struct IVRHeadsetView_IVRHeadsetView_001_GetHeadsetViewSize_params +{ + struct u_iface u_iface; + uint32_t *pnWidth; + uint32_t *pnHeight; +}; + +struct wow64_IVRHeadsetView_IVRHeadsetView_001_GetHeadsetViewSize_params +{ + struct u_iface u_iface; + W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); + W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); +}; + +struct IVRHeadsetView_IVRHeadsetView_001_SetHeadsetViewMode_params +{ + struct u_iface u_iface; + uint32_t eHeadsetViewMode; +}; + +struct wow64_IVRHeadsetView_IVRHeadsetView_001_SetHeadsetViewMode_params +{ + struct u_iface u_iface; + uint32_t eHeadsetViewMode; +}; + +struct IVRHeadsetView_IVRHeadsetView_001_GetHeadsetViewMode_params { struct u_iface u_iface; uint32_t _ret; - uint64_t actionSetHandle; - uint64_t ulActionHandle; }; -struct wow64_IVRInput_IVRInput_004_ShowActionOrigins_params +struct wow64_IVRHeadsetView_IVRHeadsetView_001_GetHeadsetViewMode_params { struct u_iface u_iface; uint32_t _ret; - uint64_t actionSetHandle; - uint64_t ulActionHandle; }; -struct IVRInput_IVRInput_004_ShowBindingsForActionSet_params +struct IVRHeadsetView_IVRHeadsetView_001_SetHeadsetViewCropped_params +{ + struct u_iface u_iface; + int8_t bCropped; +}; + +struct wow64_IVRHeadsetView_IVRHeadsetView_001_SetHeadsetViewCropped_params +{ + struct u_iface u_iface; + int8_t bCropped; +}; + +struct IVRHeadsetView_IVRHeadsetView_001_GetHeadsetViewCropped_params +{ + struct u_iface u_iface; + int8_t _ret; +}; + +struct wow64_IVRHeadsetView_IVRHeadsetView_001_GetHeadsetViewCropped_params +{ + struct u_iface u_iface; + int8_t _ret; +}; + +struct IVRHeadsetView_IVRHeadsetView_001_GetHeadsetViewAspectRatio_params +{ + struct u_iface u_iface; + float _ret; +}; + +struct wow64_IVRHeadsetView_IVRHeadsetView_001_GetHeadsetViewAspectRatio_params +{ + struct u_iface u_iface; + float _ret; +}; + +struct IVRHeadsetView_IVRHeadsetView_001_SetHeadsetViewBlendRange_params +{ + struct u_iface u_iface; + float flStartPct; + float flEndPct; +}; + +struct wow64_IVRHeadsetView_IVRHeadsetView_001_SetHeadsetViewBlendRange_params +{ + struct u_iface u_iface; + float flStartPct; + float flEndPct; +}; + +struct IVRHeadsetView_IVRHeadsetView_001_GetHeadsetViewBlendRange_params +{ + struct u_iface u_iface; + float *pStartPct; + float *pEndPct; +}; + +struct wow64_IVRHeadsetView_IVRHeadsetView_001_GetHeadsetViewBlendRange_params +{ + struct u_iface u_iface; + W32_PTR(float *pStartPct, pStartPct, float *); + W32_PTR(float *pEndPct, pEndPct, float *); +}; + +struct IVRIOBuffer_IVRIOBuffer_001_Open_params { struct u_iface u_iface; uint32_t _ret; - VRActiveActionSet_t_1016 *pSets; - uint32_t unSizeOfVRSelectedActionSet_t; - uint32_t unSetCount; - uint64_t originToHighlight; + const char *pchPath; + uint32_t mode; + uint32_t unElementSize; + uint32_t unElements; + uint64_t *pulBuffer; }; -struct wow64_IVRInput_IVRInput_004_ShowBindingsForActionSet_params +struct wow64_IVRIOBuffer_IVRIOBuffer_001_Open_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(VRActiveActionSet_t_1016 *pSets, pSets, VRActiveActionSet_t_1016 *); - uint32_t unSizeOfVRSelectedActionSet_t; - uint32_t unSetCount; - uint64_t originToHighlight; + W32_PTR(const char *pchPath, pchPath, const char *); + uint32_t mode; + uint32_t unElementSize; + uint32_t unElements; + W32_PTR(uint64_t *pulBuffer, pulBuffer, uint64_t *); }; -struct IVRInput_IVRInput_005_SetActionManifestPath_params +struct IVRIOBuffer_IVRIOBuffer_001_Close_params { struct u_iface u_iface; uint32_t _ret; - const char *pchActionManifestPath; + uint64_t ulBuffer; }; -struct wow64_IVRInput_IVRInput_005_SetActionManifestPath_params +struct wow64_IVRIOBuffer_IVRIOBuffer_001_Close_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchActionManifestPath, pchActionManifestPath, const char *); + uint64_t ulBuffer; }; -struct IVRInput_IVRInput_005_GetActionSetHandle_params +struct IVRIOBuffer_IVRIOBuffer_001_Read_params { struct u_iface u_iface; uint32_t _ret; - const char *pchActionSetName; - uint64_t *pHandle; + uint64_t ulBuffer; + void *pDst; + uint32_t unBytes; + uint32_t *punRead; }; -struct wow64_IVRInput_IVRInput_005_GetActionSetHandle_params +struct wow64_IVRIOBuffer_IVRIOBuffer_001_Read_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchActionSetName, pchActionSetName, const char *); - W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); + uint64_t ulBuffer; + W32_PTR(void *pDst, pDst, void *); + uint32_t unBytes; + W32_PTR(uint32_t *punRead, punRead, uint32_t *); }; -struct IVRInput_IVRInput_005_GetActionHandle_params +struct IVRIOBuffer_IVRIOBuffer_001_Write_params { struct u_iface u_iface; uint32_t _ret; - const char *pchActionName; - uint64_t *pHandle; + uint64_t ulBuffer; + void *pSrc; + uint32_t unBytes; }; -struct wow64_IVRInput_IVRInput_005_GetActionHandle_params +struct wow64_IVRIOBuffer_IVRIOBuffer_001_Write_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchActionName, pchActionName, const char *); - W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); + uint64_t ulBuffer; + W32_PTR(void *pSrc, pSrc, void *); + uint32_t unBytes; }; -struct IVRInput_IVRInput_005_GetInputSourceHandle_params +struct IVRIOBuffer_IVRIOBuffer_001_PropertyContainer_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t ulBuffer; +}; + +struct wow64_IVRIOBuffer_IVRIOBuffer_001_PropertyContainer_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t ulBuffer; +}; + +struct IVRIOBuffer_IVRIOBuffer_002_Open_params { struct u_iface u_iface; uint32_t _ret; - const char *pchInputSourcePath; - uint64_t *pHandle; + const char *pchPath; + uint32_t mode; + uint32_t unElementSize; + uint32_t unElements; + uint64_t *pulBuffer; }; -struct wow64_IVRInput_IVRInput_005_GetInputSourceHandle_params +struct wow64_IVRIOBuffer_IVRIOBuffer_002_Open_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchInputSourcePath, pchInputSourcePath, const char *); - W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); + W32_PTR(const char *pchPath, pchPath, const char *); + uint32_t mode; + uint32_t unElementSize; + uint32_t unElements; + W32_PTR(uint64_t *pulBuffer, pulBuffer, uint64_t *); }; -struct IVRInput_IVRInput_005_UpdateActionState_params +struct IVRIOBuffer_IVRIOBuffer_002_Close_params { struct u_iface u_iface; uint32_t _ret; - VRActiveActionSet_t_1016 *pSets; - uint32_t unSizeOfVRSelectedActionSet_t; - uint32_t unSetCount; + uint64_t ulBuffer; }; -struct wow64_IVRInput_IVRInput_005_UpdateActionState_params +struct wow64_IVRIOBuffer_IVRIOBuffer_002_Close_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(VRActiveActionSet_t_1016 *pSets, pSets, VRActiveActionSet_t_1016 *); - uint32_t unSizeOfVRSelectedActionSet_t; - uint32_t unSetCount; + uint64_t ulBuffer; }; -struct IVRInput_IVRInput_005_GetDigitalActionData_params +struct IVRIOBuffer_IVRIOBuffer_002_Read_params { struct u_iface u_iface; uint32_t _ret; - uint64_t action; - w_InputDigitalActionData_t *pActionData; - uint32_t unActionDataSize; - uint64_t ulRestrictToDevice; + uint64_t ulBuffer; + void *pDst; + uint32_t unBytes; + uint32_t *punRead; }; -struct wow64_IVRInput_IVRInput_005_GetDigitalActionData_params +struct wow64_IVRIOBuffer_IVRIOBuffer_002_Read_params { struct u_iface u_iface; uint32_t _ret; - uint64_t action; - W32_PTR(w32_InputDigitalActionData_t *pActionData, pActionData, w32_InputDigitalActionData_t *); - uint32_t unActionDataSize; - uint64_t ulRestrictToDevice; + uint64_t ulBuffer; + W32_PTR(void *pDst, pDst, void *); + uint32_t unBytes; + W32_PTR(uint32_t *punRead, punRead, uint32_t *); }; -struct IVRInput_IVRInput_005_GetAnalogActionData_params +struct IVRIOBuffer_IVRIOBuffer_002_Write_params { struct u_iface u_iface; uint32_t _ret; - uint64_t action; - w_InputAnalogActionData_t *pActionData; - uint32_t unActionDataSize; - uint64_t ulRestrictToDevice; + uint64_t ulBuffer; + void *pSrc; + uint32_t unBytes; }; -struct wow64_IVRInput_IVRInput_005_GetAnalogActionData_params +struct wow64_IVRIOBuffer_IVRIOBuffer_002_Write_params { struct u_iface u_iface; uint32_t _ret; - uint64_t action; - W32_PTR(w32_InputAnalogActionData_t *pActionData, pActionData, w32_InputAnalogActionData_t *); - uint32_t unActionDataSize; - uint64_t ulRestrictToDevice; + uint64_t ulBuffer; + W32_PTR(void *pSrc, pSrc, void *); + uint32_t unBytes; }; -struct IVRInput_IVRInput_005_GetPoseActionData_params +struct IVRIOBuffer_IVRIOBuffer_002_PropertyContainer_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t ulBuffer; +}; + +struct wow64_IVRIOBuffer_IVRIOBuffer_002_PropertyContainer_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t ulBuffer; +}; + +struct IVRIOBuffer_IVRIOBuffer_002_HasReaders_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulBuffer; +}; + +struct wow64_IVRIOBuffer_IVRIOBuffer_002_HasReaders_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulBuffer; +}; + +struct IVRInput_IVRInput_003_SetActionManifestPath_params { struct u_iface u_iface; uint32_t _ret; - uint64_t action; - uint32_t eOrigin; - float fPredictedSecondsFromNow; - w_InputPoseActionData_t *pActionData; - uint32_t unActionDataSize; - uint64_t ulRestrictToDevice; + const char *pchActionManifestPath; }; -struct wow64_IVRInput_IVRInput_005_GetPoseActionData_params +struct wow64_IVRInput_IVRInput_003_SetActionManifestPath_params { struct u_iface u_iface; uint32_t _ret; - uint64_t action; - uint32_t eOrigin; - float fPredictedSecondsFromNow; - W32_PTR(w32_InputPoseActionData_t *pActionData, pActionData, w32_InputPoseActionData_t *); - uint32_t unActionDataSize; - uint64_t ulRestrictToDevice; + W32_PTR(const char *pchActionManifestPath, pchActionManifestPath, const char *); }; -struct IVRInput_IVRInput_005_GetSkeletalActionData_params +struct IVRInput_IVRInput_003_GetActionSetHandle_params { struct u_iface u_iface; uint32_t _ret; - uint64_t action; - w_InputSkeletalActionData_t_113b *pActionData; - uint32_t unActionDataSize; + const char *pchActionSetName; + uint64_t *pHandle; }; -struct wow64_IVRInput_IVRInput_005_GetSkeletalActionData_params +struct wow64_IVRInput_IVRInput_003_GetActionSetHandle_params { struct u_iface u_iface; uint32_t _ret; - uint64_t action; - W32_PTR(w32_InputSkeletalActionData_t_113b *pActionData, pActionData, w32_InputSkeletalActionData_t_113b *); - uint32_t unActionDataSize; + W32_PTR(const char *pchActionSetName, pchActionSetName, const char *); + W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); }; -struct IVRInput_IVRInput_005_GetBoneCount_params +struct IVRInput_IVRInput_003_GetActionHandle_params { struct u_iface u_iface; uint32_t _ret; - uint64_t action; - uint32_t *pBoneCount; + const char *pchActionName; + uint64_t *pHandle; }; -struct wow64_IVRInput_IVRInput_005_GetBoneCount_params +struct wow64_IVRInput_IVRInput_003_GetActionHandle_params { struct u_iface u_iface; uint32_t _ret; - uint64_t action; - W32_PTR(uint32_t *pBoneCount, pBoneCount, uint32_t *); + W32_PTR(const char *pchActionName, pchActionName, const char *); + W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); }; -struct IVRInput_IVRInput_005_GetBoneHierarchy_params +struct IVRInput_IVRInput_003_GetInputSourceHandle_params { struct u_iface u_iface; uint32_t _ret; - uint64_t action; - int32_t *pParentIndices; - uint32_t unIndexArayCount; + const char *pchInputSourcePath; + uint64_t *pHandle; }; -struct wow64_IVRInput_IVRInput_005_GetBoneHierarchy_params +struct wow64_IVRInput_IVRInput_003_GetInputSourceHandle_params { struct u_iface u_iface; uint32_t _ret; - uint64_t action; - W32_PTR(int32_t *pParentIndices, pParentIndices, int32_t *); - uint32_t unIndexArayCount; + W32_PTR(const char *pchInputSourcePath, pchInputSourcePath, const char *); + W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); }; -struct IVRInput_IVRInput_005_GetBoneName_params +struct IVRInput_IVRInput_003_UpdateActionState_params { struct u_iface u_iface; uint32_t _ret; - uint64_t action; - int32_t nBoneIndex; - char *pchBoneName; - uint32_t unNameBufferSize; + VRActiveActionSet_t_1015 *pSets; + uint32_t unSizeOfVRSelectedActionSet_t; + uint32_t unSetCount; }; -struct wow64_IVRInput_IVRInput_005_GetBoneName_params +struct wow64_IVRInput_IVRInput_003_UpdateActionState_params { struct u_iface u_iface; uint32_t _ret; - uint64_t action; - int32_t nBoneIndex; - W32_PTR(char *pchBoneName, pchBoneName, char *); - uint32_t unNameBufferSize; + W32_PTR(VRActiveActionSet_t_1015 *pSets, pSets, VRActiveActionSet_t_1015 *); + uint32_t unSizeOfVRSelectedActionSet_t; + uint32_t unSetCount; }; -struct IVRInput_IVRInput_005_GetSkeletalReferenceTransforms_params +struct IVRInput_IVRInput_003_GetDigitalActionData_params { struct u_iface u_iface; uint32_t _ret; uint64_t action; - uint32_t eTransformSpace; - uint32_t eReferencePose; - VRBoneTransform_t *pTransformArray; - uint32_t unTransformArrayCount; + w_InputDigitalActionData_t *pActionData; + uint32_t unActionDataSize; }; -struct wow64_IVRInput_IVRInput_005_GetSkeletalReferenceTransforms_params +struct wow64_IVRInput_IVRInput_003_GetDigitalActionData_params { struct u_iface u_iface; uint32_t _ret; uint64_t action; - uint32_t eTransformSpace; - uint32_t eReferencePose; - W32_PTR(VRBoneTransform_t *pTransformArray, pTransformArray, VRBoneTransform_t *); - uint32_t unTransformArrayCount; + W32_PTR(w32_InputDigitalActionData_t *pActionData, pActionData, w32_InputDigitalActionData_t *); + uint32_t unActionDataSize; }; -struct IVRInput_IVRInput_005_GetSkeletalTrackingLevel_params +struct IVRInput_IVRInput_003_GetAnalogActionData_params { struct u_iface u_iface; uint32_t _ret; uint64_t action; - uint32_t *pSkeletalTrackingLevel; + w_InputAnalogActionData_t *pActionData; + uint32_t unActionDataSize; }; -struct wow64_IVRInput_IVRInput_005_GetSkeletalTrackingLevel_params +struct wow64_IVRInput_IVRInput_003_GetAnalogActionData_params { struct u_iface u_iface; uint32_t _ret; uint64_t action; - W32_PTR(uint32_t *pSkeletalTrackingLevel, pSkeletalTrackingLevel, uint32_t *); + W32_PTR(w32_InputAnalogActionData_t *pActionData, pActionData, w32_InputAnalogActionData_t *); + uint32_t unActionDataSize; }; -struct IVRInput_IVRInput_005_GetSkeletalBoneData_params +struct IVRInput_IVRInput_003_GetPoseActionData_params { struct u_iface u_iface; uint32_t _ret; uint64_t action; - uint32_t eTransformSpace; - uint32_t eMotionRange; - VRBoneTransform_t *pTransformArray; - uint32_t unTransformArrayCount; + uint32_t eOrigin; + float fPredictedSecondsFromNow; + w_InputPoseActionData_t *pActionData; + uint32_t unActionDataSize; }; -struct wow64_IVRInput_IVRInput_005_GetSkeletalBoneData_params +struct wow64_IVRInput_IVRInput_003_GetPoseActionData_params { struct u_iface u_iface; uint32_t _ret; uint64_t action; - uint32_t eTransformSpace; - uint32_t eMotionRange; - W32_PTR(VRBoneTransform_t *pTransformArray, pTransformArray, VRBoneTransform_t *); - uint32_t unTransformArrayCount; + uint32_t eOrigin; + float fPredictedSecondsFromNow; + W32_PTR(w32_InputPoseActionData_t *pActionData, pActionData, w32_InputPoseActionData_t *); + uint32_t unActionDataSize; }; -struct IVRInput_IVRInput_005_GetSkeletalSummaryData_params +struct IVRInput_IVRInput_003_GetSkeletalActionData_params { struct u_iface u_iface; uint32_t _ret; uint64_t action; - VRSkeletalSummaryData_t *pSkeletalSummaryData; + uint32_t eBoneParent; + float fPredictedSecondsFromNow; + w_InputSkeletonActionData_t *pActionData; + uint32_t unActionDataSize; + VRBoneTransform_t *pTransformArray; + uint32_t unTransformArrayCount; }; -struct wow64_IVRInput_IVRInput_005_GetSkeletalSummaryData_params +struct wow64_IVRInput_IVRInput_003_GetSkeletalActionData_params { struct u_iface u_iface; uint32_t _ret; uint64_t action; - W32_PTR(VRSkeletalSummaryData_t *pSkeletalSummaryData, pSkeletalSummaryData, VRSkeletalSummaryData_t *); + uint32_t eBoneParent; + float fPredictedSecondsFromNow; + W32_PTR(w32_InputSkeletonActionData_t *pActionData, pActionData, w32_InputSkeletonActionData_t *); + uint32_t unActionDataSize; + W32_PTR(VRBoneTransform_t *pTransformArray, pTransformArray, VRBoneTransform_t *); + uint32_t unTransformArrayCount; }; -struct IVRInput_IVRInput_005_GetSkeletalBoneDataCompressed_params +struct IVRInput_IVRInput_003_GetSkeletalActionDataCompressed_params { struct u_iface u_iface; uint32_t _ret; uint64_t action; - uint32_t eMotionRange; + uint32_t eBoneParent; + float fPredictedSecondsFromNow; void *pvCompressedData; uint32_t unCompressedSize; uint32_t *punRequiredCompressedSize; }; -struct wow64_IVRInput_IVRInput_005_GetSkeletalBoneDataCompressed_params +struct wow64_IVRInput_IVRInput_003_GetSkeletalActionDataCompressed_params { struct u_iface u_iface; uint32_t _ret; uint64_t action; - uint32_t eMotionRange; + uint32_t eBoneParent; + float fPredictedSecondsFromNow; W32_PTR(void *pvCompressedData, pvCompressedData, void *); uint32_t unCompressedSize; W32_PTR(uint32_t *punRequiredCompressedSize, punRequiredCompressedSize, uint32_t *); }; -struct IVRInput_IVRInput_005_DecompressSkeletalBoneData_params +struct IVRInput_IVRInput_003_UncompressSkeletalActionData_params { struct u_iface u_iface; uint32_t _ret; - const void *pvCompressedBuffer; + void *pvCompressedBuffer; uint32_t unCompressedBufferSize; - uint32_t eTransformSpace; + uint32_t *peBoneParent; VRBoneTransform_t *pTransformArray; uint32_t unTransformArrayCount; }; -struct wow64_IVRInput_IVRInput_005_DecompressSkeletalBoneData_params +struct wow64_IVRInput_IVRInput_003_UncompressSkeletalActionData_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const void *pvCompressedBuffer, pvCompressedBuffer, const void *); + W32_PTR(void *pvCompressedBuffer, pvCompressedBuffer, void *); uint32_t unCompressedBufferSize; - uint32_t eTransformSpace; + W32_PTR(uint32_t *peBoneParent, peBoneParent, uint32_t *); W32_PTR(VRBoneTransform_t *pTransformArray, pTransformArray, VRBoneTransform_t *); uint32_t unTransformArrayCount; }; -struct IVRInput_IVRInput_005_TriggerHapticVibrationAction_params +struct IVRInput_IVRInput_003_TriggerHapticVibrationAction_params { struct u_iface u_iface; uint32_t _ret; @@ -15998,10 +15938,9 @@ struct IVRInput_IVRInput_005_TriggerHapticVibrationAction_params float fDurationSeconds; float fFrequency; float fAmplitude; - uint64_t ulRestrictToDevice; }; -struct wow64_IVRInput_IVRInput_005_TriggerHapticVibrationAction_params +struct wow64_IVRInput_IVRInput_003_TriggerHapticVibrationAction_params { struct u_iface u_iface; uint32_t _ret; @@ -16010,10 +15949,9 @@ struct wow64_IVRInput_IVRInput_005_TriggerHapticVibrationAction_params float fDurationSeconds; float fFrequency; float fAmplitude; - uint64_t ulRestrictToDevice; }; -struct IVRInput_IVRInput_005_GetActionOrigins_params +struct IVRInput_IVRInput_003_GetActionOrigins_params { struct u_iface u_iface; uint32_t _ret; @@ -16023,7 +15961,7 @@ struct IVRInput_IVRInput_005_GetActionOrigins_params uint32_t originOutCount; }; -struct wow64_IVRInput_IVRInput_005_GetActionOrigins_params +struct wow64_IVRInput_IVRInput_003_GetActionOrigins_params { struct u_iface u_iface; uint32_t _ret; @@ -16033,27 +15971,25 @@ struct wow64_IVRInput_IVRInput_005_GetActionOrigins_params uint32_t originOutCount; }; -struct IVRInput_IVRInput_005_GetOriginLocalizedName_params +struct IVRInput_IVRInput_003_GetOriginLocalizedName_params { struct u_iface u_iface; uint32_t _ret; uint64_t origin; char *pchNameArray; uint32_t unNameArraySize; - int32_t unStringSectionsToInclude; }; -struct wow64_IVRInput_IVRInput_005_GetOriginLocalizedName_params +struct wow64_IVRInput_IVRInput_003_GetOriginLocalizedName_params { struct u_iface u_iface; uint32_t _ret; uint64_t origin; W32_PTR(char *pchNameArray, pchNameArray, char *); uint32_t unNameArraySize; - int32_t unStringSectionsToInclude; }; -struct IVRInput_IVRInput_005_GetOriginTrackedDeviceInfo_params +struct IVRInput_IVRInput_003_GetOriginTrackedDeviceInfo_params { struct u_iface u_iface; uint32_t _ret; @@ -16062,7 +15998,7 @@ struct IVRInput_IVRInput_005_GetOriginTrackedDeviceInfo_params uint32_t unOriginInfoSize; }; -struct wow64_IVRInput_IVRInput_005_GetOriginTrackedDeviceInfo_params +struct wow64_IVRInput_IVRInput_003_GetOriginTrackedDeviceInfo_params { struct u_iface u_iface; uint32_t _ret; @@ -16071,7 +16007,7 @@ struct wow64_IVRInput_IVRInput_005_GetOriginTrackedDeviceInfo_params uint32_t unOriginInfoSize; }; -struct IVRInput_IVRInput_005_ShowActionOrigins_params +struct IVRInput_IVRInput_003_ShowActionOrigins_params { struct u_iface u_iface; uint32_t _ret; @@ -16079,7 +16015,7 @@ struct IVRInput_IVRInput_005_ShowActionOrigins_params uint64_t ulActionHandle; }; -struct wow64_IVRInput_IVRInput_005_ShowActionOrigins_params +struct wow64_IVRInput_IVRInput_003_ShowActionOrigins_params { struct u_iface u_iface; uint32_t _ret; @@ -16087,53 +16023,41 @@ struct wow64_IVRInput_IVRInput_005_ShowActionOrigins_params uint64_t ulActionHandle; }; -struct IVRInput_IVRInput_005_ShowBindingsForActionSet_params +struct IVRInput_IVRInput_003_ShowBindingsForActionSet_params { struct u_iface u_iface; uint32_t _ret; - VRActiveActionSet_t_1016 *pSets; + VRActiveActionSet_t_1015 *pSets; uint32_t unSizeOfVRSelectedActionSet_t; uint32_t unSetCount; uint64_t originToHighlight; }; -struct wow64_IVRInput_IVRInput_005_ShowBindingsForActionSet_params +struct wow64_IVRInput_IVRInput_003_ShowBindingsForActionSet_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(VRActiveActionSet_t_1016 *pSets, pSets, VRActiveActionSet_t_1016 *); + W32_PTR(VRActiveActionSet_t_1015 *pSets, pSets, VRActiveActionSet_t_1015 *); uint32_t unSizeOfVRSelectedActionSet_t; uint32_t unSetCount; uint64_t originToHighlight; }; -struct IVRInput_IVRInput_005_IsUsingLegacyInput_params -{ - struct u_iface u_iface; - int8_t _ret; -}; - -struct wow64_IVRInput_IVRInput_005_IsUsingLegacyInput_params -{ - struct u_iface u_iface; - int8_t _ret; -}; - -struct IVRInput_IVRInput_006_SetActionManifestPath_params +struct IVRInput_IVRInput_004_SetActionManifestPath_params { struct u_iface u_iface; uint32_t _ret; const char *pchActionManifestPath; }; -struct wow64_IVRInput_IVRInput_006_SetActionManifestPath_params +struct wow64_IVRInput_IVRInput_004_SetActionManifestPath_params { struct u_iface u_iface; uint32_t _ret; W32_PTR(const char *pchActionManifestPath, pchActionManifestPath, const char *); }; -struct IVRInput_IVRInput_006_GetActionSetHandle_params +struct IVRInput_IVRInput_004_GetActionSetHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -16141,7 +16065,7 @@ struct IVRInput_IVRInput_006_GetActionSetHandle_params uint64_t *pHandle; }; -struct wow64_IVRInput_IVRInput_006_GetActionSetHandle_params +struct wow64_IVRInput_IVRInput_004_GetActionSetHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -16149,7 +16073,7 @@ struct wow64_IVRInput_IVRInput_006_GetActionSetHandle_params W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); }; -struct IVRInput_IVRInput_006_GetActionHandle_params +struct IVRInput_IVRInput_004_GetActionHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -16157,7 +16081,7 @@ struct IVRInput_IVRInput_006_GetActionHandle_params uint64_t *pHandle; }; -struct wow64_IVRInput_IVRInput_006_GetActionHandle_params +struct wow64_IVRInput_IVRInput_004_GetActionHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -16165,7 +16089,7 @@ struct wow64_IVRInput_IVRInput_006_GetActionHandle_params W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); }; -struct IVRInput_IVRInput_006_GetInputSourceHandle_params +struct IVRInput_IVRInput_004_GetInputSourceHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -16173,7 +16097,7 @@ struct IVRInput_IVRInput_006_GetInputSourceHandle_params uint64_t *pHandle; }; -struct wow64_IVRInput_IVRInput_006_GetInputSourceHandle_params +struct wow64_IVRInput_IVRInput_004_GetInputSourceHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -16181,7 +16105,7 @@ struct wow64_IVRInput_IVRInput_006_GetInputSourceHandle_params W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); }; -struct IVRInput_IVRInput_006_UpdateActionState_params +struct IVRInput_IVRInput_004_UpdateActionState_params { struct u_iface u_iface; uint32_t _ret; @@ -16190,7 +16114,7 @@ struct IVRInput_IVRInput_006_UpdateActionState_params uint32_t unSetCount; }; -struct wow64_IVRInput_IVRInput_006_UpdateActionState_params +struct wow64_IVRInput_IVRInput_004_UpdateActionState_params { struct u_iface u_iface; uint32_t _ret; @@ -16199,7 +16123,7 @@ struct wow64_IVRInput_IVRInput_006_UpdateActionState_params uint32_t unSetCount; }; -struct IVRInput_IVRInput_006_GetDigitalActionData_params +struct IVRInput_IVRInput_004_GetDigitalActionData_params { struct u_iface u_iface; uint32_t _ret; @@ -16209,7 +16133,7 @@ struct IVRInput_IVRInput_006_GetDigitalActionData_params uint64_t ulRestrictToDevice; }; -struct wow64_IVRInput_IVRInput_006_GetDigitalActionData_params +struct wow64_IVRInput_IVRInput_004_GetDigitalActionData_params { struct u_iface u_iface; uint32_t _ret; @@ -16219,7 +16143,7 @@ struct wow64_IVRInput_IVRInput_006_GetDigitalActionData_params uint64_t ulRestrictToDevice; }; -struct IVRInput_IVRInput_006_GetAnalogActionData_params +struct IVRInput_IVRInput_004_GetAnalogActionData_params { struct u_iface u_iface; uint32_t _ret; @@ -16229,7 +16153,7 @@ struct IVRInput_IVRInput_006_GetAnalogActionData_params uint64_t ulRestrictToDevice; }; -struct wow64_IVRInput_IVRInput_006_GetAnalogActionData_params +struct wow64_IVRInput_IVRInput_004_GetAnalogActionData_params { struct u_iface u_iface; uint32_t _ret; @@ -16239,7 +16163,7 @@ struct wow64_IVRInput_IVRInput_006_GetAnalogActionData_params uint64_t ulRestrictToDevice; }; -struct IVRInput_IVRInput_006_GetPoseActionDataRelativeToNow_params +struct IVRInput_IVRInput_004_GetPoseActionData_params { struct u_iface u_iface; uint32_t _ret; @@ -16251,7 +16175,7 @@ struct IVRInput_IVRInput_006_GetPoseActionDataRelativeToNow_params uint64_t ulRestrictToDevice; }; -struct wow64_IVRInput_IVRInput_006_GetPoseActionDataRelativeToNow_params +struct wow64_IVRInput_IVRInput_004_GetPoseActionData_params { struct u_iface u_iface; uint32_t _ret; @@ -16263,139 +16187,27 @@ struct wow64_IVRInput_IVRInput_006_GetPoseActionDataRelativeToNow_params uint64_t ulRestrictToDevice; }; -struct IVRInput_IVRInput_006_GetPoseActionDataForNextFrame_params +struct IVRInput_IVRInput_004_GetSkeletalActionData_params { struct u_iface u_iface; uint32_t _ret; uint64_t action; - uint32_t eOrigin; - w_InputPoseActionData_t *pActionData; + w_InputSkeletalActionData_t_1016 *pActionData; uint32_t unActionDataSize; uint64_t ulRestrictToDevice; }; -struct wow64_IVRInput_IVRInput_006_GetPoseActionDataForNextFrame_params +struct wow64_IVRInput_IVRInput_004_GetSkeletalActionData_params { struct u_iface u_iface; uint32_t _ret; uint64_t action; - uint32_t eOrigin; - W32_PTR(w32_InputPoseActionData_t *pActionData, pActionData, w32_InputPoseActionData_t *); + W32_PTR(w32_InputSkeletalActionData_t_1016 *pActionData, pActionData, w32_InputSkeletalActionData_t_1016 *); uint32_t unActionDataSize; uint64_t ulRestrictToDevice; }; -struct IVRInput_IVRInput_006_GetSkeletalActionData_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - w_InputSkeletalActionData_t_113b *pActionData; - uint32_t unActionDataSize; -}; - -struct wow64_IVRInput_IVRInput_006_GetSkeletalActionData_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - W32_PTR(w32_InputSkeletalActionData_t_113b *pActionData, pActionData, w32_InputSkeletalActionData_t_113b *); - uint32_t unActionDataSize; -}; - -struct IVRInput_IVRInput_006_GetBoneCount_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - uint32_t *pBoneCount; -}; - -struct wow64_IVRInput_IVRInput_006_GetBoneCount_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - W32_PTR(uint32_t *pBoneCount, pBoneCount, uint32_t *); -}; - -struct IVRInput_IVRInput_006_GetBoneHierarchy_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - int32_t *pParentIndices; - uint32_t unIndexArayCount; -}; - -struct wow64_IVRInput_IVRInput_006_GetBoneHierarchy_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - W32_PTR(int32_t *pParentIndices, pParentIndices, int32_t *); - uint32_t unIndexArayCount; -}; - -struct IVRInput_IVRInput_006_GetBoneName_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - int32_t nBoneIndex; - char *pchBoneName; - uint32_t unNameBufferSize; -}; - -struct wow64_IVRInput_IVRInput_006_GetBoneName_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - int32_t nBoneIndex; - W32_PTR(char *pchBoneName, pchBoneName, char *); - uint32_t unNameBufferSize; -}; - -struct IVRInput_IVRInput_006_GetSkeletalReferenceTransforms_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - uint32_t eTransformSpace; - uint32_t eReferencePose; - VRBoneTransform_t *pTransformArray; - uint32_t unTransformArrayCount; -}; - -struct wow64_IVRInput_IVRInput_006_GetSkeletalReferenceTransforms_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - uint32_t eTransformSpace; - uint32_t eReferencePose; - W32_PTR(VRBoneTransform_t *pTransformArray, pTransformArray, VRBoneTransform_t *); - uint32_t unTransformArrayCount; -}; - -struct IVRInput_IVRInput_006_GetSkeletalTrackingLevel_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - uint32_t *pSkeletalTrackingLevel; -}; - -struct wow64_IVRInput_IVRInput_006_GetSkeletalTrackingLevel_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - W32_PTR(uint32_t *pSkeletalTrackingLevel, pSkeletalTrackingLevel, uint32_t *); -}; - -struct IVRInput_IVRInput_006_GetSkeletalBoneData_params +struct IVRInput_IVRInput_004_GetSkeletalBoneData_params { struct u_iface u_iface; uint32_t _ret; @@ -16404,9 +16216,10 @@ struct IVRInput_IVRInput_006_GetSkeletalBoneData_params uint32_t eMotionRange; VRBoneTransform_t *pTransformArray; uint32_t unTransformArrayCount; + uint64_t ulRestrictToDevice; }; -struct wow64_IVRInput_IVRInput_006_GetSkeletalBoneData_params +struct wow64_IVRInput_IVRInput_004_GetSkeletalBoneData_params { struct u_iface u_iface; uint32_t _ret; @@ -16415,71 +16228,58 @@ struct wow64_IVRInput_IVRInput_006_GetSkeletalBoneData_params uint32_t eMotionRange; W32_PTR(VRBoneTransform_t *pTransformArray, pTransformArray, VRBoneTransform_t *); uint32_t unTransformArrayCount; + uint64_t ulRestrictToDevice; }; -struct IVRInput_IVRInput_006_GetSkeletalSummaryData_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - uint32_t eSummaryType; - VRSkeletalSummaryData_t *pSkeletalSummaryData; -}; - -struct wow64_IVRInput_IVRInput_006_GetSkeletalSummaryData_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - uint32_t eSummaryType; - W32_PTR(VRSkeletalSummaryData_t *pSkeletalSummaryData, pSkeletalSummaryData, VRSkeletalSummaryData_t *); -}; - -struct IVRInput_IVRInput_006_GetSkeletalBoneDataCompressed_params +struct IVRInput_IVRInput_004_GetSkeletalBoneDataCompressed_params { struct u_iface u_iface; uint32_t _ret; uint64_t action; + uint32_t eTransformSpace; uint32_t eMotionRange; void *pvCompressedData; uint32_t unCompressedSize; uint32_t *punRequiredCompressedSize; + uint64_t ulRestrictToDevice; }; -struct wow64_IVRInput_IVRInput_006_GetSkeletalBoneDataCompressed_params +struct wow64_IVRInput_IVRInput_004_GetSkeletalBoneDataCompressed_params { struct u_iface u_iface; uint32_t _ret; uint64_t action; + uint32_t eTransformSpace; uint32_t eMotionRange; W32_PTR(void *pvCompressedData, pvCompressedData, void *); uint32_t unCompressedSize; W32_PTR(uint32_t *punRequiredCompressedSize, punRequiredCompressedSize, uint32_t *); + uint64_t ulRestrictToDevice; }; -struct IVRInput_IVRInput_006_DecompressSkeletalBoneData_params +struct IVRInput_IVRInput_004_DecompressSkeletalBoneData_params { struct u_iface u_iface; uint32_t _ret; - const void *pvCompressedBuffer; + void *pvCompressedBuffer; uint32_t unCompressedBufferSize; - uint32_t eTransformSpace; + uint32_t *peTransformSpace; VRBoneTransform_t *pTransformArray; uint32_t unTransformArrayCount; }; -struct wow64_IVRInput_IVRInput_006_DecompressSkeletalBoneData_params +struct wow64_IVRInput_IVRInput_004_DecompressSkeletalBoneData_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const void *pvCompressedBuffer, pvCompressedBuffer, const void *); + W32_PTR(void *pvCompressedBuffer, pvCompressedBuffer, void *); uint32_t unCompressedBufferSize; - uint32_t eTransformSpace; + W32_PTR(uint32_t *peTransformSpace, peTransformSpace, uint32_t *); W32_PTR(VRBoneTransform_t *pTransformArray, pTransformArray, VRBoneTransform_t *); uint32_t unTransformArrayCount; }; -struct IVRInput_IVRInput_006_TriggerHapticVibrationAction_params +struct IVRInput_IVRInput_004_TriggerHapticVibrationAction_params { struct u_iface u_iface; uint32_t _ret; @@ -16491,7 +16291,7 @@ struct IVRInput_IVRInput_006_TriggerHapticVibrationAction_params uint64_t ulRestrictToDevice; }; -struct wow64_IVRInput_IVRInput_006_TriggerHapticVibrationAction_params +struct wow64_IVRInput_IVRInput_004_TriggerHapticVibrationAction_params { struct u_iface u_iface; uint32_t _ret; @@ -16503,7 +16303,7 @@ struct wow64_IVRInput_IVRInput_006_TriggerHapticVibrationAction_params uint64_t ulRestrictToDevice; }; -struct IVRInput_IVRInput_006_GetActionOrigins_params +struct IVRInput_IVRInput_004_GetActionOrigins_params { struct u_iface u_iface; uint32_t _ret; @@ -16513,7 +16313,7 @@ struct IVRInput_IVRInput_006_GetActionOrigins_params uint32_t originOutCount; }; -struct wow64_IVRInput_IVRInput_006_GetActionOrigins_params +struct wow64_IVRInput_IVRInput_004_GetActionOrigins_params { struct u_iface u_iface; uint32_t _ret; @@ -16523,27 +16323,25 @@ struct wow64_IVRInput_IVRInput_006_GetActionOrigins_params uint32_t originOutCount; }; -struct IVRInput_IVRInput_006_GetOriginLocalizedName_params +struct IVRInput_IVRInput_004_GetOriginLocalizedName_params { struct u_iface u_iface; uint32_t _ret; uint64_t origin; char *pchNameArray; uint32_t unNameArraySize; - int32_t unStringSectionsToInclude; }; -struct wow64_IVRInput_IVRInput_006_GetOriginLocalizedName_params +struct wow64_IVRInput_IVRInput_004_GetOriginLocalizedName_params { struct u_iface u_iface; uint32_t _ret; uint64_t origin; W32_PTR(char *pchNameArray, pchNameArray, char *); uint32_t unNameArraySize; - int32_t unStringSectionsToInclude; }; -struct IVRInput_IVRInput_006_GetOriginTrackedDeviceInfo_params +struct IVRInput_IVRInput_004_GetOriginTrackedDeviceInfo_params { struct u_iface u_iface; uint32_t _ret; @@ -16552,7 +16350,7 @@ struct IVRInput_IVRInput_006_GetOriginTrackedDeviceInfo_params uint32_t unOriginInfoSize; }; -struct wow64_IVRInput_IVRInput_006_GetOriginTrackedDeviceInfo_params +struct wow64_IVRInput_IVRInput_004_GetOriginTrackedDeviceInfo_params { struct u_iface u_iface; uint32_t _ret; @@ -16561,7 +16359,7 @@ struct wow64_IVRInput_IVRInput_006_GetOriginTrackedDeviceInfo_params uint32_t unOriginInfoSize; }; -struct IVRInput_IVRInput_006_ShowActionOrigins_params +struct IVRInput_IVRInput_004_ShowActionOrigins_params { struct u_iface u_iface; uint32_t _ret; @@ -16569,7 +16367,7 @@ struct IVRInput_IVRInput_006_ShowActionOrigins_params uint64_t ulActionHandle; }; -struct wow64_IVRInput_IVRInput_006_ShowActionOrigins_params +struct wow64_IVRInput_IVRInput_004_ShowActionOrigins_params { struct u_iface u_iface; uint32_t _ret; @@ -16577,7 +16375,7 @@ struct wow64_IVRInput_IVRInput_006_ShowActionOrigins_params uint64_t ulActionHandle; }; -struct IVRInput_IVRInput_006_ShowBindingsForActionSet_params +struct IVRInput_IVRInput_004_ShowBindingsForActionSet_params { struct u_iface u_iface; uint32_t _ret; @@ -16587,7 +16385,7 @@ struct IVRInput_IVRInput_006_ShowBindingsForActionSet_params uint64_t originToHighlight; }; -struct wow64_IVRInput_IVRInput_006_ShowBindingsForActionSet_params +struct wow64_IVRInput_IVRInput_004_ShowBindingsForActionSet_params { struct u_iface u_iface; uint32_t _ret; @@ -16597,33 +16395,21 @@ struct wow64_IVRInput_IVRInput_006_ShowBindingsForActionSet_params uint64_t originToHighlight; }; -struct IVRInput_IVRInput_006_IsUsingLegacyInput_params -{ - struct u_iface u_iface; - int8_t _ret; -}; - -struct wow64_IVRInput_IVRInput_006_IsUsingLegacyInput_params -{ - struct u_iface u_iface; - int8_t _ret; -}; - -struct IVRInput_IVRInput_007_SetActionManifestPath_params +struct IVRInput_IVRInput_005_SetActionManifestPath_params { struct u_iface u_iface; uint32_t _ret; const char *pchActionManifestPath; }; -struct wow64_IVRInput_IVRInput_007_SetActionManifestPath_params +struct wow64_IVRInput_IVRInput_005_SetActionManifestPath_params { struct u_iface u_iface; uint32_t _ret; W32_PTR(const char *pchActionManifestPath, pchActionManifestPath, const char *); }; -struct IVRInput_IVRInput_007_GetActionSetHandle_params +struct IVRInput_IVRInput_005_GetActionSetHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -16631,7 +16417,7 @@ struct IVRInput_IVRInput_007_GetActionSetHandle_params uint64_t *pHandle; }; -struct wow64_IVRInput_IVRInput_007_GetActionSetHandle_params +struct wow64_IVRInput_IVRInput_005_GetActionSetHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -16639,7 +16425,7 @@ struct wow64_IVRInput_IVRInput_007_GetActionSetHandle_params W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); }; -struct IVRInput_IVRInput_007_GetActionHandle_params +struct IVRInput_IVRInput_005_GetActionHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -16647,7 +16433,7 @@ struct IVRInput_IVRInput_007_GetActionHandle_params uint64_t *pHandle; }; -struct wow64_IVRInput_IVRInput_007_GetActionHandle_params +struct wow64_IVRInput_IVRInput_005_GetActionHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -16655,7 +16441,7 @@ struct wow64_IVRInput_IVRInput_007_GetActionHandle_params W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); }; -struct IVRInput_IVRInput_007_GetInputSourceHandle_params +struct IVRInput_IVRInput_005_GetInputSourceHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -16663,7 +16449,7 @@ struct IVRInput_IVRInput_007_GetInputSourceHandle_params uint64_t *pHandle; }; -struct wow64_IVRInput_IVRInput_007_GetInputSourceHandle_params +struct wow64_IVRInput_IVRInput_005_GetInputSourceHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -16671,7 +16457,7 @@ struct wow64_IVRInput_IVRInput_007_GetInputSourceHandle_params W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); }; -struct IVRInput_IVRInput_007_UpdateActionState_params +struct IVRInput_IVRInput_005_UpdateActionState_params { struct u_iface u_iface; uint32_t _ret; @@ -16680,7 +16466,7 @@ struct IVRInput_IVRInput_007_UpdateActionState_params uint32_t unSetCount; }; -struct wow64_IVRInput_IVRInput_007_UpdateActionState_params +struct wow64_IVRInput_IVRInput_005_UpdateActionState_params { struct u_iface u_iface; uint32_t _ret; @@ -16689,7 +16475,7 @@ struct wow64_IVRInput_IVRInput_007_UpdateActionState_params uint32_t unSetCount; }; -struct IVRInput_IVRInput_007_GetDigitalActionData_params +struct IVRInput_IVRInput_005_GetDigitalActionData_params { struct u_iface u_iface; uint32_t _ret; @@ -16699,7 +16485,7 @@ struct IVRInput_IVRInput_007_GetDigitalActionData_params uint64_t ulRestrictToDevice; }; -struct wow64_IVRInput_IVRInput_007_GetDigitalActionData_params +struct wow64_IVRInput_IVRInput_005_GetDigitalActionData_params { struct u_iface u_iface; uint32_t _ret; @@ -16709,7 +16495,7 @@ struct wow64_IVRInput_IVRInput_007_GetDigitalActionData_params uint64_t ulRestrictToDevice; }; -struct IVRInput_IVRInput_007_GetAnalogActionData_params +struct IVRInput_IVRInput_005_GetAnalogActionData_params { struct u_iface u_iface; uint32_t _ret; @@ -16719,7 +16505,7 @@ struct IVRInput_IVRInput_007_GetAnalogActionData_params uint64_t ulRestrictToDevice; }; -struct wow64_IVRInput_IVRInput_007_GetAnalogActionData_params +struct wow64_IVRInput_IVRInput_005_GetAnalogActionData_params { struct u_iface u_iface; uint32_t _ret; @@ -16729,7 +16515,7 @@ struct wow64_IVRInput_IVRInput_007_GetAnalogActionData_params uint64_t ulRestrictToDevice; }; -struct IVRInput_IVRInput_007_GetPoseActionDataRelativeToNow_params +struct IVRInput_IVRInput_005_GetPoseActionData_params { struct u_iface u_iface; uint32_t _ret; @@ -16741,7 +16527,7 @@ struct IVRInput_IVRInput_007_GetPoseActionDataRelativeToNow_params uint64_t ulRestrictToDevice; }; -struct wow64_IVRInput_IVRInput_007_GetPoseActionDataRelativeToNow_params +struct wow64_IVRInput_IVRInput_005_GetPoseActionData_params { struct u_iface u_iface; uint32_t _ret; @@ -16753,29 +16539,7 @@ struct wow64_IVRInput_IVRInput_007_GetPoseActionDataRelativeToNow_params uint64_t ulRestrictToDevice; }; -struct IVRInput_IVRInput_007_GetPoseActionDataForNextFrame_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - uint32_t eOrigin; - w_InputPoseActionData_t *pActionData; - uint32_t unActionDataSize; - uint64_t ulRestrictToDevice; -}; - -struct wow64_IVRInput_IVRInput_007_GetPoseActionDataForNextFrame_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - uint32_t eOrigin; - W32_PTR(w32_InputPoseActionData_t *pActionData, pActionData, w32_InputPoseActionData_t *); - uint32_t unActionDataSize; - uint64_t ulRestrictToDevice; -}; - -struct IVRInput_IVRInput_007_GetSkeletalActionData_params +struct IVRInput_IVRInput_005_GetSkeletalActionData_params { struct u_iface u_iface; uint32_t _ret; @@ -16784,7 +16548,7 @@ struct IVRInput_IVRInput_007_GetSkeletalActionData_params uint32_t unActionDataSize; }; -struct wow64_IVRInput_IVRInput_007_GetSkeletalActionData_params +struct wow64_IVRInput_IVRInput_005_GetSkeletalActionData_params { struct u_iface u_iface; uint32_t _ret; @@ -16793,7 +16557,7 @@ struct wow64_IVRInput_IVRInput_007_GetSkeletalActionData_params uint32_t unActionDataSize; }; -struct IVRInput_IVRInput_007_GetBoneCount_params +struct IVRInput_IVRInput_005_GetBoneCount_params { struct u_iface u_iface; uint32_t _ret; @@ -16801,7 +16565,7 @@ struct IVRInput_IVRInput_007_GetBoneCount_params uint32_t *pBoneCount; }; -struct wow64_IVRInput_IVRInput_007_GetBoneCount_params +struct wow64_IVRInput_IVRInput_005_GetBoneCount_params { struct u_iface u_iface; uint32_t _ret; @@ -16809,7 +16573,7 @@ struct wow64_IVRInput_IVRInput_007_GetBoneCount_params W32_PTR(uint32_t *pBoneCount, pBoneCount, uint32_t *); }; -struct IVRInput_IVRInput_007_GetBoneHierarchy_params +struct IVRInput_IVRInput_005_GetBoneHierarchy_params { struct u_iface u_iface; uint32_t _ret; @@ -16818,7 +16582,7 @@ struct IVRInput_IVRInput_007_GetBoneHierarchy_params uint32_t unIndexArayCount; }; -struct wow64_IVRInput_IVRInput_007_GetBoneHierarchy_params +struct wow64_IVRInput_IVRInput_005_GetBoneHierarchy_params { struct u_iface u_iface; uint32_t _ret; @@ -16827,7 +16591,7 @@ struct wow64_IVRInput_IVRInput_007_GetBoneHierarchy_params uint32_t unIndexArayCount; }; -struct IVRInput_IVRInput_007_GetBoneName_params +struct IVRInput_IVRInput_005_GetBoneName_params { struct u_iface u_iface; uint32_t _ret; @@ -16837,7 +16601,7 @@ struct IVRInput_IVRInput_007_GetBoneName_params uint32_t unNameBufferSize; }; -struct wow64_IVRInput_IVRInput_007_GetBoneName_params +struct wow64_IVRInput_IVRInput_005_GetBoneName_params { struct u_iface u_iface; uint32_t _ret; @@ -16847,7 +16611,7 @@ struct wow64_IVRInput_IVRInput_007_GetBoneName_params uint32_t unNameBufferSize; }; -struct IVRInput_IVRInput_007_GetSkeletalReferenceTransforms_params +struct IVRInput_IVRInput_005_GetSkeletalReferenceTransforms_params { struct u_iface u_iface; uint32_t _ret; @@ -16858,7 +16622,7 @@ struct IVRInput_IVRInput_007_GetSkeletalReferenceTransforms_params uint32_t unTransformArrayCount; }; -struct wow64_IVRInput_IVRInput_007_GetSkeletalReferenceTransforms_params +struct wow64_IVRInput_IVRInput_005_GetSkeletalReferenceTransforms_params { struct u_iface u_iface; uint32_t _ret; @@ -16869,7 +16633,7 @@ struct wow64_IVRInput_IVRInput_007_GetSkeletalReferenceTransforms_params uint32_t unTransformArrayCount; }; -struct IVRInput_IVRInput_007_GetSkeletalTrackingLevel_params +struct IVRInput_IVRInput_005_GetSkeletalTrackingLevel_params { struct u_iface u_iface; uint32_t _ret; @@ -16877,7 +16641,7 @@ struct IVRInput_IVRInput_007_GetSkeletalTrackingLevel_params uint32_t *pSkeletalTrackingLevel; }; -struct wow64_IVRInput_IVRInput_007_GetSkeletalTrackingLevel_params +struct wow64_IVRInput_IVRInput_005_GetSkeletalTrackingLevel_params { struct u_iface u_iface; uint32_t _ret; @@ -16885,7 +16649,7 @@ struct wow64_IVRInput_IVRInput_007_GetSkeletalTrackingLevel_params W32_PTR(uint32_t *pSkeletalTrackingLevel, pSkeletalTrackingLevel, uint32_t *); }; -struct IVRInput_IVRInput_007_GetSkeletalBoneData_params +struct IVRInput_IVRInput_005_GetSkeletalBoneData_params { struct u_iface u_iface; uint32_t _ret; @@ -16896,7 +16660,7 @@ struct IVRInput_IVRInput_007_GetSkeletalBoneData_params uint32_t unTransformArrayCount; }; -struct wow64_IVRInput_IVRInput_007_GetSkeletalBoneData_params +struct wow64_IVRInput_IVRInput_005_GetSkeletalBoneData_params { struct u_iface u_iface; uint32_t _ret; @@ -16907,25 +16671,23 @@ struct wow64_IVRInput_IVRInput_007_GetSkeletalBoneData_params uint32_t unTransformArrayCount; }; -struct IVRInput_IVRInput_007_GetSkeletalSummaryData_params +struct IVRInput_IVRInput_005_GetSkeletalSummaryData_params { struct u_iface u_iface; uint32_t _ret; uint64_t action; - uint32_t eSummaryType; VRSkeletalSummaryData_t *pSkeletalSummaryData; }; -struct wow64_IVRInput_IVRInput_007_GetSkeletalSummaryData_params +struct wow64_IVRInput_IVRInput_005_GetSkeletalSummaryData_params { struct u_iface u_iface; uint32_t _ret; uint64_t action; - uint32_t eSummaryType; W32_PTR(VRSkeletalSummaryData_t *pSkeletalSummaryData, pSkeletalSummaryData, VRSkeletalSummaryData_t *); }; -struct IVRInput_IVRInput_007_GetSkeletalBoneDataCompressed_params +struct IVRInput_IVRInput_005_GetSkeletalBoneDataCompressed_params { struct u_iface u_iface; uint32_t _ret; @@ -16936,7 +16698,7 @@ struct IVRInput_IVRInput_007_GetSkeletalBoneDataCompressed_params uint32_t *punRequiredCompressedSize; }; -struct wow64_IVRInput_IVRInput_007_GetSkeletalBoneDataCompressed_params +struct wow64_IVRInput_IVRInput_005_GetSkeletalBoneDataCompressed_params { struct u_iface u_iface; uint32_t _ret; @@ -16947,7 +16709,7 @@ struct wow64_IVRInput_IVRInput_007_GetSkeletalBoneDataCompressed_params W32_PTR(uint32_t *punRequiredCompressedSize, punRequiredCompressedSize, uint32_t *); }; -struct IVRInput_IVRInput_007_DecompressSkeletalBoneData_params +struct IVRInput_IVRInput_005_DecompressSkeletalBoneData_params { struct u_iface u_iface; uint32_t _ret; @@ -16958,7 +16720,7 @@ struct IVRInput_IVRInput_007_DecompressSkeletalBoneData_params uint32_t unTransformArrayCount; }; -struct wow64_IVRInput_IVRInput_007_DecompressSkeletalBoneData_params +struct wow64_IVRInput_IVRInput_005_DecompressSkeletalBoneData_params { struct u_iface u_iface; uint32_t _ret; @@ -16969,7 +16731,7 @@ struct wow64_IVRInput_IVRInput_007_DecompressSkeletalBoneData_params uint32_t unTransformArrayCount; }; -struct IVRInput_IVRInput_007_TriggerHapticVibrationAction_params +struct IVRInput_IVRInput_005_TriggerHapticVibrationAction_params { struct u_iface u_iface; uint32_t _ret; @@ -16981,7 +16743,7 @@ struct IVRInput_IVRInput_007_TriggerHapticVibrationAction_params uint64_t ulRestrictToDevice; }; -struct wow64_IVRInput_IVRInput_007_TriggerHapticVibrationAction_params +struct wow64_IVRInput_IVRInput_005_TriggerHapticVibrationAction_params { struct u_iface u_iface; uint32_t _ret; @@ -16993,7 +16755,7 @@ struct wow64_IVRInput_IVRInput_007_TriggerHapticVibrationAction_params uint64_t ulRestrictToDevice; }; -struct IVRInput_IVRInput_007_GetActionOrigins_params +struct IVRInput_IVRInput_005_GetActionOrigins_params { struct u_iface u_iface; uint32_t _ret; @@ -17003,7 +16765,7 @@ struct IVRInput_IVRInput_007_GetActionOrigins_params uint32_t originOutCount; }; -struct wow64_IVRInput_IVRInput_007_GetActionOrigins_params +struct wow64_IVRInput_IVRInput_005_GetActionOrigins_params { struct u_iface u_iface; uint32_t _ret; @@ -17013,7 +16775,7 @@ struct wow64_IVRInput_IVRInput_007_GetActionOrigins_params uint32_t originOutCount; }; -struct IVRInput_IVRInput_007_GetOriginLocalizedName_params +struct IVRInput_IVRInput_005_GetOriginLocalizedName_params { struct u_iface u_iface; uint32_t _ret; @@ -17023,7 +16785,7 @@ struct IVRInput_IVRInput_007_GetOriginLocalizedName_params int32_t unStringSectionsToInclude; }; -struct wow64_IVRInput_IVRInput_007_GetOriginLocalizedName_params +struct wow64_IVRInput_IVRInput_005_GetOriginLocalizedName_params { struct u_iface u_iface; uint32_t _ret; @@ -17033,7 +16795,7 @@ struct wow64_IVRInput_IVRInput_007_GetOriginLocalizedName_params int32_t unStringSectionsToInclude; }; -struct IVRInput_IVRInput_007_GetOriginTrackedDeviceInfo_params +struct IVRInput_IVRInput_005_GetOriginTrackedDeviceInfo_params { struct u_iface u_iface; uint32_t _ret; @@ -17042,7 +16804,7 @@ struct IVRInput_IVRInput_007_GetOriginTrackedDeviceInfo_params uint32_t unOriginInfoSize; }; -struct wow64_IVRInput_IVRInput_007_GetOriginTrackedDeviceInfo_params +struct wow64_IVRInput_IVRInput_005_GetOriginTrackedDeviceInfo_params { struct u_iface u_iface; uint32_t _ret; @@ -17051,29 +16813,7 @@ struct wow64_IVRInput_IVRInput_007_GetOriginTrackedDeviceInfo_params uint32_t unOriginInfoSize; }; -struct IVRInput_IVRInput_007_GetActionBindingInfo_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - InputBindingInfo_t_1517 *pOriginInfo; - uint32_t unBindingInfoSize; - uint32_t unBindingInfoCount; - uint32_t *punReturnedBindingInfoCount; -}; - -struct wow64_IVRInput_IVRInput_007_GetActionBindingInfo_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - W32_PTR(InputBindingInfo_t_1517 *pOriginInfo, pOriginInfo, InputBindingInfo_t_1517 *); - uint32_t unBindingInfoSize; - uint32_t unBindingInfoCount; - W32_PTR(uint32_t *punReturnedBindingInfoCount, punReturnedBindingInfoCount, uint32_t *); -}; - -struct IVRInput_IVRInput_007_ShowActionOrigins_params +struct IVRInput_IVRInput_005_ShowActionOrigins_params { struct u_iface u_iface; uint32_t _ret; @@ -17081,7 +16821,7 @@ struct IVRInput_IVRInput_007_ShowActionOrigins_params uint64_t ulActionHandle; }; -struct wow64_IVRInput_IVRInput_007_ShowActionOrigins_params +struct wow64_IVRInput_IVRInput_005_ShowActionOrigins_params { struct u_iface u_iface; uint32_t _ret; @@ -17089,7 +16829,7 @@ struct wow64_IVRInput_IVRInput_007_ShowActionOrigins_params uint64_t ulActionHandle; }; -struct IVRInput_IVRInput_007_ShowBindingsForActionSet_params +struct IVRInput_IVRInput_005_ShowBindingsForActionSet_params { struct u_iface u_iface; uint32_t _ret; @@ -17099,7 +16839,7 @@ struct IVRInput_IVRInput_007_ShowBindingsForActionSet_params uint64_t originToHighlight; }; -struct wow64_IVRInput_IVRInput_007_ShowBindingsForActionSet_params +struct wow64_IVRInput_IVRInput_005_ShowBindingsForActionSet_params { struct u_iface u_iface; uint32_t _ret; @@ -17109,53 +16849,33 @@ struct wow64_IVRInput_IVRInput_007_ShowBindingsForActionSet_params uint64_t originToHighlight; }; -struct IVRInput_IVRInput_007_IsUsingLegacyInput_params +struct IVRInput_IVRInput_005_IsUsingLegacyInput_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRInput_IVRInput_007_IsUsingLegacyInput_params +struct wow64_IVRInput_IVRInput_005_IsUsingLegacyInput_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRInput_IVRInput_007_OpenBindingUI_params -{ - struct u_iface u_iface; - uint32_t _ret; - const char *pchAppKey; - uint64_t ulActionSetHandle; - uint64_t ulDeviceHandle; - int8_t bShowOnDesktop; -}; - -struct wow64_IVRInput_IVRInput_007_OpenBindingUI_params -{ - struct u_iface u_iface; - uint32_t _ret; - W32_PTR(const char *pchAppKey, pchAppKey, const char *); - uint64_t ulActionSetHandle; - uint64_t ulDeviceHandle; - int8_t bShowOnDesktop; -}; - -struct IVRInput_IVRInput_010_SetActionManifestPath_params +struct IVRInput_IVRInput_006_SetActionManifestPath_params { struct u_iface u_iface; uint32_t _ret; const char *pchActionManifestPath; }; -struct wow64_IVRInput_IVRInput_010_SetActionManifestPath_params +struct wow64_IVRInput_IVRInput_006_SetActionManifestPath_params { struct u_iface u_iface; uint32_t _ret; W32_PTR(const char *pchActionManifestPath, pchActionManifestPath, const char *); }; -struct IVRInput_IVRInput_010_GetActionSetHandle_params +struct IVRInput_IVRInput_006_GetActionSetHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -17163,7 +16883,7 @@ struct IVRInput_IVRInput_010_GetActionSetHandle_params uint64_t *pHandle; }; -struct wow64_IVRInput_IVRInput_010_GetActionSetHandle_params +struct wow64_IVRInput_IVRInput_006_GetActionSetHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -17171,7 +16891,7 @@ struct wow64_IVRInput_IVRInput_010_GetActionSetHandle_params W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); }; -struct IVRInput_IVRInput_010_GetActionHandle_params +struct IVRInput_IVRInput_006_GetActionHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -17179,7 +16899,7 @@ struct IVRInput_IVRInput_010_GetActionHandle_params uint64_t *pHandle; }; -struct wow64_IVRInput_IVRInput_010_GetActionHandle_params +struct wow64_IVRInput_IVRInput_006_GetActionHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -17187,7 +16907,7 @@ struct wow64_IVRInput_IVRInput_010_GetActionHandle_params W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); }; -struct IVRInput_IVRInput_010_GetInputSourceHandle_params +struct IVRInput_IVRInput_006_GetInputSourceHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -17195,7 +16915,7 @@ struct IVRInput_IVRInput_010_GetInputSourceHandle_params uint64_t *pHandle; }; -struct wow64_IVRInput_IVRInput_010_GetInputSourceHandle_params +struct wow64_IVRInput_IVRInput_006_GetInputSourceHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -17203,7 +16923,7 @@ struct wow64_IVRInput_IVRInput_010_GetInputSourceHandle_params W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); }; -struct IVRInput_IVRInput_010_UpdateActionState_params +struct IVRInput_IVRInput_006_UpdateActionState_params { struct u_iface u_iface; uint32_t _ret; @@ -17212,7 +16932,7 @@ struct IVRInput_IVRInput_010_UpdateActionState_params uint32_t unSetCount; }; -struct wow64_IVRInput_IVRInput_010_UpdateActionState_params +struct wow64_IVRInput_IVRInput_006_UpdateActionState_params { struct u_iface u_iface; uint32_t _ret; @@ -17221,7 +16941,7 @@ struct wow64_IVRInput_IVRInput_010_UpdateActionState_params uint32_t unSetCount; }; -struct IVRInput_IVRInput_010_GetDigitalActionData_params +struct IVRInput_IVRInput_006_GetDigitalActionData_params { struct u_iface u_iface; uint32_t _ret; @@ -17231,7 +16951,7 @@ struct IVRInput_IVRInput_010_GetDigitalActionData_params uint64_t ulRestrictToDevice; }; -struct wow64_IVRInput_IVRInput_010_GetDigitalActionData_params +struct wow64_IVRInput_IVRInput_006_GetDigitalActionData_params { struct u_iface u_iface; uint32_t _ret; @@ -17241,7 +16961,7 @@ struct wow64_IVRInput_IVRInput_010_GetDigitalActionData_params uint64_t ulRestrictToDevice; }; -struct IVRInput_IVRInput_010_GetAnalogActionData_params +struct IVRInput_IVRInput_006_GetAnalogActionData_params { struct u_iface u_iface; uint32_t _ret; @@ -17251,7 +16971,7 @@ struct IVRInput_IVRInput_010_GetAnalogActionData_params uint64_t ulRestrictToDevice; }; -struct wow64_IVRInput_IVRInput_010_GetAnalogActionData_params +struct wow64_IVRInput_IVRInput_006_GetAnalogActionData_params { struct u_iface u_iface; uint32_t _ret; @@ -17261,7 +16981,7 @@ struct wow64_IVRInput_IVRInput_010_GetAnalogActionData_params uint64_t ulRestrictToDevice; }; -struct IVRInput_IVRInput_010_GetPoseActionDataRelativeToNow_params +struct IVRInput_IVRInput_006_GetPoseActionDataRelativeToNow_params { struct u_iface u_iface; uint32_t _ret; @@ -17273,7 +16993,7 @@ struct IVRInput_IVRInput_010_GetPoseActionDataRelativeToNow_params uint64_t ulRestrictToDevice; }; -struct wow64_IVRInput_IVRInput_010_GetPoseActionDataRelativeToNow_params +struct wow64_IVRInput_IVRInput_006_GetPoseActionDataRelativeToNow_params { struct u_iface u_iface; uint32_t _ret; @@ -17285,7 +17005,7 @@ struct wow64_IVRInput_IVRInput_010_GetPoseActionDataRelativeToNow_params uint64_t ulRestrictToDevice; }; -struct IVRInput_IVRInput_010_GetPoseActionDataForNextFrame_params +struct IVRInput_IVRInput_006_GetPoseActionDataForNextFrame_params { struct u_iface u_iface; uint32_t _ret; @@ -17296,7 +17016,7 @@ struct IVRInput_IVRInput_010_GetPoseActionDataForNextFrame_params uint64_t ulRestrictToDevice; }; -struct wow64_IVRInput_IVRInput_010_GetPoseActionDataForNextFrame_params +struct wow64_IVRInput_IVRInput_006_GetPoseActionDataForNextFrame_params { struct u_iface u_iface; uint32_t _ret; @@ -17307,7 +17027,7 @@ struct wow64_IVRInput_IVRInput_010_GetPoseActionDataForNextFrame_params uint64_t ulRestrictToDevice; }; -struct IVRInput_IVRInput_010_GetSkeletalActionData_params +struct IVRInput_IVRInput_006_GetSkeletalActionData_params { struct u_iface u_iface; uint32_t _ret; @@ -17316,7 +17036,7 @@ struct IVRInput_IVRInput_010_GetSkeletalActionData_params uint32_t unActionDataSize; }; -struct wow64_IVRInput_IVRInput_010_GetSkeletalActionData_params +struct wow64_IVRInput_IVRInput_006_GetSkeletalActionData_params { struct u_iface u_iface; uint32_t _ret; @@ -17325,35 +17045,7 @@ struct wow64_IVRInput_IVRInput_010_GetSkeletalActionData_params uint32_t unActionDataSize; }; -struct IVRInput_IVRInput_010_GetDominantHand_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint32_t *peDominantHand; -}; - -struct wow64_IVRInput_IVRInput_010_GetDominantHand_params -{ - struct u_iface u_iface; - uint32_t _ret; - W32_PTR(uint32_t *peDominantHand, peDominantHand, uint32_t *); -}; - -struct IVRInput_IVRInput_010_SetDominantHand_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint32_t eDominantHand; -}; - -struct wow64_IVRInput_IVRInput_010_SetDominantHand_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint32_t eDominantHand; -}; - -struct IVRInput_IVRInput_010_GetBoneCount_params +struct IVRInput_IVRInput_006_GetBoneCount_params { struct u_iface u_iface; uint32_t _ret; @@ -17361,7 +17053,7 @@ struct IVRInput_IVRInput_010_GetBoneCount_params uint32_t *pBoneCount; }; -struct wow64_IVRInput_IVRInput_010_GetBoneCount_params +struct wow64_IVRInput_IVRInput_006_GetBoneCount_params { struct u_iface u_iface; uint32_t _ret; @@ -17369,7 +17061,7 @@ struct wow64_IVRInput_IVRInput_010_GetBoneCount_params W32_PTR(uint32_t *pBoneCount, pBoneCount, uint32_t *); }; -struct IVRInput_IVRInput_010_GetBoneHierarchy_params +struct IVRInput_IVRInput_006_GetBoneHierarchy_params { struct u_iface u_iface; uint32_t _ret; @@ -17378,7 +17070,7 @@ struct IVRInput_IVRInput_010_GetBoneHierarchy_params uint32_t unIndexArayCount; }; -struct wow64_IVRInput_IVRInput_010_GetBoneHierarchy_params +struct wow64_IVRInput_IVRInput_006_GetBoneHierarchy_params { struct u_iface u_iface; uint32_t _ret; @@ -17387,7 +17079,7 @@ struct wow64_IVRInput_IVRInput_010_GetBoneHierarchy_params uint32_t unIndexArayCount; }; -struct IVRInput_IVRInput_010_GetBoneName_params +struct IVRInput_IVRInput_006_GetBoneName_params { struct u_iface u_iface; uint32_t _ret; @@ -17397,7 +17089,7 @@ struct IVRInput_IVRInput_010_GetBoneName_params uint32_t unNameBufferSize; }; -struct wow64_IVRInput_IVRInput_010_GetBoneName_params +struct wow64_IVRInput_IVRInput_006_GetBoneName_params { struct u_iface u_iface; uint32_t _ret; @@ -17407,7 +17099,7 @@ struct wow64_IVRInput_IVRInput_010_GetBoneName_params uint32_t unNameBufferSize; }; -struct IVRInput_IVRInput_010_GetSkeletalReferenceTransforms_params +struct IVRInput_IVRInput_006_GetSkeletalReferenceTransforms_params { struct u_iface u_iface; uint32_t _ret; @@ -17418,7 +17110,7 @@ struct IVRInput_IVRInput_010_GetSkeletalReferenceTransforms_params uint32_t unTransformArrayCount; }; -struct wow64_IVRInput_IVRInput_010_GetSkeletalReferenceTransforms_params +struct wow64_IVRInput_IVRInput_006_GetSkeletalReferenceTransforms_params { struct u_iface u_iface; uint32_t _ret; @@ -17429,7 +17121,7 @@ struct wow64_IVRInput_IVRInput_010_GetSkeletalReferenceTransforms_params uint32_t unTransformArrayCount; }; -struct IVRInput_IVRInput_010_GetSkeletalTrackingLevel_params +struct IVRInput_IVRInput_006_GetSkeletalTrackingLevel_params { struct u_iface u_iface; uint32_t _ret; @@ -17437,7 +17129,7 @@ struct IVRInput_IVRInput_010_GetSkeletalTrackingLevel_params uint32_t *pSkeletalTrackingLevel; }; -struct wow64_IVRInput_IVRInput_010_GetSkeletalTrackingLevel_params +struct wow64_IVRInput_IVRInput_006_GetSkeletalTrackingLevel_params { struct u_iface u_iface; uint32_t _ret; @@ -17445,7 +17137,7 @@ struct wow64_IVRInput_IVRInput_010_GetSkeletalTrackingLevel_params W32_PTR(uint32_t *pSkeletalTrackingLevel, pSkeletalTrackingLevel, uint32_t *); }; -struct IVRInput_IVRInput_010_GetSkeletalBoneData_params +struct IVRInput_IVRInput_006_GetSkeletalBoneData_params { struct u_iface u_iface; uint32_t _ret; @@ -17456,7 +17148,7 @@ struct IVRInput_IVRInput_010_GetSkeletalBoneData_params uint32_t unTransformArrayCount; }; -struct wow64_IVRInput_IVRInput_010_GetSkeletalBoneData_params +struct wow64_IVRInput_IVRInput_006_GetSkeletalBoneData_params { struct u_iface u_iface; uint32_t _ret; @@ -17467,7 +17159,7 @@ struct wow64_IVRInput_IVRInput_010_GetSkeletalBoneData_params uint32_t unTransformArrayCount; }; -struct IVRInput_IVRInput_010_GetSkeletalSummaryData_params +struct IVRInput_IVRInput_006_GetSkeletalSummaryData_params { struct u_iface u_iface; uint32_t _ret; @@ -17476,7 +17168,7 @@ struct IVRInput_IVRInput_010_GetSkeletalSummaryData_params VRSkeletalSummaryData_t *pSkeletalSummaryData; }; -struct wow64_IVRInput_IVRInput_010_GetSkeletalSummaryData_params +struct wow64_IVRInput_IVRInput_006_GetSkeletalSummaryData_params { struct u_iface u_iface; uint32_t _ret; @@ -17485,7 +17177,7 @@ struct wow64_IVRInput_IVRInput_010_GetSkeletalSummaryData_params W32_PTR(VRSkeletalSummaryData_t *pSkeletalSummaryData, pSkeletalSummaryData, VRSkeletalSummaryData_t *); }; -struct IVRInput_IVRInput_010_GetSkeletalBoneDataCompressed_params +struct IVRInput_IVRInput_006_GetSkeletalBoneDataCompressed_params { struct u_iface u_iface; uint32_t _ret; @@ -17496,7 +17188,7 @@ struct IVRInput_IVRInput_010_GetSkeletalBoneDataCompressed_params uint32_t *punRequiredCompressedSize; }; -struct wow64_IVRInput_IVRInput_010_GetSkeletalBoneDataCompressed_params +struct wow64_IVRInput_IVRInput_006_GetSkeletalBoneDataCompressed_params { struct u_iface u_iface; uint32_t _ret; @@ -17507,7 +17199,7 @@ struct wow64_IVRInput_IVRInput_010_GetSkeletalBoneDataCompressed_params W32_PTR(uint32_t *punRequiredCompressedSize, punRequiredCompressedSize, uint32_t *); }; -struct IVRInput_IVRInput_010_DecompressSkeletalBoneData_params +struct IVRInput_IVRInput_006_DecompressSkeletalBoneData_params { struct u_iface u_iface; uint32_t _ret; @@ -17518,7 +17210,7 @@ struct IVRInput_IVRInput_010_DecompressSkeletalBoneData_params uint32_t unTransformArrayCount; }; -struct wow64_IVRInput_IVRInput_010_DecompressSkeletalBoneData_params +struct wow64_IVRInput_IVRInput_006_DecompressSkeletalBoneData_params { struct u_iface u_iface; uint32_t _ret; @@ -17529,7 +17221,7 @@ struct wow64_IVRInput_IVRInput_010_DecompressSkeletalBoneData_params uint32_t unTransformArrayCount; }; -struct IVRInput_IVRInput_010_TriggerHapticVibrationAction_params +struct IVRInput_IVRInput_006_TriggerHapticVibrationAction_params { struct u_iface u_iface; uint32_t _ret; @@ -17541,7 +17233,7 @@ struct IVRInput_IVRInput_010_TriggerHapticVibrationAction_params uint64_t ulRestrictToDevice; }; -struct wow64_IVRInput_IVRInput_010_TriggerHapticVibrationAction_params +struct wow64_IVRInput_IVRInput_006_TriggerHapticVibrationAction_params { struct u_iface u_iface; uint32_t _ret; @@ -17553,7 +17245,7 @@ struct wow64_IVRInput_IVRInput_010_TriggerHapticVibrationAction_params uint64_t ulRestrictToDevice; }; -struct IVRInput_IVRInput_010_GetActionOrigins_params +struct IVRInput_IVRInput_006_GetActionOrigins_params { struct u_iface u_iface; uint32_t _ret; @@ -17563,7 +17255,7 @@ struct IVRInput_IVRInput_010_GetActionOrigins_params uint32_t originOutCount; }; -struct wow64_IVRInput_IVRInput_010_GetActionOrigins_params +struct wow64_IVRInput_IVRInput_006_GetActionOrigins_params { struct u_iface u_iface; uint32_t _ret; @@ -17573,7 +17265,7 @@ struct wow64_IVRInput_IVRInput_010_GetActionOrigins_params uint32_t originOutCount; }; -struct IVRInput_IVRInput_010_GetOriginLocalizedName_params +struct IVRInput_IVRInput_006_GetOriginLocalizedName_params { struct u_iface u_iface; uint32_t _ret; @@ -17583,7 +17275,7 @@ struct IVRInput_IVRInput_010_GetOriginLocalizedName_params int32_t unStringSectionsToInclude; }; -struct wow64_IVRInput_IVRInput_010_GetOriginLocalizedName_params +struct wow64_IVRInput_IVRInput_006_GetOriginLocalizedName_params { struct u_iface u_iface; uint32_t _ret; @@ -17593,7 +17285,7 @@ struct wow64_IVRInput_IVRInput_010_GetOriginLocalizedName_params int32_t unStringSectionsToInclude; }; -struct IVRInput_IVRInput_010_GetOriginTrackedDeviceInfo_params +struct IVRInput_IVRInput_006_GetOriginTrackedDeviceInfo_params { struct u_iface u_iface; uint32_t _ret; @@ -17602,7 +17294,7 @@ struct IVRInput_IVRInput_010_GetOriginTrackedDeviceInfo_params uint32_t unOriginInfoSize; }; -struct wow64_IVRInput_IVRInput_010_GetOriginTrackedDeviceInfo_params +struct wow64_IVRInput_IVRInput_006_GetOriginTrackedDeviceInfo_params { struct u_iface u_iface; uint32_t _ret; @@ -17611,29 +17303,7 @@ struct wow64_IVRInput_IVRInput_010_GetOriginTrackedDeviceInfo_params uint32_t unOriginInfoSize; }; -struct IVRInput_IVRInput_010_GetActionBindingInfo_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - InputBindingInfo_t_11030 *pOriginInfo; - uint32_t unBindingInfoSize; - uint32_t unBindingInfoCount; - uint32_t *punReturnedBindingInfoCount; -}; - -struct wow64_IVRInput_IVRInput_010_GetActionBindingInfo_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t action; - W32_PTR(InputBindingInfo_t_11030 *pOriginInfo, pOriginInfo, InputBindingInfo_t_11030 *); - uint32_t unBindingInfoSize; - uint32_t unBindingInfoCount; - W32_PTR(uint32_t *punReturnedBindingInfoCount, punReturnedBindingInfoCount, uint32_t *); -}; - -struct IVRInput_IVRInput_010_ShowActionOrigins_params +struct IVRInput_IVRInput_006_ShowActionOrigins_params { struct u_iface u_iface; uint32_t _ret; @@ -17641,7 +17311,7 @@ struct IVRInput_IVRInput_010_ShowActionOrigins_params uint64_t ulActionHandle; }; -struct wow64_IVRInput_IVRInput_010_ShowActionOrigins_params +struct wow64_IVRInput_IVRInput_006_ShowActionOrigins_params { struct u_iface u_iface; uint32_t _ret; @@ -17649,7 +17319,7 @@ struct wow64_IVRInput_IVRInput_010_ShowActionOrigins_params uint64_t ulActionHandle; }; -struct IVRInput_IVRInput_010_ShowBindingsForActionSet_params +struct IVRInput_IVRInput_006_ShowBindingsForActionSet_params { struct u_iface u_iface; uint32_t _ret; @@ -17659,7 +17329,7 @@ struct IVRInput_IVRInput_010_ShowBindingsForActionSet_params uint64_t originToHighlight; }; -struct wow64_IVRInput_IVRInput_010_ShowBindingsForActionSet_params +struct wow64_IVRInput_IVRInput_006_ShowBindingsForActionSet_params { struct u_iface u_iface; uint32_t _ret; @@ -17669,1783 +17339,2109 @@ struct wow64_IVRInput_IVRInput_010_ShowBindingsForActionSet_params uint64_t originToHighlight; }; -struct IVRInput_IVRInput_010_GetComponentStateForBinding_params +struct IVRInput_IVRInput_006_IsUsingLegacyInput_params { struct u_iface u_iface; - uint32_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; - const InputBindingInfo_t_11030 *pOriginInfo; - uint32_t unBindingInfoSize; - uint32_t unBindingInfoCount; - RenderModel_ComponentState_t *pComponentState; + int8_t _ret; }; -struct wow64_IVRInput_IVRInput_010_GetComponentStateForBinding_params +struct wow64_IVRInput_IVRInput_006_IsUsingLegacyInput_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); - W32_PTR(const InputBindingInfo_t_11030 *pOriginInfo, pOriginInfo, const InputBindingInfo_t_11030 *); - uint32_t unBindingInfoSize; - uint32_t unBindingInfoCount; - W32_PTR(RenderModel_ComponentState_t *pComponentState, pComponentState, RenderModel_ComponentState_t *); + int8_t _ret; }; -struct IVRInput_IVRInput_010_IsUsingLegacyInput_params +struct IVRInput_IVRInput_007_SetActionManifestPath_params { struct u_iface u_iface; - int8_t _ret; + uint32_t _ret; + const char *pchActionManifestPath; }; -struct wow64_IVRInput_IVRInput_010_IsUsingLegacyInput_params +struct wow64_IVRInput_IVRInput_007_SetActionManifestPath_params { struct u_iface u_iface; - int8_t _ret; + uint32_t _ret; + W32_PTR(const char *pchActionManifestPath, pchActionManifestPath, const char *); }; -struct IVRInput_IVRInput_010_OpenBindingUI_params +struct IVRInput_IVRInput_007_GetActionSetHandle_params { struct u_iface u_iface; uint32_t _ret; - const char *pchAppKey; - uint64_t ulActionSetHandle; - uint64_t ulDeviceHandle; - int8_t bShowOnDesktop; + const char *pchActionSetName; + uint64_t *pHandle; }; -struct wow64_IVRInput_IVRInput_010_OpenBindingUI_params +struct wow64_IVRInput_IVRInput_007_GetActionSetHandle_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchAppKey, pchAppKey, const char *); - uint64_t ulActionSetHandle; - uint64_t ulDeviceHandle; - int8_t bShowOnDesktop; + W32_PTR(const char *pchActionSetName, pchActionSetName, const char *); + W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); }; -struct IVRInput_IVRInput_010_GetBindingVariant_params +struct IVRInput_IVRInput_007_GetActionHandle_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulDevicePath; - char *pchVariantArray; - uint32_t unVariantArraySize; + const char *pchActionName; + uint64_t *pHandle; }; -struct wow64_IVRInput_IVRInput_010_GetBindingVariant_params +struct wow64_IVRInput_IVRInput_007_GetActionHandle_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulDevicePath; - W32_PTR(char *pchVariantArray, pchVariantArray, char *); - uint32_t unVariantArraySize; + W32_PTR(const char *pchActionName, pchActionName, const char *); + W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); }; -struct IVRMailbox_IVRMailbox_001_undoc1_params +struct IVRInput_IVRInput_007_GetInputSourceHandle_params { struct u_iface u_iface; uint32_t _ret; - const char *a; - uint64_t *b; + const char *pchInputSourcePath; + uint64_t *pHandle; }; -struct wow64_IVRMailbox_IVRMailbox_001_undoc1_params +struct wow64_IVRInput_IVRInput_007_GetInputSourceHandle_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *a, a, const char *); - W32_PTR(uint64_t *b, b, uint64_t *); + W32_PTR(const char *pchInputSourcePath, pchInputSourcePath, const char *); + W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); }; -struct IVRMailbox_IVRMailbox_001_undoc2_params +struct IVRInput_IVRInput_007_UpdateActionState_params { struct u_iface u_iface; uint32_t _ret; - uint64_t a; + VRActiveActionSet_t_1016 *pSets; + uint32_t unSizeOfVRSelectedActionSet_t; + uint32_t unSetCount; }; -struct wow64_IVRMailbox_IVRMailbox_001_undoc2_params +struct wow64_IVRInput_IVRInput_007_UpdateActionState_params { struct u_iface u_iface; uint32_t _ret; - uint64_t a; + W32_PTR(VRActiveActionSet_t_1016 *pSets, pSets, VRActiveActionSet_t_1016 *); + uint32_t unSizeOfVRSelectedActionSet_t; + uint32_t unSetCount; }; -struct IVRMailbox_IVRMailbox_001_undoc3_params +struct IVRInput_IVRInput_007_GetDigitalActionData_params { struct u_iface u_iface; uint32_t _ret; - uint64_t a; - const char *b; - const char *c; + uint64_t action; + w_InputDigitalActionData_t *pActionData; + uint32_t unActionDataSize; + uint64_t ulRestrictToDevice; }; -struct wow64_IVRMailbox_IVRMailbox_001_undoc3_params +struct wow64_IVRInput_IVRInput_007_GetDigitalActionData_params { struct u_iface u_iface; uint32_t _ret; - uint64_t a; - W32_PTR(const char *b, b, const char *); - W32_PTR(const char *c, c, const char *); + uint64_t action; + W32_PTR(w32_InputDigitalActionData_t *pActionData, pActionData, w32_InputDigitalActionData_t *); + uint32_t unActionDataSize; + uint64_t ulRestrictToDevice; }; -struct IVRMailbox_IVRMailbox_001_undoc4_params +struct IVRInput_IVRInput_007_GetAnalogActionData_params { struct u_iface u_iface; uint32_t _ret; - uint64_t a; - char *b; - uint32_t c; - uint32_t *d; + uint64_t action; + w_InputAnalogActionData_t *pActionData; + uint32_t unActionDataSize; + uint64_t ulRestrictToDevice; }; -struct wow64_IVRMailbox_IVRMailbox_001_undoc4_params +struct wow64_IVRInput_IVRInput_007_GetAnalogActionData_params { struct u_iface u_iface; uint32_t _ret; - uint64_t a; - W32_PTR(char *b, b, char *); - uint32_t c; - W32_PTR(uint32_t *d, d, uint32_t *); + uint64_t action; + W32_PTR(w32_InputAnalogActionData_t *pActionData, pActionData, w32_InputAnalogActionData_t *); + uint32_t unActionDataSize; + uint64_t ulRestrictToDevice; }; -struct IVRNotifications_IVRNotifications_001_GetErrorString_params +struct IVRInput_IVRInput_007_GetPoseActionDataRelativeToNow_params { struct u_iface u_iface; uint32_t _ret; - uint32_t error; - char *pchBuffer; - uint32_t unBufferSize; + uint64_t action; + uint32_t eOrigin; + float fPredictedSecondsFromNow; + w_InputPoseActionData_t *pActionData; + uint32_t unActionDataSize; + uint64_t ulRestrictToDevice; }; -struct wow64_IVRNotifications_IVRNotifications_001_GetErrorString_params +struct wow64_IVRInput_IVRInput_007_GetPoseActionDataRelativeToNow_params { struct u_iface u_iface; uint32_t _ret; - uint32_t error; - W32_PTR(char *pchBuffer, pchBuffer, char *); - uint32_t unBufferSize; + uint64_t action; + uint32_t eOrigin; + float fPredictedSecondsFromNow; + W32_PTR(w32_InputPoseActionData_t *pActionData, pActionData, w32_InputPoseActionData_t *); + uint32_t unActionDataSize; + uint64_t ulRestrictToDevice; }; -struct IVRNotifications_IVRNotifications_001_CreateNotification_params +struct IVRInput_IVRInput_007_GetPoseActionDataForNextFrame_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint64_t ulUserValue; - const char *strType; - const char *strText; - const char *strCategory; - const w_NotificationBitmap *photo; - uint32_t *notificationId; + uint64_t action; + uint32_t eOrigin; + w_InputPoseActionData_t *pActionData; + uint32_t unActionDataSize; + uint64_t ulRestrictToDevice; }; -struct wow64_IVRNotifications_IVRNotifications_001_CreateNotification_params +struct wow64_IVRInput_IVRInput_007_GetPoseActionDataForNextFrame_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint64_t ulUserValue; - W32_PTR(const char *strType, strType, const char *); - W32_PTR(const char *strText, strText, const char *); - W32_PTR(const char *strCategory, strCategory, const char *); - W32_PTR(const w32_NotificationBitmap *photo, photo, const w32_NotificationBitmap *); - W32_PTR(uint32_t *notificationId, notificationId, uint32_t *); + uint64_t action; + uint32_t eOrigin; + W32_PTR(w32_InputPoseActionData_t *pActionData, pActionData, w32_InputPoseActionData_t *); + uint32_t unActionDataSize; + uint64_t ulRestrictToDevice; }; -struct IVRNotifications_IVRNotifications_001_DismissNotification_params +struct IVRInput_IVRInput_007_GetSkeletalActionData_params { struct u_iface u_iface; uint32_t _ret; - uint32_t notificationId; + uint64_t action; + w_InputSkeletalActionData_t_113b *pActionData; + uint32_t unActionDataSize; }; -struct wow64_IVRNotifications_IVRNotifications_001_DismissNotification_params +struct wow64_IVRInput_IVRInput_007_GetSkeletalActionData_params { struct u_iface u_iface; uint32_t _ret; - uint32_t notificationId; + uint64_t action; + W32_PTR(w32_InputSkeletalActionData_t_113b *pActionData, pActionData, w32_InputSkeletalActionData_t_113b *); + uint32_t unActionDataSize; }; -struct IVRNotifications_IVRNotifications_002_CreateNotification_params +struct IVRInput_IVRInput_007_GetBoneCount_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint64_t ulUserValue; - uint32_t type; - const char *pchText; - uint32_t style; - const w_NotificationBitmap_t *pImage; - uint32_t *pNotificationId; + uint64_t action; + uint32_t *pBoneCount; }; -struct wow64_IVRNotifications_IVRNotifications_002_CreateNotification_params +struct wow64_IVRInput_IVRInput_007_GetBoneCount_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint64_t ulUserValue; - uint32_t type; - W32_PTR(const char *pchText, pchText, const char *); - uint32_t style; - W32_PTR(const w32_NotificationBitmap_t *pImage, pImage, const w32_NotificationBitmap_t *); - W32_PTR(uint32_t *pNotificationId, pNotificationId, uint32_t *); + uint64_t action; + W32_PTR(uint32_t *pBoneCount, pBoneCount, uint32_t *); }; -struct IVRNotifications_IVRNotifications_002_RemoveNotification_params +struct IVRInput_IVRInput_007_GetBoneHierarchy_params { struct u_iface u_iface; uint32_t _ret; - uint32_t notificationId; + uint64_t action; + int32_t *pParentIndices; + uint32_t unIndexArayCount; }; -struct wow64_IVRNotifications_IVRNotifications_002_RemoveNotification_params +struct wow64_IVRInput_IVRInput_007_GetBoneHierarchy_params { struct u_iface u_iface; uint32_t _ret; - uint32_t notificationId; + uint64_t action; + W32_PTR(int32_t *pParentIndices, pParentIndices, int32_t *); + uint32_t unIndexArayCount; }; -struct IVROverlayView_IVROverlayView_003_AcquireOverlayView_params +struct IVRInput_IVRInput_007_GetBoneName_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - w_VRNativeDevice_t *pNativeDevice; - w_VROverlayView_t *pOverlayView; - uint32_t unOverlayViewSize; + uint64_t action; + int32_t nBoneIndex; + char *pchBoneName; + uint32_t unNameBufferSize; }; -struct wow64_IVROverlayView_IVROverlayView_003_AcquireOverlayView_params +struct wow64_IVRInput_IVRInput_007_GetBoneName_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(w32_VRNativeDevice_t *pNativeDevice, pNativeDevice, w32_VRNativeDevice_t *); - W32_PTR(w32_VROverlayView_t *pOverlayView, pOverlayView, w32_VROverlayView_t *); - uint32_t unOverlayViewSize; + uint64_t action; + int32_t nBoneIndex; + W32_PTR(char *pchBoneName, pchBoneName, char *); + uint32_t unNameBufferSize; }; -struct IVROverlayView_IVROverlayView_003_ReleaseOverlayView_params +struct IVRInput_IVRInput_007_GetSkeletalReferenceTransforms_params { struct u_iface u_iface; uint32_t _ret; - w_VROverlayView_t *pOverlayView; + uint64_t action; + uint32_t eTransformSpace; + uint32_t eReferencePose; + VRBoneTransform_t *pTransformArray; + uint32_t unTransformArrayCount; }; -struct wow64_IVROverlayView_IVROverlayView_003_ReleaseOverlayView_params +struct wow64_IVRInput_IVRInput_007_GetSkeletalReferenceTransforms_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(w32_VROverlayView_t *pOverlayView, pOverlayView, w32_VROverlayView_t *); + uint64_t action; + uint32_t eTransformSpace; + uint32_t eReferencePose; + W32_PTR(VRBoneTransform_t *pTransformArray, pTransformArray, VRBoneTransform_t *); + uint32_t unTransformArrayCount; }; -struct IVROverlayView_IVROverlayView_003_PostOverlayEvent_params +struct IVRInput_IVRInput_007_GetSkeletalTrackingLevel_params { struct u_iface u_iface; - uint64_t ulOverlayHandle; - const w_VREvent_t_223 *pvrEvent; + uint32_t _ret; + uint64_t action; + uint32_t *pSkeletalTrackingLevel; }; -struct wow64_IVROverlayView_IVROverlayView_003_PostOverlayEvent_params +struct wow64_IVRInput_IVRInput_007_GetSkeletalTrackingLevel_params { struct u_iface u_iface; - uint64_t ulOverlayHandle; - W32_PTR(const w32_VREvent_t_223 *pvrEvent, pvrEvent, const w32_VREvent_t_223 *); + uint32_t _ret; + uint64_t action; + W32_PTR(uint32_t *pSkeletalTrackingLevel, pSkeletalTrackingLevel, uint32_t *); }; -struct IVROverlayView_IVROverlayView_003_IsViewingPermitted_params +struct IVRInput_IVRInput_007_GetSkeletalBoneData_params { struct u_iface u_iface; - int8_t _ret; - uint64_t ulOverlayHandle; + uint32_t _ret; + uint64_t action; + uint32_t eTransformSpace; + uint32_t eMotionRange; + VRBoneTransform_t *pTransformArray; + uint32_t unTransformArrayCount; }; -struct wow64_IVROverlayView_IVROverlayView_003_IsViewingPermitted_params +struct wow64_IVRInput_IVRInput_007_GetSkeletalBoneData_params { struct u_iface u_iface; - int8_t _ret; - uint64_t ulOverlayHandle; + uint32_t _ret; + uint64_t action; + uint32_t eTransformSpace; + uint32_t eMotionRange; + W32_PTR(VRBoneTransform_t *pTransformArray, pTransformArray, VRBoneTransform_t *); + uint32_t unTransformArrayCount; }; -struct IVROverlay_IVROverlay_001_FindOverlay_params +struct IVRInput_IVRInput_007_GetSkeletalSummaryData_params { struct u_iface u_iface; uint32_t _ret; - const char *pchOverlayKey; - uint64_t *pOverlayHandle; + uint64_t action; + uint32_t eSummaryType; + VRSkeletalSummaryData_t *pSkeletalSummaryData; }; -struct wow64_IVROverlay_IVROverlay_001_FindOverlay_params +struct wow64_IVRInput_IVRInput_007_GetSkeletalSummaryData_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); - W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); + uint64_t action; + uint32_t eSummaryType; + W32_PTR(VRSkeletalSummaryData_t *pSkeletalSummaryData, pSkeletalSummaryData, VRSkeletalSummaryData_t *); }; -struct IVROverlay_IVROverlay_001_CreateOverlay_params +struct IVRInput_IVRInput_007_GetSkeletalBoneDataCompressed_params { struct u_iface u_iface; uint32_t _ret; - const char *pchOverlayKey; - const char *pchOverlayFriendlyName; - uint64_t *pOverlayHandle; + uint64_t action; + uint32_t eMotionRange; + void *pvCompressedData; + uint32_t unCompressedSize; + uint32_t *punRequiredCompressedSize; }; -struct wow64_IVROverlay_IVROverlay_001_CreateOverlay_params +struct wow64_IVRInput_IVRInput_007_GetSkeletalBoneDataCompressed_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); - W32_PTR(const char *pchOverlayFriendlyName, pchOverlayFriendlyName, const char *); - W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); + uint64_t action; + uint32_t eMotionRange; + W32_PTR(void *pvCompressedData, pvCompressedData, void *); + uint32_t unCompressedSize; + W32_PTR(uint32_t *punRequiredCompressedSize, punRequiredCompressedSize, uint32_t *); }; -struct IVROverlay_IVROverlay_001_DestroyOverlay_params +struct IVRInput_IVRInput_007_DecompressSkeletalBoneData_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; + const void *pvCompressedBuffer; + uint32_t unCompressedBufferSize; + uint32_t eTransformSpace; + VRBoneTransform_t *pTransformArray; + uint32_t unTransformArrayCount; }; -struct wow64_IVROverlay_IVROverlay_001_DestroyOverlay_params +struct wow64_IVRInput_IVRInput_007_DecompressSkeletalBoneData_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; + W32_PTR(const void *pvCompressedBuffer, pvCompressedBuffer, const void *); + uint32_t unCompressedBufferSize; + uint32_t eTransformSpace; + W32_PTR(VRBoneTransform_t *pTransformArray, pTransformArray, VRBoneTransform_t *); + uint32_t unTransformArrayCount; }; -struct IVROverlay_IVROverlay_001_SetHighQualityOverlay_params +struct IVRInput_IVRInput_007_TriggerHapticVibrationAction_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; + uint64_t action; + float fStartSecondsFromNow; + float fDurationSeconds; + float fFrequency; + float fAmplitude; + uint64_t ulRestrictToDevice; }; -struct wow64_IVROverlay_IVROverlay_001_SetHighQualityOverlay_params +struct wow64_IVRInput_IVRInput_007_TriggerHapticVibrationAction_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; + uint64_t action; + float fStartSecondsFromNow; + float fDurationSeconds; + float fFrequency; + float fAmplitude; + uint64_t ulRestrictToDevice; }; -struct IVROverlay_IVROverlay_001_GetHighQualityOverlay_params +struct IVRInput_IVRInput_007_GetActionOrigins_params { struct u_iface u_iface; - uint64_t _ret; + uint32_t _ret; + uint64_t actionSetHandle; + uint64_t digitalActionHandle; + uint64_t *originsOut; + uint32_t originOutCount; }; -struct wow64_IVROverlay_IVROverlay_001_GetHighQualityOverlay_params +struct wow64_IVRInput_IVRInput_007_GetActionOrigins_params { struct u_iface u_iface; - uint64_t _ret; + uint32_t _ret; + uint64_t actionSetHandle; + uint64_t digitalActionHandle; + W32_PTR(uint64_t *originsOut, originsOut, uint64_t *); + uint32_t originOutCount; }; -struct IVROverlay_IVROverlay_001_GetOverlayErrorNameFromEnum_params +struct IVRInput_IVRInput_007_GetOriginLocalizedName_params { struct u_iface u_iface; - struct u_buffer _ret; - uint32_t error; + uint32_t _ret; + uint64_t origin; + char *pchNameArray; + uint32_t unNameArraySize; + int32_t unStringSectionsToInclude; }; -struct wow64_IVROverlay_IVROverlay_001_GetOverlayErrorNameFromEnum_params +struct wow64_IVRInput_IVRInput_007_GetOriginLocalizedName_params { struct u_iface u_iface; - struct u_buffer _ret; - uint32_t error; + uint32_t _ret; + uint64_t origin; + W32_PTR(char *pchNameArray, pchNameArray, char *); + uint32_t unNameArraySize; + int32_t unStringSectionsToInclude; }; -struct IVROverlay_IVROverlay_001_SetOverlayFlag_params +struct IVRInput_IVRInput_007_GetOriginTrackedDeviceInfo_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eOverlayFlag; - int8_t bEnabled; + uint64_t origin; + w_InputOriginInfo_t *pOriginInfo; + uint32_t unOriginInfoSize; }; -struct wow64_IVROverlay_IVROverlay_001_SetOverlayFlag_params +struct wow64_IVRInput_IVRInput_007_GetOriginTrackedDeviceInfo_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eOverlayFlag; - int8_t bEnabled; + uint64_t origin; + W32_PTR(w32_InputOriginInfo_t *pOriginInfo, pOriginInfo, w32_InputOriginInfo_t *); + uint32_t unOriginInfoSize; }; -struct IVROverlay_IVROverlay_001_GetOverlayFlag_params +struct IVRInput_IVRInput_007_GetActionBindingInfo_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eOverlayFlag; - int8_t *pbEnabled; + uint64_t action; + InputBindingInfo_t_1517 *pOriginInfo; + uint32_t unBindingInfoSize; + uint32_t unBindingInfoCount; + uint32_t *punReturnedBindingInfoCount; }; -struct wow64_IVROverlay_IVROverlay_001_GetOverlayFlag_params +struct wow64_IVRInput_IVRInput_007_GetActionBindingInfo_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eOverlayFlag; - W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); + uint64_t action; + W32_PTR(InputBindingInfo_t_1517 *pOriginInfo, pOriginInfo, InputBindingInfo_t_1517 *); + uint32_t unBindingInfoSize; + uint32_t unBindingInfoCount; + W32_PTR(uint32_t *punReturnedBindingInfoCount, punReturnedBindingInfoCount, uint32_t *); }; -struct IVROverlay_IVROverlay_001_SetOverlayAlpha_params +struct IVRInput_IVRInput_007_ShowActionOrigins_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - float fAlpha; + uint64_t actionSetHandle; + uint64_t ulActionHandle; }; -struct wow64_IVROverlay_IVROverlay_001_SetOverlayAlpha_params +struct wow64_IVRInput_IVRInput_007_ShowActionOrigins_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - float fAlpha; + uint64_t actionSetHandle; + uint64_t ulActionHandle; }; -struct IVROverlay_IVROverlay_001_GetOverlayAlpha_params +struct IVRInput_IVRInput_007_ShowBindingsForActionSet_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - float *pfAlpha; + VRActiveActionSet_t_1016 *pSets; + uint32_t unSizeOfVRSelectedActionSet_t; + uint32_t unSetCount; + uint64_t originToHighlight; }; -struct wow64_IVROverlay_IVROverlay_001_GetOverlayAlpha_params +struct wow64_IVRInput_IVRInput_007_ShowBindingsForActionSet_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(float *pfAlpha, pfAlpha, float *); + W32_PTR(VRActiveActionSet_t_1016 *pSets, pSets, VRActiveActionSet_t_1016 *); + uint32_t unSizeOfVRSelectedActionSet_t; + uint32_t unSetCount; + uint64_t originToHighlight; }; -struct IVROverlay_IVROverlay_001_SetOverlayGamma_params +struct IVRInput_IVRInput_007_IsUsingLegacyInput_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - float fGamma; + int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_001_SetOverlayGamma_params +struct wow64_IVRInput_IVRInput_007_IsUsingLegacyInput_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - float fGamma; + int8_t _ret; }; -struct IVROverlay_IVROverlay_001_GetOverlayGamma_params +struct IVRInput_IVRInput_007_OpenBindingUI_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - float *pfGamma; + const char *pchAppKey; + uint64_t ulActionSetHandle; + uint64_t ulDeviceHandle; + int8_t bShowOnDesktop; }; -struct wow64_IVROverlay_IVROverlay_001_GetOverlayGamma_params +struct wow64_IVRInput_IVRInput_007_OpenBindingUI_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(float *pfGamma, pfGamma, float *); + W32_PTR(const char *pchAppKey, pchAppKey, const char *); + uint64_t ulActionSetHandle; + uint64_t ulDeviceHandle; + int8_t bShowOnDesktop; }; -struct IVROverlay_IVROverlay_001_SetOverlayWidthInMeters_params +struct IVRInput_IVRInput_010_SetActionManifestPath_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - float fWidthInMeters; + const char *pchActionManifestPath; }; -struct wow64_IVROverlay_IVROverlay_001_SetOverlayWidthInMeters_params +struct wow64_IVRInput_IVRInput_010_SetActionManifestPath_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - float fWidthInMeters; + W32_PTR(const char *pchActionManifestPath, pchActionManifestPath, const char *); }; -struct IVROverlay_IVROverlay_001_GetOverlayWidthInMeters_params +struct IVRInput_IVRInput_010_GetActionSetHandle_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - float *pfWidthInMeters; + const char *pchActionSetName; + uint64_t *pHandle; }; -struct wow64_IVROverlay_IVROverlay_001_GetOverlayWidthInMeters_params +struct wow64_IVRInput_IVRInput_010_GetActionSetHandle_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); + W32_PTR(const char *pchActionSetName, pchActionSetName, const char *); + W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_001_SetOverlayTextureBounds_params +struct IVRInput_IVRInput_010_GetActionHandle_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - const VRTextureBounds_t *pOverlayTextureBounds; + const char *pchActionName; + uint64_t *pHandle; }; -struct wow64_IVROverlay_IVROverlay_001_SetOverlayTextureBounds_params +struct wow64_IVRInput_IVRInput_010_GetActionHandle_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); + W32_PTR(const char *pchActionName, pchActionName, const char *); + W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_001_GetOverlayTextureBounds_params +struct IVRInput_IVRInput_010_GetInputSourceHandle_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - VRTextureBounds_t *pOverlayTextureBounds; + const char *pchInputSourcePath; + uint64_t *pHandle; }; -struct wow64_IVROverlay_IVROverlay_001_GetOverlayTextureBounds_params +struct wow64_IVRInput_IVRInput_010_GetInputSourceHandle_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); + W32_PTR(const char *pchInputSourcePath, pchInputSourcePath, const char *); + W32_PTR(uint64_t *pHandle, pHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_001_GetOverlayTransformType_params +struct IVRInput_IVRInput_010_UpdateActionState_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t *peTransformType; + VRActiveActionSet_t_1016 *pSets; + uint32_t unSizeOfVRSelectedActionSet_t; + uint32_t unSetCount; }; -struct wow64_IVROverlay_IVROverlay_001_GetOverlayTransformType_params +struct wow64_IVRInput_IVRInput_010_UpdateActionState_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); + W32_PTR(VRActiveActionSet_t_1016 *pSets, pSets, VRActiveActionSet_t_1016 *); + uint32_t unSizeOfVRSelectedActionSet_t; + uint32_t unSetCount; }; -struct IVROverlay_IVROverlay_001_SetOverlayTransformAbsolute_params +struct IVRInput_IVRInput_010_GetDigitalActionData_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eTrackingOrigin; - const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; + uint64_t action; + w_InputDigitalActionData_t *pActionData; + uint32_t unActionDataSize; + uint64_t ulRestrictToDevice; }; -struct wow64_IVROverlay_IVROverlay_001_SetOverlayTransformAbsolute_params +struct wow64_IVRInput_IVRInput_010_GetDigitalActionData_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eTrackingOrigin; - W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); + uint64_t action; + W32_PTR(w32_InputDigitalActionData_t *pActionData, pActionData, w32_InputDigitalActionData_t *); + uint32_t unActionDataSize; + uint64_t ulRestrictToDevice; }; -struct IVROverlay_IVROverlay_001_GetOverlayTransformAbsolute_params +struct IVRInput_IVRInput_010_GetAnalogActionData_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t *peTrackingOrigin; - HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; + uint64_t action; + w_InputAnalogActionData_t *pActionData; + uint32_t unActionDataSize; + uint64_t ulRestrictToDevice; }; -struct wow64_IVROverlay_IVROverlay_001_GetOverlayTransformAbsolute_params +struct wow64_IVRInput_IVRInput_010_GetAnalogActionData_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(uint32_t *peTrackingOrigin, peTrackingOrigin, uint32_t *); - W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); + uint64_t action; + W32_PTR(w32_InputAnalogActionData_t *pActionData, pActionData, w32_InputAnalogActionData_t *); + uint32_t unActionDataSize; + uint64_t ulRestrictToDevice; }; -struct IVROverlay_IVROverlay_001_SetOverlayTransformTrackedDeviceRelative_params +struct IVRInput_IVRInput_010_GetPoseActionDataRelativeToNow_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t unTrackedDevice; - const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; + uint64_t action; + uint32_t eOrigin; + float fPredictedSecondsFromNow; + w_InputPoseActionData_t *pActionData; + uint32_t unActionDataSize; + uint64_t ulRestrictToDevice; }; -struct wow64_IVROverlay_IVROverlay_001_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVRInput_IVRInput_010_GetPoseActionDataRelativeToNow_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t unTrackedDevice; - W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); + uint64_t action; + uint32_t eOrigin; + float fPredictedSecondsFromNow; + W32_PTR(w32_InputPoseActionData_t *pActionData, pActionData, w32_InputPoseActionData_t *); + uint32_t unActionDataSize; + uint64_t ulRestrictToDevice; }; -struct IVROverlay_IVROverlay_001_GetOverlayTransformTrackedDeviceRelative_params +struct IVRInput_IVRInput_010_GetPoseActionDataForNextFrame_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t *punTrackedDevice; - HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; + uint64_t action; + uint32_t eOrigin; + w_InputPoseActionData_t *pActionData; + uint32_t unActionDataSize; + uint64_t ulRestrictToDevice; }; -struct wow64_IVROverlay_IVROverlay_001_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVRInput_IVRInput_010_GetPoseActionDataForNextFrame_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(uint32_t *punTrackedDevice, punTrackedDevice, uint32_t *); - W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); + uint64_t action; + uint32_t eOrigin; + W32_PTR(w32_InputPoseActionData_t *pActionData, pActionData, w32_InputPoseActionData_t *); + uint32_t unActionDataSize; + uint64_t ulRestrictToDevice; }; -struct IVROverlay_IVROverlay_001_GetOverlayVisibility_params +struct IVRInput_IVRInput_010_GetSkeletalActionData_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t *peOverlayVisibility; + uint64_t action; + w_InputSkeletalActionData_t_113b *pActionData; + uint32_t unActionDataSize; }; -struct wow64_IVROverlay_IVROverlay_001_GetOverlayVisibility_params +struct wow64_IVRInput_IVRInput_010_GetSkeletalActionData_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(uint32_t *peOverlayVisibility, peOverlayVisibility, uint32_t *); + uint64_t action; + W32_PTR(w32_InputSkeletalActionData_t_113b *pActionData, pActionData, w32_InputSkeletalActionData_t_113b *); + uint32_t unActionDataSize; }; -struct IVROverlay_IVROverlay_001_SetOverlayVisibility_params +struct IVRInput_IVRInput_010_GetDominantHand_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eOverlayVisibility; + uint32_t *peDominantHand; }; -struct wow64_IVROverlay_IVROverlay_001_SetOverlayVisibility_params +struct wow64_IVRInput_IVRInput_010_GetDominantHand_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eOverlayVisibility; + W32_PTR(uint32_t *peDominantHand, peDominantHand, uint32_t *); }; -struct IVROverlay_IVROverlay_001_ShowOverlay_params +struct IVRInput_IVRInput_010_SetDominantHand_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; + uint32_t eDominantHand; }; -struct wow64_IVROverlay_IVROverlay_001_ShowOverlay_params +struct wow64_IVRInput_IVRInput_010_SetDominantHand_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; + uint32_t eDominantHand; }; -struct IVROverlay_IVROverlay_001_HideOverlay_params +struct IVRInput_IVRInput_010_GetBoneCount_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; + uint64_t action; + uint32_t *pBoneCount; }; -struct wow64_IVROverlay_IVROverlay_001_HideOverlay_params +struct wow64_IVRInput_IVRInput_010_GetBoneCount_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; + uint64_t action; + W32_PTR(uint32_t *pBoneCount, pBoneCount, uint32_t *); }; -struct IVROverlay_IVROverlay_001_IsOverlayVisible_params +struct IVRInput_IVRInput_010_GetBoneHierarchy_params { struct u_iface u_iface; - int8_t _ret; - uint64_t ulOverlayHandle; + uint32_t _ret; + uint64_t action; + int32_t *pParentIndices; + uint32_t unIndexArayCount; }; -struct wow64_IVROverlay_IVROverlay_001_IsOverlayVisible_params +struct wow64_IVRInput_IVRInput_010_GetBoneHierarchy_params { struct u_iface u_iface; - int8_t _ret; - uint64_t ulOverlayHandle; + uint32_t _ret; + uint64_t action; + W32_PTR(int32_t *pParentIndices, pParentIndices, int32_t *); + uint32_t unIndexArayCount; }; -struct IVROverlay_IVROverlay_001_PollNextOverlayEvent_params +struct IVRInput_IVRInput_010_GetBoneName_params { struct u_iface u_iface; - int8_t _ret; - uint64_t ulOverlayHandle; - w_VREvent_t_092 *pEvent; + uint32_t _ret; + uint64_t action; + int32_t nBoneIndex; + char *pchBoneName; + uint32_t unNameBufferSize; }; -struct wow64_IVROverlay_IVROverlay_001_PollNextOverlayEvent_params +struct wow64_IVRInput_IVRInput_010_GetBoneName_params { struct u_iface u_iface; - int8_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_092 *pEvent, pEvent, w32_VREvent_t_092 *); + uint32_t _ret; + uint64_t action; + int32_t nBoneIndex; + W32_PTR(char *pchBoneName, pchBoneName, char *); + uint32_t unNameBufferSize; }; -struct IVROverlay_IVROverlay_001_GetOverlayInputMethod_params +struct IVRInput_IVRInput_010_GetSkeletalReferenceTransforms_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t *peInputMethod; + uint64_t action; + uint32_t eTransformSpace; + uint32_t eReferencePose; + VRBoneTransform_t *pTransformArray; + uint32_t unTransformArrayCount; }; -struct wow64_IVROverlay_IVROverlay_001_GetOverlayInputMethod_params +struct wow64_IVRInput_IVRInput_010_GetSkeletalReferenceTransforms_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); + uint64_t action; + uint32_t eTransformSpace; + uint32_t eReferencePose; + W32_PTR(VRBoneTransform_t *pTransformArray, pTransformArray, VRBoneTransform_t *); + uint32_t unTransformArrayCount; }; -struct IVROverlay_IVROverlay_001_SetOverlayInputMethod_params +struct IVRInput_IVRInput_010_GetSkeletalTrackingLevel_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eInputMethod; + uint64_t action; + uint32_t *pSkeletalTrackingLevel; }; -struct wow64_IVROverlay_IVROverlay_001_SetOverlayInputMethod_params +struct wow64_IVRInput_IVRInput_010_GetSkeletalTrackingLevel_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eInputMethod; + uint64_t action; + W32_PTR(uint32_t *pSkeletalTrackingLevel, pSkeletalTrackingLevel, uint32_t *); }; -struct IVROverlay_IVROverlay_001_GetOverlayMouseScale_params +struct IVRInput_IVRInput_010_GetSkeletalBoneData_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - HmdVector2_t *pvecMouseScale; + uint64_t action; + uint32_t eTransformSpace; + uint32_t eMotionRange; + VRBoneTransform_t *pTransformArray; + uint32_t unTransformArrayCount; }; -struct wow64_IVROverlay_IVROverlay_001_GetOverlayMouseScale_params +struct wow64_IVRInput_IVRInput_010_GetSkeletalBoneData_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); + uint64_t action; + uint32_t eTransformSpace; + uint32_t eMotionRange; + W32_PTR(VRBoneTransform_t *pTransformArray, pTransformArray, VRBoneTransform_t *); + uint32_t unTransformArrayCount; }; -struct IVROverlay_IVROverlay_001_SetOverlayMouseScale_params +struct IVRInput_IVRInput_010_GetSkeletalSummaryData_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - const HmdVector2_t *pvecMouseScale; + uint64_t action; + uint32_t eSummaryType; + VRSkeletalSummaryData_t *pSkeletalSummaryData; }; -struct wow64_IVROverlay_IVROverlay_001_SetOverlayMouseScale_params +struct wow64_IVRInput_IVRInput_010_GetSkeletalSummaryData_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); + uint64_t action; + uint32_t eSummaryType; + W32_PTR(VRSkeletalSummaryData_t *pSkeletalSummaryData, pSkeletalSummaryData, VRSkeletalSummaryData_t *); }; -struct IVROverlay_IVROverlay_001_ComputeOverlayIntersection_params +struct IVRInput_IVRInput_010_GetSkeletalBoneDataCompressed_params { struct u_iface u_iface; - int8_t _ret; - uint64_t ulOverlayHandle; - const VROverlayIntersectionParams_t *pParams; - VROverlayIntersectionResults_t *pResults; + uint32_t _ret; + uint64_t action; + uint32_t eMotionRange; + void *pvCompressedData; + uint32_t unCompressedSize; + uint32_t *punRequiredCompressedSize; }; -struct wow64_IVROverlay_IVROverlay_001_ComputeOverlayIntersection_params +struct wow64_IVRInput_IVRInput_010_GetSkeletalBoneDataCompressed_params { struct u_iface u_iface; - int8_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(const VROverlayIntersectionParams_t *pParams, pParams, const VROverlayIntersectionParams_t *); - W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); + uint32_t _ret; + uint64_t action; + uint32_t eMotionRange; + W32_PTR(void *pvCompressedData, pvCompressedData, void *); + uint32_t unCompressedSize; + W32_PTR(uint32_t *punRequiredCompressedSize, punRequiredCompressedSize, uint32_t *); }; -struct IVROverlay_IVROverlay_001_HandleControllerOverlayInteractionAsMouse_params +struct IVRInput_IVRInput_010_DecompressSkeletalBoneData_params { struct u_iface u_iface; - int8_t _ret; - uint64_t ulOverlayHandle; - uint32_t unControllerDeviceIndex; + uint32_t _ret; + const void *pvCompressedBuffer; + uint32_t unCompressedBufferSize; + uint32_t eTransformSpace; + VRBoneTransform_t *pTransformArray; + uint32_t unTransformArrayCount; }; -struct wow64_IVROverlay_IVROverlay_001_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVRInput_IVRInput_010_DecompressSkeletalBoneData_params { struct u_iface u_iface; - int8_t _ret; - uint64_t ulOverlayHandle; - uint32_t unControllerDeviceIndex; + uint32_t _ret; + W32_PTR(const void *pvCompressedBuffer, pvCompressedBuffer, const void *); + uint32_t unCompressedBufferSize; + uint32_t eTransformSpace; + W32_PTR(VRBoneTransform_t *pTransformArray, pTransformArray, VRBoneTransform_t *); + uint32_t unTransformArrayCount; }; -struct IVROverlay_IVROverlay_001_SetOverlayTexture_params +struct IVRInput_IVRInput_010_TriggerHapticVibrationAction_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - void *pTexture; + uint64_t action; + float fStartSecondsFromNow; + float fDurationSeconds; + float fFrequency; + float fAmplitude; + uint64_t ulRestrictToDevice; }; -struct wow64_IVROverlay_IVROverlay_001_SetOverlayTexture_params +struct wow64_IVRInput_IVRInput_010_TriggerHapticVibrationAction_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(void *pTexture, pTexture, void *); + uint64_t action; + float fStartSecondsFromNow; + float fDurationSeconds; + float fFrequency; + float fAmplitude; + uint64_t ulRestrictToDevice; }; -struct IVROverlay_IVROverlay_001_SetOverlayRaw_params +struct IVRInput_IVRInput_010_GetActionOrigins_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - void *pvBuffer; - uint32_t unWidth; - uint32_t unHeight; - uint32_t unDepth; + uint64_t actionSetHandle; + uint64_t digitalActionHandle; + uint64_t *originsOut; + uint32_t originOutCount; }; -struct wow64_IVROverlay_IVROverlay_001_SetOverlayRaw_params +struct wow64_IVRInput_IVRInput_010_GetActionOrigins_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(void *pvBuffer, pvBuffer, void *); - uint32_t unWidth; - uint32_t unHeight; - uint32_t unDepth; + uint64_t actionSetHandle; + uint64_t digitalActionHandle; + W32_PTR(uint64_t *originsOut, originsOut, uint64_t *); + uint32_t originOutCount; }; -struct IVROverlay_IVROverlay_001_SetOverlayFromFile_params +struct IVRInput_IVRInput_010_GetOriginLocalizedName_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - const char *pchFilePath; + uint64_t origin; + char *pchNameArray; + uint32_t unNameArraySize; + int32_t unStringSectionsToInclude; }; -struct wow64_IVROverlay_IVROverlay_001_SetOverlayFromFile_params +struct wow64_IVRInput_IVRInput_010_GetOriginLocalizedName_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(const char *pchFilePath, pchFilePath, const char *); + uint64_t origin; + W32_PTR(char *pchNameArray, pchNameArray, char *); + uint32_t unNameArraySize; + int32_t unStringSectionsToInclude; }; -struct IVROverlay_IVROverlay_001_IsSystemOverlayVisible_params +struct IVRInput_IVRInput_010_GetOriginTrackedDeviceInfo_params { struct u_iface u_iface; - int8_t _ret; + uint32_t _ret; + uint64_t origin; + w_InputOriginInfo_t *pOriginInfo; + uint32_t unOriginInfoSize; }; -struct wow64_IVROverlay_IVROverlay_001_IsSystemOverlayVisible_params +struct wow64_IVRInput_IVRInput_010_GetOriginTrackedDeviceInfo_params { struct u_iface u_iface; - int8_t _ret; + uint32_t _ret; + uint64_t origin; + W32_PTR(w32_InputOriginInfo_t *pOriginInfo, pOriginInfo, w32_InputOriginInfo_t *); + uint32_t unOriginInfoSize; }; -struct IVROverlay_IVROverlay_001_IsActiveSystemOverlay_params +struct IVRInput_IVRInput_010_GetActionBindingInfo_params { struct u_iface u_iface; - int8_t _ret; - uint64_t ulOverlayHandle; + uint32_t _ret; + uint64_t action; + InputBindingInfo_t_11030 *pOriginInfo; + uint32_t unBindingInfoSize; + uint32_t unBindingInfoCount; + uint32_t *punReturnedBindingInfoCount; }; -struct wow64_IVROverlay_IVROverlay_001_IsActiveSystemOverlay_params +struct wow64_IVRInput_IVRInput_010_GetActionBindingInfo_params { struct u_iface u_iface; - int8_t _ret; - uint64_t ulOverlayHandle; + uint32_t _ret; + uint64_t action; + W32_PTR(InputBindingInfo_t_11030 *pOriginInfo, pOriginInfo, InputBindingInfo_t_11030 *); + uint32_t unBindingInfoSize; + uint32_t unBindingInfoCount; + W32_PTR(uint32_t *punReturnedBindingInfoCount, punReturnedBindingInfoCount, uint32_t *); }; -struct IVROverlay_IVROverlay_001_SetSystemOverlaySceneProcess_params +struct IVRInput_IVRInput_010_ShowActionOrigins_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t unProcessId; + uint64_t actionSetHandle; + uint64_t ulActionHandle; }; -struct wow64_IVROverlay_IVROverlay_001_SetSystemOverlaySceneProcess_params +struct wow64_IVRInput_IVRInput_010_ShowActionOrigins_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t unProcessId; + uint64_t actionSetHandle; + uint64_t ulActionHandle; }; -struct IVROverlay_IVROverlay_001_GetSystemOverlaySceneProcess_params +struct IVRInput_IVRInput_010_ShowBindingsForActionSet_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t *punProcessId; + VRActiveActionSet_t_1016 *pSets; + uint32_t unSizeOfVRSelectedActionSet_t; + uint32_t unSetCount; + uint64_t originToHighlight; }; -struct wow64_IVROverlay_IVROverlay_001_GetSystemOverlaySceneProcess_params +struct wow64_IVRInput_IVRInput_010_ShowBindingsForActionSet_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); + W32_PTR(VRActiveActionSet_t_1016 *pSets, pSets, VRActiveActionSet_t_1016 *); + uint32_t unSizeOfVRSelectedActionSet_t; + uint32_t unSetCount; + uint64_t originToHighlight; }; -struct IVROverlay_IVROverlay_002_FindOverlay_params +struct IVRInput_IVRInput_010_GetComponentStateForBinding_params { struct u_iface u_iface; uint32_t _ret; - const char *pchOverlayKey; - uint64_t *pOverlayHandle; + const char *pchRenderModelName; + const char *pchComponentName; + const InputBindingInfo_t_11030 *pOriginInfo; + uint32_t unBindingInfoSize; + uint32_t unBindingInfoCount; + RenderModel_ComponentState_t *pComponentState; }; -struct wow64_IVROverlay_IVROverlay_002_FindOverlay_params +struct wow64_IVRInput_IVRInput_010_GetComponentStateForBinding_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); - W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); + W32_PTR(const InputBindingInfo_t_11030 *pOriginInfo, pOriginInfo, const InputBindingInfo_t_11030 *); + uint32_t unBindingInfoSize; + uint32_t unBindingInfoCount; + W32_PTR(RenderModel_ComponentState_t *pComponentState, pComponentState, RenderModel_ComponentState_t *); }; -struct IVROverlay_IVROverlay_002_CreateOverlay_params +struct IVRInput_IVRInput_010_IsUsingLegacyInput_params { struct u_iface u_iface; - uint32_t _ret; - const char *pchOverlayKey; - const char *pchOverlayFriendlyName; - uint64_t *pOverlayHandle; + int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_002_CreateOverlay_params +struct wow64_IVRInput_IVRInput_010_IsUsingLegacyInput_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); - W32_PTR(const char *pchOverlayFriendlyName, pchOverlayFriendlyName, const char *); - W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); + int8_t _ret; }; -struct IVROverlay_IVROverlay_002_DestroyOverlay_params +struct IVRInput_IVRInput_010_OpenBindingUI_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; + const char *pchAppKey; + uint64_t ulActionSetHandle; + uint64_t ulDeviceHandle; + int8_t bShowOnDesktop; }; -struct wow64_IVROverlay_IVROverlay_002_DestroyOverlay_params +struct wow64_IVRInput_IVRInput_010_OpenBindingUI_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; + W32_PTR(const char *pchAppKey, pchAppKey, const char *); + uint64_t ulActionSetHandle; + uint64_t ulDeviceHandle; + int8_t bShowOnDesktop; }; -struct IVROverlay_IVROverlay_002_SetHighQualityOverlay_params +struct IVRInput_IVRInput_010_GetBindingVariant_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; + uint64_t ulDevicePath; + char *pchVariantArray; + uint32_t unVariantArraySize; }; -struct wow64_IVROverlay_IVROverlay_002_SetHighQualityOverlay_params +struct wow64_IVRInput_IVRInput_010_GetBindingVariant_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; + uint64_t ulDevicePath; + W32_PTR(char *pchVariantArray, pchVariantArray, char *); + uint32_t unVariantArraySize; }; -struct IVROverlay_IVROverlay_002_GetHighQualityOverlay_params +struct IVRMailbox_IVRMailbox_001_undoc1_params { struct u_iface u_iface; - uint64_t _ret; + uint32_t _ret; + const char *a; + uint64_t *b; }; -struct wow64_IVROverlay_IVROverlay_002_GetHighQualityOverlay_params +struct wow64_IVRMailbox_IVRMailbox_001_undoc1_params { struct u_iface u_iface; - uint64_t _ret; + uint32_t _ret; + W32_PTR(const char *a, a, const char *); + W32_PTR(uint64_t *b, b, uint64_t *); }; -struct IVROverlay_IVROverlay_002_GetOverlayErrorNameFromEnum_params +struct IVRMailbox_IVRMailbox_001_undoc2_params { struct u_iface u_iface; - struct u_buffer _ret; - uint32_t error; + uint32_t _ret; + uint64_t a; }; -struct wow64_IVROverlay_IVROverlay_002_GetOverlayErrorNameFromEnum_params +struct wow64_IVRMailbox_IVRMailbox_001_undoc2_params { struct u_iface u_iface; - struct u_buffer _ret; - uint32_t error; + uint32_t _ret; + uint64_t a; }; -struct IVROverlay_IVROverlay_002_SetOverlayFlag_params +struct IVRMailbox_IVRMailbox_001_undoc3_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eOverlayFlag; - int8_t bEnabled; + uint64_t a; + const char *b; + const char *c; }; -struct wow64_IVROverlay_IVROverlay_002_SetOverlayFlag_params +struct wow64_IVRMailbox_IVRMailbox_001_undoc3_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eOverlayFlag; - int8_t bEnabled; + uint64_t a; + W32_PTR(const char *b, b, const char *); + W32_PTR(const char *c, c, const char *); }; -struct IVROverlay_IVROverlay_002_GetOverlayFlag_params +struct IVRMailbox_IVRMailbox_001_undoc4_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eOverlayFlag; - int8_t *pbEnabled; + uint64_t a; + char *b; + uint32_t c; + uint32_t *d; }; -struct wow64_IVROverlay_IVROverlay_002_GetOverlayFlag_params +struct wow64_IVRMailbox_IVRMailbox_001_undoc4_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eOverlayFlag; - W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); + uint64_t a; + W32_PTR(char *b, b, char *); + uint32_t c; + W32_PTR(uint32_t *d, d, uint32_t *); }; -struct IVROverlay_IVROverlay_002_SetOverlayColor_params +struct IVRNotifications_IVRNotifications_001_GetErrorString_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - float fRed; - float fGreen; - float fBlue; + uint32_t error; + char *pchBuffer; + uint32_t unBufferSize; }; -struct wow64_IVROverlay_IVROverlay_002_SetOverlayColor_params +struct wow64_IVRNotifications_IVRNotifications_001_GetErrorString_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - float fRed; - float fGreen; - float fBlue; + uint32_t error; + W32_PTR(char *pchBuffer, pchBuffer, char *); + uint32_t unBufferSize; }; -struct IVROverlay_IVROverlay_002_GetOverlayColor_params +struct IVRNotifications_IVRNotifications_001_CreateNotification_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float *pfRed; - float *pfGreen; - float *pfBlue; + uint64_t ulUserValue; + const char *strType; + const char *strText; + const char *strCategory; + const w_NotificationBitmap *photo; + uint32_t *notificationId; }; -struct wow64_IVROverlay_IVROverlay_002_GetOverlayColor_params +struct wow64_IVRNotifications_IVRNotifications_001_CreateNotification_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(float *pfRed, pfRed, float *); - W32_PTR(float *pfGreen, pfGreen, float *); - W32_PTR(float *pfBlue, pfBlue, float *); + uint64_t ulUserValue; + W32_PTR(const char *strType, strType, const char *); + W32_PTR(const char *strText, strText, const char *); + W32_PTR(const char *strCategory, strCategory, const char *); + W32_PTR(const w32_NotificationBitmap *photo, photo, const w32_NotificationBitmap *); + W32_PTR(uint32_t *notificationId, notificationId, uint32_t *); }; -struct IVROverlay_IVROverlay_002_SetOverlayAlpha_params +struct IVRNotifications_IVRNotifications_001_DismissNotification_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - float fAlpha; + uint32_t notificationId; }; -struct wow64_IVROverlay_IVROverlay_002_SetOverlayAlpha_params +struct wow64_IVRNotifications_IVRNotifications_001_DismissNotification_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - float fAlpha; + uint32_t notificationId; }; -struct IVROverlay_IVROverlay_002_GetOverlayAlpha_params +struct IVRNotifications_IVRNotifications_002_CreateNotification_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float *pfAlpha; + uint64_t ulUserValue; + uint32_t type; + const char *pchText; + uint32_t style; + const w_NotificationBitmap_t *pImage; + uint32_t *pNotificationId; }; -struct wow64_IVROverlay_IVROverlay_002_GetOverlayAlpha_params +struct wow64_IVRNotifications_IVRNotifications_002_CreateNotification_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(float *pfAlpha, pfAlpha, float *); + uint64_t ulUserValue; + uint32_t type; + W32_PTR(const char *pchText, pchText, const char *); + uint32_t style; + W32_PTR(const w32_NotificationBitmap_t *pImage, pImage, const w32_NotificationBitmap_t *); + W32_PTR(uint32_t *pNotificationId, pNotificationId, uint32_t *); }; -struct IVROverlay_IVROverlay_002_SetOverlayGamma_params +struct IVRNotifications_IVRNotifications_002_RemoveNotification_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - float fGamma; + uint32_t notificationId; }; -struct wow64_IVROverlay_IVROverlay_002_SetOverlayGamma_params +struct wow64_IVRNotifications_IVRNotifications_002_RemoveNotification_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - float fGamma; + uint32_t notificationId; }; -struct IVROverlay_IVROverlay_002_GetOverlayGamma_params +struct IVROverlayView_IVROverlayView_003_AcquireOverlayView_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float *pfGamma; + w_VRNativeDevice_t *pNativeDevice; + w_VROverlayView_t *pOverlayView; + uint32_t unOverlayViewSize; }; -struct wow64_IVROverlay_IVROverlay_002_GetOverlayGamma_params +struct wow64_IVROverlayView_IVROverlayView_003_AcquireOverlayView_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(float *pfGamma, pfGamma, float *); + W32_PTR(w32_VRNativeDevice_t *pNativeDevice, pNativeDevice, w32_VRNativeDevice_t *); + W32_PTR(w32_VROverlayView_t *pOverlayView, pOverlayView, w32_VROverlayView_t *); + uint32_t unOverlayViewSize; }; -struct IVROverlay_IVROverlay_002_SetOverlayWidthInMeters_params +struct IVROverlayView_IVROverlayView_003_ReleaseOverlayView_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - float fWidthInMeters; + w_VROverlayView_t *pOverlayView; }; -struct wow64_IVROverlay_IVROverlay_002_SetOverlayWidthInMeters_params +struct wow64_IVROverlayView_IVROverlayView_003_ReleaseOverlayView_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - float fWidthInMeters; + W32_PTR(w32_VROverlayView_t *pOverlayView, pOverlayView, w32_VROverlayView_t *); }; -struct IVROverlay_IVROverlay_002_GetOverlayWidthInMeters_params +struct IVROverlayView_IVROverlayView_003_PostOverlayEvent_params { struct u_iface u_iface; - uint32_t _ret; uint64_t ulOverlayHandle; - float *pfWidthInMeters; + const w_VREvent_t_223 *pvrEvent; }; -struct wow64_IVROverlay_IVROverlay_002_GetOverlayWidthInMeters_params +struct wow64_IVROverlayView_IVROverlayView_003_PostOverlayEvent_params { struct u_iface u_iface; - uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); + W32_PTR(const w32_VREvent_t_223 *pvrEvent, pvrEvent, const w32_VREvent_t_223 *); }; -struct IVROverlay_IVROverlay_002_SetOverlayTextureBounds_params +struct IVROverlayView_IVROverlayView_003_IsViewingPermitted_params { struct u_iface u_iface; - uint32_t _ret; + int8_t _ret; uint64_t ulOverlayHandle; - const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_002_SetOverlayTextureBounds_params +struct wow64_IVROverlayView_IVROverlayView_003_IsViewingPermitted_params { struct u_iface u_iface; - uint32_t _ret; + int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_002_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_001_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - VRTextureBounds_t *pOverlayTextureBounds; + const char *pchOverlayKey; + uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_002_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_001_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); + W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); + W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_002_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_001_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t *peTransformType; + const char *pchOverlayKey; + const char *pchOverlayFriendlyName; + uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_002_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_001_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); + W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); + W32_PTR(const char *pchOverlayFriendlyName, pchOverlayFriendlyName, const char *); + W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_002_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_001_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t eTrackingOrigin; - const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_002_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_001_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t eTrackingOrigin; - W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_002_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_001_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t *peTrackingOrigin; - HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_002_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_001_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(uint32_t *peTrackingOrigin, peTrackingOrigin, uint32_t *); - W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_002_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_001_GetHighQualityOverlay_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t unTrackedDevice; - const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; + uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_002_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_001_GetHighQualityOverlay_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t unTrackedDevice; - W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); + uint64_t _ret; }; -struct IVROverlay_IVROverlay_002_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_001_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t *punTrackedDevice; - HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; + struct u_buffer _ret; + uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_002_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_001_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(uint32_t *punTrackedDevice, punTrackedDevice, uint32_t *); - W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); + struct u_buffer _ret; + uint32_t error; }; -struct IVROverlay_IVROverlay_002_ShowOverlay_params +struct IVROverlay_IVROverlay_001_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; + uint32_t eOverlayFlag; + int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_002_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_001_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; + uint32_t eOverlayFlag; + int8_t bEnabled; }; -struct IVROverlay_IVROverlay_002_HideOverlay_params +struct IVROverlay_IVROverlay_001_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; + uint32_t eOverlayFlag; + int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_002_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_001_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; + uint32_t eOverlayFlag; + W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_002_IsOverlayVisible_params +struct IVROverlay_IVROverlay_001_SetOverlayAlpha_params { struct u_iface u_iface; - int8_t _ret; + uint32_t _ret; uint64_t ulOverlayHandle; + float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_002_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_001_SetOverlayAlpha_params { struct u_iface u_iface; - int8_t _ret; + uint32_t _ret; uint64_t ulOverlayHandle; + float fAlpha; }; -struct IVROverlay_IVROverlay_002_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_001_GetOverlayAlpha_params { struct u_iface u_iface; - int8_t _ret; + uint32_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_093 *pEvent; + float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_002_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_001_GetOverlayAlpha_params { struct u_iface u_iface; - int8_t _ret; + uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_093 *pEvent, pEvent, w32_VREvent_t_093 *); + W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_002_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_001_SetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t *peInputMethod; + float fGamma; }; -struct wow64_IVROverlay_IVROverlay_002_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_001_SetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); + float fGamma; }; -struct IVROverlay_IVROverlay_002_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_001_GetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t eInputMethod; + float *pfGamma; }; -struct wow64_IVROverlay_IVROverlay_002_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_001_GetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t eInputMethod; + W32_PTR(float *pfGamma, pfGamma, float *); }; -struct IVROverlay_IVROverlay_002_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_001_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - HmdVector2_t *pvecMouseScale; + float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_002_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_001_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); + float fWidthInMeters; }; -struct IVROverlay_IVROverlay_002_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_001_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - const HmdVector2_t *pvecMouseScale; + float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_002_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_001_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); + W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_002_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_001_SetOverlayTextureBounds_params { struct u_iface u_iface; - int8_t _ret; + uint32_t _ret; uint64_t ulOverlayHandle; - const VROverlayIntersectionParams_t *pParams; - VROverlayIntersectionResults_t *pResults; + const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_002_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_001_SetOverlayTextureBounds_params { struct u_iface u_iface; - int8_t _ret; + uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(const VROverlayIntersectionParams_t *pParams, pParams, const VROverlayIntersectionParams_t *); - W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); + W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_002_HandleControllerOverlayInteractionAsMouse_params +struct IVROverlay_IVROverlay_001_GetOverlayTextureBounds_params { struct u_iface u_iface; - int8_t _ret; + uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t unControllerDeviceIndex; + VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_002_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVROverlay_IVROverlay_001_GetOverlayTextureBounds_params { struct u_iface u_iface; - int8_t _ret; + uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t unControllerDeviceIndex; + W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_002_SetOverlayTexture_params +struct IVROverlay_IVROverlay_001_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t eTextureType; - void *pTexture; + uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_002_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_001_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t eTextureType; - W32_PTR(void *pTexture, pTexture, void *); + W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_002_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_001_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; + uint32_t eTrackingOrigin; + const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_002_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_001_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; + uint32_t eTrackingOrigin; + W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_002_SetOverlayRaw_params +struct IVROverlay_IVROverlay_001_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - void *pvBuffer; - uint32_t unWidth; - uint32_t unHeight; - uint32_t unDepth; + uint32_t *peTrackingOrigin; + HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_002_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_001_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(void *pvBuffer, pvBuffer, void *); - uint32_t unWidth; - uint32_t unHeight; - uint32_t unDepth; + W32_PTR(uint32_t *peTrackingOrigin, peTrackingOrigin, uint32_t *); + W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_002_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_001_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - const char *pchFilePath; + uint32_t unTrackedDevice; + const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_002_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_001_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(const char *pchFilePath, pchFilePath, const char *); + uint32_t unTrackedDevice; + W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_002_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_001_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; - const char *pchOverlayKey; - const char *pchOverlayFriendlyName; - uint64_t *pMainHandle; - uint64_t *pThumbnailHandle; + uint64_t ulOverlayHandle; + uint32_t *punTrackedDevice; + HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_002_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_001_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); - W32_PTR(const char *pchOverlayFriendlyName, pchOverlayFriendlyName, const char *); - W32_PTR(uint64_t *pMainHandle, pMainHandle, uint64_t *); - W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *punTrackedDevice, punTrackedDevice, uint32_t *); + W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_002_IsDashboardVisible_params +struct IVROverlay_IVROverlay_001_GetOverlayVisibility_params { struct u_iface u_iface; - int8_t _ret; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *peOverlayVisibility; }; -struct wow64_IVROverlay_IVROverlay_002_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_001_GetOverlayVisibility_params { struct u_iface u_iface; - int8_t _ret; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *peOverlayVisibility, peOverlayVisibility, uint32_t *); }; -struct IVROverlay_IVROverlay_002_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_001_SetOverlayVisibility_params { struct u_iface u_iface; - int8_t _ret; + uint32_t _ret; uint64_t ulOverlayHandle; + uint32_t eOverlayVisibility; }; -struct wow64_IVROverlay_IVROverlay_002_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_001_SetOverlayVisibility_params { struct u_iface u_iface; - int8_t _ret; + uint32_t _ret; uint64_t ulOverlayHandle; + uint32_t eOverlayVisibility; }; -struct IVROverlay_IVROverlay_002_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_001_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_002_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_001_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_002_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_001_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_002_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_001_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_003_FindOverlay_params +struct IVROverlay_IVROverlay_001_IsOverlayVisible_params { struct u_iface u_iface; - uint32_t _ret; - const char *pchOverlayKey; - uint64_t *pOverlayHandle; + int8_t _ret; + uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_003_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_001_IsOverlayVisible_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); - W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); + int8_t _ret; + uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_003_CreateOverlay_params +struct IVROverlay_IVROverlay_001_PollNextOverlayEvent_params { struct u_iface u_iface; - uint32_t _ret; - const char *pchOverlayKey; - const char *pchOverlayFriendlyName; - uint64_t *pOverlayHandle; + int8_t _ret; + uint64_t ulOverlayHandle; + w_VREvent_t_092 *pEvent; }; -struct wow64_IVROverlay_IVROverlay_003_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_001_PollNextOverlayEvent_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); - W32_PTR(const char *pchOverlayFriendlyName, pchOverlayFriendlyName, const char *); - W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); + int8_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(w32_VREvent_t_092 *pEvent, pEvent, w32_VREvent_t_092 *); }; -struct IVROverlay_IVROverlay_003_DestroyOverlay_params +struct IVROverlay_IVROverlay_001_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; + uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_003_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_001_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; + W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_003_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_001_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; + uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_003_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_001_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; + uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_003_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_001_GetOverlayMouseScale_params { struct u_iface u_iface; - uint64_t _ret; + uint32_t _ret; + uint64_t ulOverlayHandle; + HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_003_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_001_GetOverlayMouseScale_params { struct u_iface u_iface; - uint64_t _ret; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_003_GetOverlayKey_params +struct IVROverlay_IVROverlay_001_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - char *pchValue; - uint32_t unBufferSize; - uint32_t *pError; + const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_003_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_001_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(char *pchValue, pchValue, char *); - uint32_t unBufferSize; - W32_PTR(uint32_t *pError, pError, uint32_t *); + W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_003_GetOverlayName_params +struct IVROverlay_IVROverlay_001_ComputeOverlayIntersection_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; + const VROverlayIntersectionParams_t *pParams; + VROverlayIntersectionResults_t *pResults; +}; + +struct wow64_IVROverlay_IVROverlay_001_ComputeOverlayIntersection_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(const VROverlayIntersectionParams_t *pParams, pParams, const VROverlayIntersectionParams_t *); + W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); +}; + +struct IVROverlay_IVROverlay_001_HandleControllerOverlayInteractionAsMouse_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; + uint32_t unControllerDeviceIndex; +}; + +struct wow64_IVROverlay_IVROverlay_001_HandleControllerOverlayInteractionAsMouse_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; + uint32_t unControllerDeviceIndex; +}; + +struct IVROverlay_IVROverlay_001_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - char *pchValue; - uint32_t unBufferSize; - uint32_t *pError; + void *pTexture; }; -struct wow64_IVROverlay_IVROverlay_003_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_001_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(char *pchValue, pchValue, char *); - uint32_t unBufferSize; - W32_PTR(uint32_t *pError, pError, uint32_t *); + W32_PTR(void *pTexture, pTexture, void *); }; -struct IVROverlay_IVROverlay_003_GetOverlayImageData_params +struct IVROverlay_IVROverlay_001_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; void *pvBuffer; - uint32_t unBufferSize; - uint32_t *punWidth; - uint32_t *punHeight; + uint32_t unWidth; + uint32_t unHeight; + uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_003_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_001_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; W32_PTR(void *pvBuffer, pvBuffer, void *); - uint32_t unBufferSize; - W32_PTR(uint32_t *punWidth, punWidth, uint32_t *); - W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); + uint32_t unWidth; + uint32_t unHeight; + uint32_t unDepth; }; -struct IVROverlay_IVROverlay_003_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_001_SetOverlayFromFile_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + const char *pchFilePath; +}; + +struct wow64_IVROverlay_IVROverlay_001_SetOverlayFromFile_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(const char *pchFilePath, pchFilePath, const char *); +}; + +struct IVROverlay_IVROverlay_001_IsSystemOverlayVisible_params +{ + struct u_iface u_iface; + int8_t _ret; +}; + +struct wow64_IVROverlay_IVROverlay_001_IsSystemOverlayVisible_params +{ + struct u_iface u_iface; + int8_t _ret; +}; + +struct IVROverlay_IVROverlay_001_IsActiveSystemOverlay_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; +}; + +struct wow64_IVROverlay_IVROverlay_001_IsActiveSystemOverlay_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; +}; + +struct IVROverlay_IVROverlay_001_SetSystemOverlaySceneProcess_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t unProcessId; +}; + +struct wow64_IVROverlay_IVROverlay_001_SetSystemOverlaySceneProcess_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t unProcessId; +}; + +struct IVROverlay_IVROverlay_001_GetSystemOverlaySceneProcess_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *punProcessId; +}; + +struct wow64_IVROverlay_IVROverlay_001_GetSystemOverlaySceneProcess_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); +}; + +struct IVROverlay_IVROverlay_002_FindOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchOverlayKey; + uint64_t *pOverlayHandle; +}; + +struct wow64_IVROverlay_IVROverlay_002_FindOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); + W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); +}; + +struct IVROverlay_IVROverlay_002_CreateOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchOverlayKey; + const char *pchOverlayFriendlyName; + uint64_t *pOverlayHandle; +}; + +struct wow64_IVROverlay_IVROverlay_002_CreateOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); + W32_PTR(const char *pchOverlayFriendlyName, pchOverlayFriendlyName, const char *); + W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); +}; + +struct IVROverlay_IVROverlay_002_DestroyOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; +}; + +struct wow64_IVROverlay_IVROverlay_002_DestroyOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; +}; + +struct IVROverlay_IVROverlay_002_SetHighQualityOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; +}; + +struct wow64_IVROverlay_IVROverlay_002_SetHighQualityOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; +}; + +struct IVROverlay_IVROverlay_002_GetHighQualityOverlay_params +{ + struct u_iface u_iface; + uint64_t _ret; +}; + +struct wow64_IVROverlay_IVROverlay_002_GetHighQualityOverlay_params +{ + struct u_iface u_iface; + uint64_t _ret; +}; + +struct IVROverlay_IVROverlay_002_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_003_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_002_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_003_SetOverlayFlag_params +struct IVROverlay_IVROverlay_002_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -19454,7 +19450,7 @@ struct IVROverlay_IVROverlay_003_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_003_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_002_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -19463,7 +19459,7 @@ struct wow64_IVROverlay_IVROverlay_003_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_003_GetOverlayFlag_params +struct IVROverlay_IVROverlay_002_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -19472,7 +19468,7 @@ struct IVROverlay_IVROverlay_003_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_003_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_002_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -19481,7 +19477,7 @@ struct wow64_IVROverlay_IVROverlay_003_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_003_SetOverlayColor_params +struct IVROverlay_IVROverlay_002_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -19491,7 +19487,7 @@ struct IVROverlay_IVROverlay_003_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_003_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_002_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -19501,7 +19497,7 @@ struct wow64_IVROverlay_IVROverlay_003_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_003_GetOverlayColor_params +struct IVROverlay_IVROverlay_002_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -19511,7 +19507,7 @@ struct IVROverlay_IVROverlay_003_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_003_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_002_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -19521,7 +19517,7 @@ struct wow64_IVROverlay_IVROverlay_003_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_003_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_002_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -19529,7 +19525,7 @@ struct IVROverlay_IVROverlay_003_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_003_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_002_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -19537,7 +19533,7 @@ struct wow64_IVROverlay_IVROverlay_003_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_003_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_002_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -19545,7 +19541,7 @@ struct IVROverlay_IVROverlay_003_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_003_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_002_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -19553,7 +19549,7 @@ struct wow64_IVROverlay_IVROverlay_003_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_003_SetOverlayGamma_params +struct IVROverlay_IVROverlay_002_SetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; @@ -19561,7 +19557,7 @@ struct IVROverlay_IVROverlay_003_SetOverlayGamma_params float fGamma; }; -struct wow64_IVROverlay_IVROverlay_003_SetOverlayGamma_params +struct wow64_IVROverlay_IVROverlay_002_SetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; @@ -19569,7 +19565,7 @@ struct wow64_IVROverlay_IVROverlay_003_SetOverlayGamma_params float fGamma; }; -struct IVROverlay_IVROverlay_003_GetOverlayGamma_params +struct IVROverlay_IVROverlay_002_GetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; @@ -19577,7 +19573,7 @@ struct IVROverlay_IVROverlay_003_GetOverlayGamma_params float *pfGamma; }; -struct wow64_IVROverlay_IVROverlay_003_GetOverlayGamma_params +struct wow64_IVROverlay_IVROverlay_002_GetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; @@ -19585,7 +19581,7 @@ struct wow64_IVROverlay_IVROverlay_003_GetOverlayGamma_params W32_PTR(float *pfGamma, pfGamma, float *); }; -struct IVROverlay_IVROverlay_003_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_002_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -19593,7 +19589,7 @@ struct IVROverlay_IVROverlay_003_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_003_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_002_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -19601,7 +19597,7 @@ struct wow64_IVROverlay_IVROverlay_003_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_003_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_002_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -19609,7 +19605,7 @@ struct IVROverlay_IVROverlay_003_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_003_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_002_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -19617,7 +19613,7 @@ struct wow64_IVROverlay_IVROverlay_003_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_003_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_002_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -19625,7 +19621,7 @@ struct IVROverlay_IVROverlay_003_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_003_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_002_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -19633,7 +19629,7 @@ struct wow64_IVROverlay_IVROverlay_003_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_003_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_002_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -19641,7 +19637,7 @@ struct IVROverlay_IVROverlay_003_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_003_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_002_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -19649,7 +19645,7 @@ struct wow64_IVROverlay_IVROverlay_003_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_003_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_002_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -19657,7 +19653,7 @@ struct IVROverlay_IVROverlay_003_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_003_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_002_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -19665,7 +19661,7 @@ struct wow64_IVROverlay_IVROverlay_003_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_003_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_002_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -19674,7 +19670,7 @@ struct IVROverlay_IVROverlay_003_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_003_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_002_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -19683,7 +19679,7 @@ struct wow64_IVROverlay_IVROverlay_003_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_003_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_002_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -19692,7 +19688,7 @@ struct IVROverlay_IVROverlay_003_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_003_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_002_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -19701,7 +19697,7 @@ struct wow64_IVROverlay_IVROverlay_003_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_003_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_002_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -19710,7 +19706,7 @@ struct IVROverlay_IVROverlay_003_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_003_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_002_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -19719,7 +19715,7 @@ struct wow64_IVROverlay_IVROverlay_003_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_003_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_002_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -19728,7 +19724,7 @@ struct IVROverlay_IVROverlay_003_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_003_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_002_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -19737,65 +19733,65 @@ struct wow64_IVROverlay_IVROverlay_003_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_003_ShowOverlay_params +struct IVROverlay_IVROverlay_002_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_003_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_002_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_003_HideOverlay_params +struct IVROverlay_IVROverlay_002_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_003_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_002_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_003_IsOverlayVisible_params +struct IVROverlay_IVROverlay_002_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_003_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_002_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_003_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_002_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_097 *pEvent; + w_VREvent_t_093 *pEvent; }; -struct wow64_IVROverlay_IVROverlay_003_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_002_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_097 *pEvent, pEvent, w32_VREvent_t_097 *); + W32_PTR(w32_VREvent_t_093 *pEvent, pEvent, w32_VREvent_t_093 *); }; -struct IVROverlay_IVROverlay_003_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_002_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -19803,7 +19799,7 @@ struct IVROverlay_IVROverlay_003_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_003_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_002_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -19811,7 +19807,7 @@ struct wow64_IVROverlay_IVROverlay_003_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_003_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_002_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -19819,7 +19815,7 @@ struct IVROverlay_IVROverlay_003_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_003_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_002_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -19827,7 +19823,7 @@ struct wow64_IVROverlay_IVROverlay_003_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_003_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_002_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -19835,7 +19831,7 @@ struct IVROverlay_IVROverlay_003_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_003_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_002_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -19843,7 +19839,7 @@ struct wow64_IVROverlay_IVROverlay_003_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_003_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_002_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -19851,7 +19847,7 @@ struct IVROverlay_IVROverlay_003_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_003_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_002_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -19859,7 +19855,7 @@ struct wow64_IVROverlay_IVROverlay_003_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_003_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_002_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -19868,7 +19864,7 @@ struct IVROverlay_IVROverlay_003_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_003_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_002_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -19877,7 +19873,7 @@ struct wow64_IVROverlay_IVROverlay_003_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_003_HandleControllerOverlayInteractionAsMouse_params +struct IVROverlay_IVROverlay_002_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -19885,7 +19881,7 @@ struct IVROverlay_IVROverlay_003_HandleControllerOverlayInteractionAsMouse_param uint32_t unControllerDeviceIndex; }; -struct wow64_IVROverlay_IVROverlay_003_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVROverlay_IVROverlay_002_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -19893,7 +19889,7 @@ struct wow64_IVROverlay_IVROverlay_003_HandleControllerOverlayInteractionAsMouse uint32_t unControllerDeviceIndex; }; -struct IVROverlay_IVROverlay_003_SetOverlayTexture_params +struct IVROverlay_IVROverlay_002_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -19902,7 +19898,7 @@ struct IVROverlay_IVROverlay_003_SetOverlayTexture_params void *pTexture; }; -struct wow64_IVROverlay_IVROverlay_003_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_002_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -19911,21 +19907,21 @@ struct wow64_IVROverlay_IVROverlay_003_SetOverlayTexture_params W32_PTR(void *pTexture, pTexture, void *); }; -struct IVROverlay_IVROverlay_003_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_002_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_003_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_002_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_003_SetOverlayRaw_params +struct IVROverlay_IVROverlay_002_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -19936,7 +19932,7 @@ struct IVROverlay_IVROverlay_003_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_003_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_002_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -19947,7 +19943,7 @@ struct wow64_IVROverlay_IVROverlay_003_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_003_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_002_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -19955,7 +19951,7 @@ struct IVROverlay_IVROverlay_003_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_003_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_002_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -19963,7 +19959,7 @@ struct wow64_IVROverlay_IVROverlay_003_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_003_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_002_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -19973,7 +19969,7 @@ struct IVROverlay_IVROverlay_003_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_003_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_002_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -19983,33 +19979,33 @@ struct wow64_IVROverlay_IVROverlay_003_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_003_IsDashboardVisible_params +struct IVROverlay_IVROverlay_002_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_003_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_002_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_003_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_002_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_003_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_002_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_003_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_002_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -20017,7 +20013,7 @@ struct IVROverlay_IVROverlay_003_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_003_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_002_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -20025,7 +20021,7 @@ struct wow64_IVROverlay_IVROverlay_003_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_003_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_002_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -20033,7 +20029,7 @@ struct IVROverlay_IVROverlay_003_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_003_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_002_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -20041,19 +20037,7 @@ struct wow64_IVROverlay_IVROverlay_003_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_003_ShowDashboard_params -{ - struct u_iface u_iface; - const char *pchOverlayToShow; -}; - -struct wow64_IVROverlay_IVROverlay_003_ShowDashboard_params -{ - struct u_iface u_iface; - W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); -}; - -struct IVROverlay_IVROverlay_004_FindOverlay_params +struct IVROverlay_IVROverlay_003_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -20061,7 +20045,7 @@ struct IVROverlay_IVROverlay_004_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_004_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_003_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -20069,7 +20053,7 @@ struct wow64_IVROverlay_IVROverlay_004_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_004_CreateOverlay_params +struct IVROverlay_IVROverlay_003_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -20078,7 +20062,7 @@ struct IVROverlay_IVROverlay_004_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_004_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_003_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -20087,47 +20071,47 @@ struct wow64_IVROverlay_IVROverlay_004_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_004_DestroyOverlay_params +struct IVROverlay_IVROverlay_003_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_004_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_003_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_004_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_003_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_004_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_003_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_004_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_003_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_004_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_003_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_004_GetOverlayKey_params +struct IVROverlay_IVROverlay_003_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -20137,7 +20121,7 @@ struct IVROverlay_IVROverlay_004_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_004_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_003_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -20147,7 +20131,7 @@ struct wow64_IVROverlay_IVROverlay_004_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_004_GetOverlayName_params +struct IVROverlay_IVROverlay_003_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -20157,7 +20141,7 @@ struct IVROverlay_IVROverlay_004_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_004_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_003_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -20167,7 +20151,7 @@ struct wow64_IVROverlay_IVROverlay_004_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_004_GetOverlayImageData_params +struct IVROverlay_IVROverlay_003_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -20178,7 +20162,7 @@ struct IVROverlay_IVROverlay_004_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_004_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_003_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -20189,21 +20173,21 @@ struct wow64_IVROverlay_IVROverlay_004_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_004_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_003_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_004_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_003_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_004_SetOverlayFlag_params +struct IVROverlay_IVROverlay_003_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -20212,7 +20196,7 @@ struct IVROverlay_IVROverlay_004_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_004_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_003_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -20221,7 +20205,7 @@ struct wow64_IVROverlay_IVROverlay_004_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_004_GetOverlayFlag_params +struct IVROverlay_IVROverlay_003_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -20230,7 +20214,7 @@ struct IVROverlay_IVROverlay_004_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_004_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_003_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -20239,7 +20223,7 @@ struct wow64_IVROverlay_IVROverlay_004_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_004_SetOverlayColor_params +struct IVROverlay_IVROverlay_003_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -20249,7 +20233,7 @@ struct IVROverlay_IVROverlay_004_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_004_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_003_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -20259,7 +20243,7 @@ struct wow64_IVROverlay_IVROverlay_004_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_004_GetOverlayColor_params +struct IVROverlay_IVROverlay_003_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -20269,7 +20253,7 @@ struct IVROverlay_IVROverlay_004_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_004_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_003_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -20279,7 +20263,7 @@ struct wow64_IVROverlay_IVROverlay_004_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_004_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_003_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -20287,7 +20271,7 @@ struct IVROverlay_IVROverlay_004_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_004_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_003_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -20295,7 +20279,7 @@ struct wow64_IVROverlay_IVROverlay_004_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_004_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_003_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -20303,7 +20287,7 @@ struct IVROverlay_IVROverlay_004_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_004_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_003_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -20311,7 +20295,7 @@ struct wow64_IVROverlay_IVROverlay_004_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_004_SetOverlayGamma_params +struct IVROverlay_IVROverlay_003_SetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; @@ -20319,7 +20303,7 @@ struct IVROverlay_IVROverlay_004_SetOverlayGamma_params float fGamma; }; -struct wow64_IVROverlay_IVROverlay_004_SetOverlayGamma_params +struct wow64_IVROverlay_IVROverlay_003_SetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; @@ -20327,7 +20311,7 @@ struct wow64_IVROverlay_IVROverlay_004_SetOverlayGamma_params float fGamma; }; -struct IVROverlay_IVROverlay_004_GetOverlayGamma_params +struct IVROverlay_IVROverlay_003_GetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; @@ -20335,7 +20319,7 @@ struct IVROverlay_IVROverlay_004_GetOverlayGamma_params float *pfGamma; }; -struct wow64_IVROverlay_IVROverlay_004_GetOverlayGamma_params +struct wow64_IVROverlay_IVROverlay_003_GetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; @@ -20343,7 +20327,7 @@ struct wow64_IVROverlay_IVROverlay_004_GetOverlayGamma_params W32_PTR(float *pfGamma, pfGamma, float *); }; -struct IVROverlay_IVROverlay_004_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_003_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -20351,7 +20335,7 @@ struct IVROverlay_IVROverlay_004_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_004_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_003_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -20359,7 +20343,7 @@ struct wow64_IVROverlay_IVROverlay_004_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_004_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_003_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -20367,7 +20351,7 @@ struct IVROverlay_IVROverlay_004_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_004_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_003_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -20375,127 +20359,91 @@ struct wow64_IVROverlay_IVROverlay_004_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_004_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_003_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fMinDistanceInMeters; - float fMaxDistanceInMeters; + const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_004_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_003_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fMinDistanceInMeters; - float fMaxDistanceInMeters; + W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_004_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_003_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float *pfMinDistanceInMeters; - float *pfMaxDistanceInMeters; + VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_004_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_003_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(float *pfMinDistanceInMeters, pfMinDistanceInMeters, float *); - W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); + W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_004_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_003_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - const VRTextureBounds_t *pOverlayTextureBounds; + uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_004_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_003_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); + W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_004_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_003_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - VRTextureBounds_t *pOverlayTextureBounds; + uint32_t eTrackingOrigin; + const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_004_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_003_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); + uint32_t eTrackingOrigin; + W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_004_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_003_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t *peTransformType; + uint32_t *peTrackingOrigin; + HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_004_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_003_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); + W32_PTR(uint32_t *peTrackingOrigin, peTrackingOrigin, uint32_t *); + W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_004_SetOverlayTransformAbsolute_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eTrackingOrigin; - const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; -}; - -struct wow64_IVROverlay_IVROverlay_004_SetOverlayTransformAbsolute_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eTrackingOrigin; - W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); -}; - -struct IVROverlay_IVROverlay_004_GetOverlayTransformAbsolute_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t *peTrackingOrigin; - HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; -}; - -struct wow64_IVROverlay_IVROverlay_004_GetOverlayTransformAbsolute_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(uint32_t *peTrackingOrigin, peTrackingOrigin, uint32_t *); - W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); -}; - -struct IVROverlay_IVROverlay_004_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_003_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -20504,7 +20452,7 @@ struct IVROverlay_IVROverlay_004_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_004_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_003_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -20513,7 +20461,7 @@ struct wow64_IVROverlay_IVROverlay_004_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_004_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_003_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -20522,7 +20470,7 @@ struct IVROverlay_IVROverlay_004_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_004_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_003_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -20531,49 +20479,49 @@ struct wow64_IVROverlay_IVROverlay_004_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_004_ShowOverlay_params +struct IVROverlay_IVROverlay_003_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_004_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_003_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_004_HideOverlay_params +struct IVROverlay_IVROverlay_003_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_004_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_003_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_004_IsOverlayVisible_params +struct IVROverlay_IVROverlay_003_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_004_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_003_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_004_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_003_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -20581,7 +20529,7 @@ struct IVROverlay_IVROverlay_004_PollNextOverlayEvent_params w_VREvent_t_097 *pEvent; }; -struct wow64_IVROverlay_IVROverlay_004_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_003_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -20589,7 +20537,7 @@ struct wow64_IVROverlay_IVROverlay_004_PollNextOverlayEvent_params W32_PTR(w32_VREvent_t_097 *pEvent, pEvent, w32_VREvent_t_097 *); }; -struct IVROverlay_IVROverlay_004_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_003_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -20597,7 +20545,7 @@ struct IVROverlay_IVROverlay_004_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_004_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_003_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -20605,7 +20553,7 @@ struct wow64_IVROverlay_IVROverlay_004_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_004_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_003_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -20613,7 +20561,7 @@ struct IVROverlay_IVROverlay_004_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_004_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_003_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -20621,7 +20569,7 @@ struct wow64_IVROverlay_IVROverlay_004_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_004_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_003_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -20629,7 +20577,7 @@ struct IVROverlay_IVROverlay_004_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_004_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_003_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -20637,7 +20585,7 @@ struct wow64_IVROverlay_IVROverlay_004_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_004_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_003_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -20645,7 +20593,7 @@ struct IVROverlay_IVROverlay_004_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_004_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_003_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -20653,7 +20601,7 @@ struct wow64_IVROverlay_IVROverlay_004_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_004_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_003_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -20662,7 +20610,7 @@ struct IVROverlay_IVROverlay_004_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_004_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_003_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -20671,7 +20619,7 @@ struct wow64_IVROverlay_IVROverlay_004_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_004_HandleControllerOverlayInteractionAsMouse_params +struct IVROverlay_IVROverlay_003_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -20679,7 +20627,7 @@ struct IVROverlay_IVROverlay_004_HandleControllerOverlayInteractionAsMouse_param uint32_t unControllerDeviceIndex; }; -struct wow64_IVROverlay_IVROverlay_004_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVROverlay_IVROverlay_003_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -20687,7 +20635,7 @@ struct wow64_IVROverlay_IVROverlay_004_HandleControllerOverlayInteractionAsMouse uint32_t unControllerDeviceIndex; }; -struct IVROverlay_IVROverlay_004_SetOverlayTexture_params +struct IVROverlay_IVROverlay_003_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -20696,7 +20644,7 @@ struct IVROverlay_IVROverlay_004_SetOverlayTexture_params void *pTexture; }; -struct wow64_IVROverlay_IVROverlay_004_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_003_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -20705,21 +20653,21 @@ struct wow64_IVROverlay_IVROverlay_004_SetOverlayTexture_params W32_PTR(void *pTexture, pTexture, void *); }; -struct IVROverlay_IVROverlay_004_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_003_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_004_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_003_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_004_SetOverlayRaw_params +struct IVROverlay_IVROverlay_003_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -20730,7 +20678,7 @@ struct IVROverlay_IVROverlay_004_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_004_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_003_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -20741,7 +20689,7 @@ struct wow64_IVROverlay_IVROverlay_004_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_004_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_003_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -20749,7 +20697,7 @@ struct IVROverlay_IVROverlay_004_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_004_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_003_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -20757,7 +20705,7 @@ struct wow64_IVROverlay_IVROverlay_004_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_004_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_003_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -20767,7 +20715,7 @@ struct IVROverlay_IVROverlay_004_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_004_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_003_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -20777,33 +20725,33 @@ struct wow64_IVROverlay_IVROverlay_004_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_004_IsDashboardVisible_params +struct IVROverlay_IVROverlay_003_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_004_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_003_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_004_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_003_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_004_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_003_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_004_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_003_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -20811,7 +20759,7 @@ struct IVROverlay_IVROverlay_004_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_004_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_003_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -20819,7 +20767,7 @@ struct wow64_IVROverlay_IVROverlay_004_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_004_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_003_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -20827,7 +20775,7 @@ struct IVROverlay_IVROverlay_004_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_004_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_003_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -20835,19 +20783,19 @@ struct wow64_IVROverlay_IVROverlay_004_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_004_ShowDashboard_params +struct IVROverlay_IVROverlay_003_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_004_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_003_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_005_FindOverlay_params +struct IVROverlay_IVROverlay_004_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -20855,7 +20803,7 @@ struct IVROverlay_IVROverlay_005_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_005_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_004_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -20863,7 +20811,7 @@ struct wow64_IVROverlay_IVROverlay_005_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_005_CreateOverlay_params +struct IVROverlay_IVROverlay_004_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -20872,7 +20820,7 @@ struct IVROverlay_IVROverlay_005_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_005_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_004_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -20881,47 +20829,47 @@ struct wow64_IVROverlay_IVROverlay_005_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_005_DestroyOverlay_params +struct IVROverlay_IVROverlay_004_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_005_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_004_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_005_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_004_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_005_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_004_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_005_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_004_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_005_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_004_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_005_GetOverlayKey_params +struct IVROverlay_IVROverlay_004_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -20931,7 +20879,7 @@ struct IVROverlay_IVROverlay_005_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_005_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_004_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -20941,7 +20889,7 @@ struct wow64_IVROverlay_IVROverlay_005_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_005_GetOverlayName_params +struct IVROverlay_IVROverlay_004_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -20951,7 +20899,7 @@ struct IVROverlay_IVROverlay_005_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_005_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_004_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -20961,7 +20909,7 @@ struct wow64_IVROverlay_IVROverlay_005_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_005_GetOverlayImageData_params +struct IVROverlay_IVROverlay_004_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -20972,7 +20920,7 @@ struct IVROverlay_IVROverlay_005_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_005_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_004_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -20983,21 +20931,21 @@ struct wow64_IVROverlay_IVROverlay_005_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_005_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_004_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_005_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_004_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_005_SetOverlayFlag_params +struct IVROverlay_IVROverlay_004_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -21006,7 +20954,7 @@ struct IVROverlay_IVROverlay_005_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_005_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_004_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -21015,7 +20963,7 @@ struct wow64_IVROverlay_IVROverlay_005_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_005_GetOverlayFlag_params +struct IVROverlay_IVROverlay_004_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -21024,7 +20972,7 @@ struct IVROverlay_IVROverlay_005_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_005_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_004_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -21033,7 +20981,7 @@ struct wow64_IVROverlay_IVROverlay_005_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_005_SetOverlayColor_params +struct IVROverlay_IVROverlay_004_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -21043,7 +20991,7 @@ struct IVROverlay_IVROverlay_005_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_005_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_004_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -21053,7 +21001,7 @@ struct wow64_IVROverlay_IVROverlay_005_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_005_GetOverlayColor_params +struct IVROverlay_IVROverlay_004_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -21063,7 +21011,7 @@ struct IVROverlay_IVROverlay_005_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_005_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_004_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -21073,7 +21021,7 @@ struct wow64_IVROverlay_IVROverlay_005_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_005_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_004_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -21081,7 +21029,7 @@ struct IVROverlay_IVROverlay_005_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_005_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_004_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -21089,7 +21037,7 @@ struct wow64_IVROverlay_IVROverlay_005_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_005_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_004_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -21097,7 +21045,7 @@ struct IVROverlay_IVROverlay_005_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_005_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_004_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -21105,7 +21053,7 @@ struct wow64_IVROverlay_IVROverlay_005_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_005_SetOverlayGamma_params +struct IVROverlay_IVROverlay_004_SetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; @@ -21113,7 +21061,7 @@ struct IVROverlay_IVROverlay_005_SetOverlayGamma_params float fGamma; }; -struct wow64_IVROverlay_IVROverlay_005_SetOverlayGamma_params +struct wow64_IVROverlay_IVROverlay_004_SetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; @@ -21121,7 +21069,7 @@ struct wow64_IVROverlay_IVROverlay_005_SetOverlayGamma_params float fGamma; }; -struct IVROverlay_IVROverlay_005_GetOverlayGamma_params +struct IVROverlay_IVROverlay_004_GetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; @@ -21129,7 +21077,7 @@ struct IVROverlay_IVROverlay_005_GetOverlayGamma_params float *pfGamma; }; -struct wow64_IVROverlay_IVROverlay_005_GetOverlayGamma_params +struct wow64_IVROverlay_IVROverlay_004_GetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; @@ -21137,7 +21085,7 @@ struct wow64_IVROverlay_IVROverlay_005_GetOverlayGamma_params W32_PTR(float *pfGamma, pfGamma, float *); }; -struct IVROverlay_IVROverlay_005_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_004_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -21145,7 +21093,7 @@ struct IVROverlay_IVROverlay_005_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_005_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_004_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -21153,7 +21101,7 @@ struct wow64_IVROverlay_IVROverlay_005_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_005_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_004_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -21161,7 +21109,7 @@ struct IVROverlay_IVROverlay_005_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_005_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_004_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -21169,7 +21117,7 @@ struct wow64_IVROverlay_IVROverlay_005_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_005_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_004_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -21178,7 +21126,7 @@ struct IVROverlay_IVROverlay_005_SetOverlayAutoCurveDistanceRangeInMeters_params float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_005_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_004_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -21187,7 +21135,7 @@ struct wow64_IVROverlay_IVROverlay_005_SetOverlayAutoCurveDistanceRangeInMeters_ float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_005_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_004_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -21196,7 +21144,7 @@ struct IVROverlay_IVROverlay_005_GetOverlayAutoCurveDistanceRangeInMeters_params float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_005_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_004_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -21205,7 +21153,7 @@ struct wow64_IVROverlay_IVROverlay_005_GetOverlayAutoCurveDistanceRangeInMeters_ W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_005_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_004_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -21213,7 +21161,7 @@ struct IVROverlay_IVROverlay_005_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_005_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_004_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -21221,7 +21169,7 @@ struct wow64_IVROverlay_IVROverlay_005_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_005_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_004_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -21229,7 +21177,7 @@ struct IVROverlay_IVROverlay_005_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_005_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_004_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -21237,7 +21185,7 @@ struct wow64_IVROverlay_IVROverlay_005_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_005_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_004_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -21245,7 +21193,7 @@ struct IVROverlay_IVROverlay_005_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_005_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_004_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -21253,7 +21201,7 @@ struct wow64_IVROverlay_IVROverlay_005_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_005_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_004_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -21262,7 +21210,7 @@ struct IVROverlay_IVROverlay_005_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_005_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_004_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -21271,7 +21219,7 @@ struct wow64_IVROverlay_IVROverlay_005_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_005_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_004_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -21280,7 +21228,7 @@ struct IVROverlay_IVROverlay_005_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_005_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_004_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -21289,7 +21237,7 @@ struct wow64_IVROverlay_IVROverlay_005_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_005_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_004_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -21298,7 +21246,7 @@ struct IVROverlay_IVROverlay_005_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_005_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_004_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -21307,7 +21255,7 @@ struct wow64_IVROverlay_IVROverlay_005_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_005_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_004_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -21316,7 +21264,7 @@ struct IVROverlay_IVROverlay_005_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_005_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_004_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -21325,65 +21273,65 @@ struct wow64_IVROverlay_IVROverlay_005_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_005_ShowOverlay_params +struct IVROverlay_IVROverlay_004_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_005_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_004_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_005_HideOverlay_params +struct IVROverlay_IVROverlay_004_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_005_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_004_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_005_IsOverlayVisible_params +struct IVROverlay_IVROverlay_004_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_005_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_004_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_005_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_004_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_0910 *pEvent; + w_VREvent_t_097 *pEvent; }; -struct wow64_IVROverlay_IVROverlay_005_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_004_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_0910 *pEvent, pEvent, w32_VREvent_t_0910 *); + W32_PTR(w32_VREvent_t_097 *pEvent, pEvent, w32_VREvent_t_097 *); }; -struct IVROverlay_IVROverlay_005_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_004_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -21391,7 +21339,7 @@ struct IVROverlay_IVROverlay_005_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_005_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_004_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -21399,7 +21347,7 @@ struct wow64_IVROverlay_IVROverlay_005_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_005_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_004_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -21407,7 +21355,7 @@ struct IVROverlay_IVROverlay_005_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_005_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_004_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -21415,7 +21363,7 @@ struct wow64_IVROverlay_IVROverlay_005_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_005_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_004_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -21423,7 +21371,7 @@ struct IVROverlay_IVROverlay_005_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_005_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_004_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -21431,7 +21379,7 @@ struct wow64_IVROverlay_IVROverlay_005_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_005_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_004_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -21439,7 +21387,7 @@ struct IVROverlay_IVROverlay_005_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_005_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_004_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -21447,7 +21395,7 @@ struct wow64_IVROverlay_IVROverlay_005_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_005_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_004_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -21456,7 +21404,7 @@ struct IVROverlay_IVROverlay_005_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_005_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_004_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -21465,7 +21413,7 @@ struct wow64_IVROverlay_IVROverlay_005_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_005_HandleControllerOverlayInteractionAsMouse_params +struct IVROverlay_IVROverlay_004_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -21473,7 +21421,7 @@ struct IVROverlay_IVROverlay_005_HandleControllerOverlayInteractionAsMouse_param uint32_t unControllerDeviceIndex; }; -struct wow64_IVROverlay_IVROverlay_005_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVROverlay_IVROverlay_004_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -21481,21 +21429,7 @@ struct wow64_IVROverlay_IVROverlay_005_HandleControllerOverlayInteractionAsMouse uint32_t unControllerDeviceIndex; }; -struct IVROverlay_IVROverlay_005_IsFocusOverlay_params -{ - struct u_iface u_iface; - int8_t _ret; - uint64_t ulOverlayHandle; -}; - -struct wow64_IVROverlay_IVROverlay_005_IsFocusOverlay_params -{ - struct u_iface u_iface; - int8_t _ret; - uint64_t ulOverlayHandle; -}; - -struct IVROverlay_IVROverlay_005_SetOverlayTexture_params +struct IVROverlay_IVROverlay_004_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -21504,7 +21438,7 @@ struct IVROverlay_IVROverlay_005_SetOverlayTexture_params void *pTexture; }; -struct wow64_IVROverlay_IVROverlay_005_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_004_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -21513,21 +21447,21 @@ struct wow64_IVROverlay_IVROverlay_005_SetOverlayTexture_params W32_PTR(void *pTexture, pTexture, void *); }; -struct IVROverlay_IVROverlay_005_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_004_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_005_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_004_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_005_SetOverlayRaw_params +struct IVROverlay_IVROverlay_004_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -21538,7 +21472,7 @@ struct IVROverlay_IVROverlay_005_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_005_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_004_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -21549,7 +21483,7 @@ struct wow64_IVROverlay_IVROverlay_005_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_005_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_004_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -21557,7 +21491,7 @@ struct IVROverlay_IVROverlay_005_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_005_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_004_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -21565,7 +21499,7 @@ struct wow64_IVROverlay_IVROverlay_005_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_005_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_004_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -21575,7 +21509,7 @@ struct IVROverlay_IVROverlay_005_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_005_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_004_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -21585,33 +21519,33 @@ struct wow64_IVROverlay_IVROverlay_005_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_005_IsDashboardVisible_params +struct IVROverlay_IVROverlay_004_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_005_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_004_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_005_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_004_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_005_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_004_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_005_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_004_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -21619,7 +21553,7 @@ struct IVROverlay_IVROverlay_005_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_005_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_004_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -21627,7 +21561,7 @@ struct wow64_IVROverlay_IVROverlay_005_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_005_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_004_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -21635,7 +21569,7 @@ struct IVROverlay_IVROverlay_005_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_005_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_004_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -21643,69 +21577,19 @@ struct wow64_IVROverlay_IVROverlay_005_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_005_ShowDashboard_params +struct IVROverlay_IVROverlay_004_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_005_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_004_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_005_ShowKeyboard_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint32_t eInputMode; - uint32_t eLineInputMode; - const char *pchDescription; - uint32_t unCharMax; - const char *pchExistingText; - int8_t bUseMinimalMode; -}; - -struct wow64_IVROverlay_IVROverlay_005_ShowKeyboard_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint32_t eInputMode; - uint32_t eLineInputMode; - W32_PTR(const char *pchDescription, pchDescription, const char *); - uint32_t unCharMax; - W32_PTR(const char *pchExistingText, pchExistingText, const char *); - int8_t bUseMinimalMode; -}; - -struct IVROverlay_IVROverlay_005_GetKeyboardText_params -{ - struct u_iface u_iface; - uint32_t _ret; - char *pchText; - uint32_t cchText; -}; - -struct wow64_IVROverlay_IVROverlay_005_GetKeyboardText_params -{ - struct u_iface u_iface; - uint32_t _ret; - W32_PTR(char *pchText, pchText, char *); - uint32_t cchText; -}; - -struct IVROverlay_IVROverlay_005_HideKeyboard_params -{ - struct u_iface u_iface; -}; - -struct wow64_IVROverlay_IVROverlay_005_HideKeyboard_params -{ - struct u_iface u_iface; -}; - -struct IVROverlay_IVROverlay_007_FindOverlay_params +struct IVROverlay_IVROverlay_005_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -21713,7 +21597,7 @@ struct IVROverlay_IVROverlay_007_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_007_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_005_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -21721,7 +21605,7 @@ struct wow64_IVROverlay_IVROverlay_007_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_007_CreateOverlay_params +struct IVROverlay_IVROverlay_005_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -21730,7 +21614,7 @@ struct IVROverlay_IVROverlay_007_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_007_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_005_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -21739,47 +21623,47 @@ struct wow64_IVROverlay_IVROverlay_007_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_007_DestroyOverlay_params +struct IVROverlay_IVROverlay_005_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_007_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_005_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_007_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_005_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_007_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_005_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_007_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_005_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_007_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_005_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_007_GetOverlayKey_params +struct IVROverlay_IVROverlay_005_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -21789,7 +21673,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_005_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -21799,7 +21683,7 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_007_GetOverlayName_params +struct IVROverlay_IVROverlay_005_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -21809,7 +21693,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_005_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -21819,7 +21703,7 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_007_GetOverlayImageData_params +struct IVROverlay_IVROverlay_005_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -21830,7 +21714,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_005_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -21841,21 +21725,21 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_007_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_005_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_005_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_007_SetOverlayFlag_params +struct IVROverlay_IVROverlay_005_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -21864,7 +21748,7 @@ struct IVROverlay_IVROverlay_007_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_005_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -21873,7 +21757,7 @@ struct wow64_IVROverlay_IVROverlay_007_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_007_GetOverlayFlag_params +struct IVROverlay_IVROverlay_005_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -21882,7 +21766,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_005_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -21891,7 +21775,7 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_007_SetOverlayColor_params +struct IVROverlay_IVROverlay_005_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -21901,7 +21785,7 @@ struct IVROverlay_IVROverlay_007_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_005_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -21911,7 +21795,7 @@ struct wow64_IVROverlay_IVROverlay_007_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_007_GetOverlayColor_params +struct IVROverlay_IVROverlay_005_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -21921,7 +21805,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_005_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -21931,7 +21815,7 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_007_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_005_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -21939,7 +21823,7 @@ struct IVROverlay_IVROverlay_007_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_005_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -21947,7 +21831,7 @@ struct wow64_IVROverlay_IVROverlay_007_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_007_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_005_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -21955,7 +21839,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_005_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -21963,107 +21847,107 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_007_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_005_SetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fWidthInMeters; + float fGamma; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_005_SetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fWidthInMeters; + float fGamma; }; -struct IVROverlay_IVROverlay_007_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_005_GetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float *pfWidthInMeters; + float *pfGamma; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_005_GetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); + W32_PTR(float *pfGamma, pfGamma, float *); }; -struct IVROverlay_IVROverlay_007_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_005_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fMinDistanceInMeters; - float fMaxDistanceInMeters; + float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_005_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fMinDistanceInMeters; - float fMaxDistanceInMeters; + float fWidthInMeters; }; -struct IVROverlay_IVROverlay_007_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_005_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float *pfMinDistanceInMeters; - float *pfMaxDistanceInMeters; + float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_005_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(float *pfMinDistanceInMeters, pfMinDistanceInMeters, float *); - W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); + W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_007_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_005_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t eTextureColorSpace; + float fMinDistanceInMeters; + float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_005_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t eTextureColorSpace; + float fMinDistanceInMeters; + float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_007_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_005_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t *peTextureColorSpace; + float *pfMinDistanceInMeters; + float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_005_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); + W32_PTR(float *pfMinDistanceInMeters, pfMinDistanceInMeters, float *); + W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_007_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_005_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -22071,7 +21955,7 @@ struct IVROverlay_IVROverlay_007_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_005_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -22079,7 +21963,7 @@ struct wow64_IVROverlay_IVROverlay_007_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_007_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_005_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -22087,7 +21971,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_005_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -22095,7 +21979,7 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_007_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_005_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -22103,7 +21987,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_005_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -22111,7 +21995,7 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_007_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_005_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -22120,7 +22004,7 @@ struct IVROverlay_IVROverlay_007_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_005_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -22129,7 +22013,7 @@ struct wow64_IVROverlay_IVROverlay_007_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_007_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_005_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -22138,7 +22022,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_005_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -22147,7 +22031,7 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_007_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_005_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -22156,7 +22040,7 @@ struct IVROverlay_IVROverlay_007_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_005_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -22165,7 +22049,7 @@ struct wow64_IVROverlay_IVROverlay_007_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_007_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_005_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -22174,7 +22058,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_005_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -22183,65 +22067,65 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_007_ShowOverlay_params +struct IVROverlay_IVROverlay_005_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_007_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_005_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_007_HideOverlay_params +struct IVROverlay_IVROverlay_005_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_007_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_005_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_007_IsOverlayVisible_params +struct IVROverlay_IVROverlay_005_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_007_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_005_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_007_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_005_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_0912 *pEvent; + w_VREvent_t_0910 *pEvent; }; -struct wow64_IVROverlay_IVROverlay_007_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_005_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_0912 *pEvent, pEvent, w32_VREvent_t_0912 *); + W32_PTR(w32_VREvent_t_0910 *pEvent, pEvent, w32_VREvent_t_0910 *); }; -struct IVROverlay_IVROverlay_007_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_005_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -22249,7 +22133,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_005_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -22257,7 +22141,7 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_007_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_005_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -22265,7 +22149,7 @@ struct IVROverlay_IVROverlay_007_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_005_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -22273,7 +22157,7 @@ struct wow64_IVROverlay_IVROverlay_007_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_007_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_005_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -22281,7 +22165,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_005_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -22289,7 +22173,7 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_007_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_005_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -22297,7 +22181,7 @@ struct IVROverlay_IVROverlay_007_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_005_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -22305,7 +22189,7 @@ struct wow64_IVROverlay_IVROverlay_007_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_007_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_005_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -22314,7 +22198,7 @@ struct IVROverlay_IVROverlay_007_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_007_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_005_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -22323,7 +22207,7 @@ struct wow64_IVROverlay_IVROverlay_007_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_007_HandleControllerOverlayInteractionAsMouse_params +struct IVROverlay_IVROverlay_005_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -22331,7 +22215,7 @@ struct IVROverlay_IVROverlay_007_HandleControllerOverlayInteractionAsMouse_param uint32_t unControllerDeviceIndex; }; -struct wow64_IVROverlay_IVROverlay_007_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVROverlay_IVROverlay_005_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -22339,111 +22223,53 @@ struct wow64_IVROverlay_IVROverlay_007_HandleControllerOverlayInteractionAsMouse uint32_t unControllerDeviceIndex; }; -struct IVROverlay_IVROverlay_007_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_005_IsFocusOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_007_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_005_IsFocusOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_007_GetGamepadFocusOverlay_params -{ - struct u_iface u_iface; - uint64_t _ret; -}; - -struct wow64_IVROverlay_IVROverlay_007_GetGamepadFocusOverlay_params -{ - struct u_iface u_iface; - uint64_t _ret; -}; - -struct IVROverlay_IVROverlay_007_SetGamepadFocusOverlay_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulNewFocusOverlay; -}; - -struct wow64_IVROverlay_IVROverlay_007_SetGamepadFocusOverlay_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulNewFocusOverlay; -}; - -struct IVROverlay_IVROverlay_007_SetOverlayNeighbor_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint32_t eDirection; - uint64_t ulFrom; - uint64_t ulTo; -}; - -struct wow64_IVROverlay_IVROverlay_007_SetOverlayNeighbor_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint32_t eDirection; - uint64_t ulFrom; - uint64_t ulTo; -}; - -struct IVROverlay_IVROverlay_007_MoveGamepadFocusToNeighbor_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint32_t eDirection; - uint64_t ulFrom; -}; - -struct wow64_IVROverlay_IVROverlay_007_MoveGamepadFocusToNeighbor_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint32_t eDirection; - uint64_t ulFrom; -}; - -struct IVROverlay_IVROverlay_007_SetOverlayTexture_params +struct IVROverlay_IVROverlay_005_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - const w_Texture_t *pTexture; + uint32_t eTextureType; + void *pTexture; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_005_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); + uint32_t eTextureType; + W32_PTR(void *pTexture, pTexture, void *); }; -struct IVROverlay_IVROverlay_007_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_005_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_007_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_005_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_007_SetOverlayRaw_params +struct IVROverlay_IVROverlay_005_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -22454,7 +22280,7 @@ struct IVROverlay_IVROverlay_007_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_005_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -22465,7 +22291,7 @@ struct wow64_IVROverlay_IVROverlay_007_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_007_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_005_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -22473,7 +22299,7 @@ struct IVROverlay_IVROverlay_007_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_005_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -22481,7 +22307,7 @@ struct wow64_IVROverlay_IVROverlay_007_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_007_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_005_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -22491,7 +22317,7 @@ struct IVROverlay_IVROverlay_007_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_007_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_005_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -22501,33 +22327,33 @@ struct wow64_IVROverlay_IVROverlay_007_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_007_IsDashboardVisible_params +struct IVROverlay_IVROverlay_005_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_007_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_005_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_007_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_005_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_007_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_005_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_007_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_005_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -22535,7 +22361,7 @@ struct IVROverlay_IVROverlay_007_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_007_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_005_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -22543,7 +22369,7 @@ struct wow64_IVROverlay_IVROverlay_007_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_007_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_005_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -22551,7 +22377,7 @@ struct IVROverlay_IVROverlay_007_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_007_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_005_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -22559,73 +22385,43 @@ struct wow64_IVROverlay_IVROverlay_007_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_007_ShowDashboard_params +struct IVROverlay_IVROverlay_005_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_007_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_005_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_007_ShowKeyboard_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint32_t eInputMode; - uint32_t eLineInputMode; - const char *pchDescription; - uint32_t unCharMax; - const char *pchExistingText; - int8_t bUseMinimalMode; - uint64_t uUserValue; -}; - -struct wow64_IVROverlay_IVROverlay_007_ShowKeyboard_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint32_t eInputMode; - uint32_t eLineInputMode; - W32_PTR(const char *pchDescription, pchDescription, const char *); - uint32_t unCharMax; - W32_PTR(const char *pchExistingText, pchExistingText, const char *); - int8_t bUseMinimalMode; - uint64_t uUserValue; -}; - -struct IVROverlay_IVROverlay_007_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_005_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; uint32_t eInputMode; uint32_t eLineInputMode; const char *pchDescription; uint32_t unCharMax; const char *pchExistingText; int8_t bUseMinimalMode; - uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_007_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_005_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; uint32_t eInputMode; uint32_t eLineInputMode; W32_PTR(const char *pchDescription, pchDescription, const char *); uint32_t unCharMax; W32_PTR(const char *pchExistingText, pchExistingText, const char *); int8_t bUseMinimalMode; - uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_007_GetKeyboardText_params +struct IVROverlay_IVROverlay_005_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -22633,7 +22429,7 @@ struct IVROverlay_IVROverlay_007_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_007_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_005_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -22641,17 +22437,17 @@ struct wow64_IVROverlay_IVROverlay_007_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_007_HideKeyboard_params +struct IVROverlay_IVROverlay_005_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_007_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_005_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_008_FindOverlay_params +struct IVROverlay_IVROverlay_007_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -22659,7 +22455,7 @@ struct IVROverlay_IVROverlay_008_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_008_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_007_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -22667,7 +22463,7 @@ struct wow64_IVROverlay_IVROverlay_008_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_008_CreateOverlay_params +struct IVROverlay_IVROverlay_007_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -22676,7 +22472,7 @@ struct IVROverlay_IVROverlay_008_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_008_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_007_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -22685,47 +22481,47 @@ struct wow64_IVROverlay_IVROverlay_008_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_008_DestroyOverlay_params +struct IVROverlay_IVROverlay_007_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_008_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_007_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_008_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_007_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_008_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_007_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_008_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_007_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_008_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_007_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_008_GetOverlayKey_params +struct IVROverlay_IVROverlay_007_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -22735,7 +22531,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -22745,7 +22541,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_008_GetOverlayName_params +struct IVROverlay_IVROverlay_007_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -22755,7 +22551,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -22765,7 +22561,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_008_GetOverlayImageData_params +struct IVROverlay_IVROverlay_007_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -22776,7 +22572,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -22787,21 +22583,21 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_008_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_007_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_008_SetOverlayFlag_params +struct IVROverlay_IVROverlay_007_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -22810,7 +22606,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -22819,7 +22615,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_008_GetOverlayFlag_params +struct IVROverlay_IVROverlay_007_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -22828,7 +22624,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -22837,7 +22633,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_008_SetOverlayColor_params +struct IVROverlay_IVROverlay_007_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -22847,7 +22643,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -22857,7 +22653,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_008_GetOverlayColor_params +struct IVROverlay_IVROverlay_007_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -22867,7 +22663,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -22877,7 +22673,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_008_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_007_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -22885,7 +22681,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -22893,7 +22689,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_008_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_007_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -22901,7 +22697,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -22909,7 +22705,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_008_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_007_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -22917,7 +22713,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -22925,7 +22721,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_008_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_007_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -22933,7 +22729,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -22941,7 +22737,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_008_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_007_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -22950,7 +22746,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayAutoCurveDistanceRangeInMeters_params float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -22959,7 +22755,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayAutoCurveDistanceRangeInMeters_ float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_008_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_007_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -22968,7 +22764,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayAutoCurveDistanceRangeInMeters_params float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -22977,7 +22773,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayAutoCurveDistanceRangeInMeters_ W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_008_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_007_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -22985,7 +22781,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -22993,7 +22789,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_008_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_007_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -23001,7 +22797,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -23009,7 +22805,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_008_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_007_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -23017,7 +22813,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -23025,7 +22821,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_008_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_007_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -23033,7 +22829,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -23041,7 +22837,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_008_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_007_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -23049,7 +22845,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -23057,7 +22853,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_008_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_007_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -23066,7 +22862,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -23075,7 +22871,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_008_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_007_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -23084,7 +22880,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -23093,7 +22889,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_008_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_007_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -23102,7 +22898,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -23111,7 +22907,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_008_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_007_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -23120,7 +22916,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -23129,85 +22925,65 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_008_ShowOverlay_params +struct IVROverlay_IVROverlay_007_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_008_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_007_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_008_HideOverlay_params +struct IVROverlay_IVROverlay_007_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_008_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_007_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_008_IsOverlayVisible_params +struct IVROverlay_IVROverlay_007_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_008_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_007_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_008_GetTransformForOverlayCoordinates_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eTrackingOrigin; - HmdVector2_t coordinatesInOverlay; - HmdMatrix34_t *pmatTransform; -}; - -struct wow64_IVROverlay_IVROverlay_008_GetTransformForOverlayCoordinates_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eTrackingOrigin; - HmdVector2_t coordinatesInOverlay; - W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); -}; - -struct IVROverlay_IVROverlay_008_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_007_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_0914 *pEvent; + w_VREvent_t_0912 *pEvent; }; -struct wow64_IVROverlay_IVROverlay_008_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_007_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_0914 *pEvent, pEvent, w32_VREvent_t_0914 *); + W32_PTR(w32_VREvent_t_0912 *pEvent, pEvent, w32_VREvent_t_0912 *); }; -struct IVROverlay_IVROverlay_008_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_007_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -23215,7 +22991,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -23223,7 +22999,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_008_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_007_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -23231,7 +23007,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -23239,7 +23015,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_008_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_007_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -23247,7 +23023,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -23255,7 +23031,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_008_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_007_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -23263,7 +23039,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -23271,7 +23047,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_008_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_007_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -23280,7 +23056,7 @@ struct IVROverlay_IVROverlay_008_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_008_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_007_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -23289,7 +23065,7 @@ struct wow64_IVROverlay_IVROverlay_008_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_008_HandleControllerOverlayInteractionAsMouse_params +struct IVROverlay_IVROverlay_007_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -23297,7 +23073,7 @@ struct IVROverlay_IVROverlay_008_HandleControllerOverlayInteractionAsMouse_param uint32_t unControllerDeviceIndex; }; -struct wow64_IVROverlay_IVROverlay_008_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVROverlay_IVROverlay_007_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -23305,47 +23081,47 @@ struct wow64_IVROverlay_IVROverlay_008_HandleControllerOverlayInteractionAsMouse uint32_t unControllerDeviceIndex; }; -struct IVROverlay_IVROverlay_008_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_007_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_008_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_007_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_008_GetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_007_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_008_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_007_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_008_SetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_007_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct wow64_IVROverlay_IVROverlay_008_SetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_007_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct IVROverlay_IVROverlay_008_SetOverlayNeighbor_params +struct IVROverlay_IVROverlay_007_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -23354,7 +23130,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayNeighbor_params uint64_t ulTo; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayNeighbor_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -23363,7 +23139,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayNeighbor_params uint64_t ulTo; }; -struct IVROverlay_IVROverlay_008_MoveGamepadFocusToNeighbor_params +struct IVROverlay_IVROverlay_007_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -23371,7 +23147,7 @@ struct IVROverlay_IVROverlay_008_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct wow64_IVROverlay_IVROverlay_008_MoveGamepadFocusToNeighbor_params +struct wow64_IVROverlay_IVROverlay_007_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -23379,7 +23155,7 @@ struct wow64_IVROverlay_IVROverlay_008_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct IVROverlay_IVROverlay_008_SetOverlayTexture_params +struct IVROverlay_IVROverlay_007_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -23387,7 +23163,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -23395,21 +23171,21 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_008_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_007_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_008_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_007_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_008_SetOverlayRaw_params +struct IVROverlay_IVROverlay_007_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -23420,7 +23196,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -23431,7 +23207,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_008_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_007_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -23439,7 +23215,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -23447,7 +23223,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_008_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_007_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -23457,7 +23233,7 @@ struct IVROverlay_IVROverlay_008_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_008_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_007_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -23467,33 +23243,33 @@ struct wow64_IVROverlay_IVROverlay_008_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_008_IsDashboardVisible_params +struct IVROverlay_IVROverlay_007_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_008_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_007_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_008_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_007_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_008_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_007_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_008_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_007_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -23501,7 +23277,7 @@ struct IVROverlay_IVROverlay_008_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_008_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_007_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -23509,7 +23285,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_008_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_007_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -23517,7 +23293,7 @@ struct IVROverlay_IVROverlay_008_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_008_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_007_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -23525,19 +23301,19 @@ struct wow64_IVROverlay_IVROverlay_008_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_008_ShowDashboard_params +struct IVROverlay_IVROverlay_007_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_008_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_007_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_008_ShowKeyboard_params +struct IVROverlay_IVROverlay_007_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -23550,7 +23326,7 @@ struct IVROverlay_IVROverlay_008_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_008_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_007_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -23563,7 +23339,7 @@ struct wow64_IVROverlay_IVROverlay_008_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_008_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_007_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -23577,7 +23353,7 @@ struct IVROverlay_IVROverlay_008_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_008_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_007_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -23591,7 +23367,7 @@ struct wow64_IVROverlay_IVROverlay_008_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_008_GetKeyboardText_params +struct IVROverlay_IVROverlay_007_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -23599,7 +23375,7 @@ struct IVROverlay_IVROverlay_008_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_008_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_007_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -23607,45 +23383,17 @@ struct wow64_IVROverlay_IVROverlay_008_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_008_HideKeyboard_params -{ - struct u_iface u_iface; -}; - -struct wow64_IVROverlay_IVROverlay_008_HideKeyboard_params -{ - struct u_iface u_iface; -}; - -struct IVROverlay_IVROverlay_008_SetKeyboardTransformAbsolute_params -{ - struct u_iface u_iface; - uint32_t eTrackingOrigin; - const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; -}; - -struct wow64_IVROverlay_IVROverlay_008_SetKeyboardTransformAbsolute_params -{ - struct u_iface u_iface; - uint32_t eTrackingOrigin; - W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); -}; - -struct IVROverlay_IVROverlay_008_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_007_HideKeyboard_params { struct u_iface u_iface; - uint64_t ulOverlayHandle; - HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_008_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_007_HideKeyboard_params { struct u_iface u_iface; - uint64_t ulOverlayHandle; - HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_010_FindOverlay_params +struct IVROverlay_IVROverlay_008_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -23653,7 +23401,7 @@ struct IVROverlay_IVROverlay_010_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_010_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_008_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -23661,7 +23409,7 @@ struct wow64_IVROverlay_IVROverlay_010_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_010_CreateOverlay_params +struct IVROverlay_IVROverlay_008_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -23670,7 +23418,7 @@ struct IVROverlay_IVROverlay_010_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_010_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_008_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -23679,47 +23427,47 @@ struct wow64_IVROverlay_IVROverlay_010_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_010_DestroyOverlay_params +struct IVROverlay_IVROverlay_008_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_010_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_008_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_010_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_008_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_010_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_008_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_010_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_008_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_010_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_008_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_010_GetOverlayKey_params +struct IVROverlay_IVROverlay_008_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -23729,7 +23477,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -23739,7 +23487,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_010_GetOverlayName_params +struct IVROverlay_IVROverlay_008_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -23749,7 +23497,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -23759,7 +23507,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_010_GetOverlayImageData_params +struct IVROverlay_IVROverlay_008_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -23770,7 +23518,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -23781,21 +23529,21 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_010_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_008_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_010_SetOverlayFlag_params +struct IVROverlay_IVROverlay_008_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -23804,7 +23552,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -23813,7 +23561,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_010_GetOverlayFlag_params +struct IVROverlay_IVROverlay_008_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -23822,7 +23570,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -23831,7 +23579,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_010_SetOverlayColor_params +struct IVROverlay_IVROverlay_008_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -23841,7 +23589,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -23851,7 +23599,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_010_GetOverlayColor_params +struct IVROverlay_IVROverlay_008_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -23861,7 +23609,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -23871,7 +23619,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_010_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_008_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -23879,7 +23627,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -23887,7 +23635,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_010_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_008_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -23895,7 +23643,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -23903,7 +23651,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_010_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_008_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -23911,7 +23659,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -23919,7 +23667,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_010_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_008_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -23927,7 +23675,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -23935,7 +23683,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_010_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_008_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -23944,7 +23692,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayAutoCurveDistanceRangeInMeters_params float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -23953,7 +23701,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayAutoCurveDistanceRangeInMeters_ float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_010_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_008_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -23962,7 +23710,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayAutoCurveDistanceRangeInMeters_params float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -23971,7 +23719,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayAutoCurveDistanceRangeInMeters_ W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_010_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_008_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -23979,7 +23727,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -23987,7 +23735,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_010_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_008_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -23995,7 +23743,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -24003,7 +23751,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_010_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_008_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -24011,7 +23759,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -24019,7 +23767,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_010_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_008_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -24027,7 +23775,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -24035,7 +23783,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_010_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_008_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -24043,7 +23791,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -24051,7 +23799,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_010_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_008_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -24060,7 +23808,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -24069,7 +23817,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_010_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_008_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -24078,7 +23826,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -24087,7 +23835,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_008_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -24096,7 +23844,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -24105,7 +23853,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_008_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -24114,7 +23862,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -24123,87 +23871,49 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceComponent_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t unDeviceIndex; - const char *pchComponentName; -}; - -struct wow64_IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceComponent_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t unDeviceIndex; - W32_PTR(const char *pchComponentName, pchComponentName, const char *); -}; - -struct IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceComponent_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t *punDeviceIndex; - char *pchComponentName; - uint32_t unComponentNameSize; -}; - -struct wow64_IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceComponent_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(uint32_t *punDeviceIndex, punDeviceIndex, uint32_t *); - W32_PTR(char *pchComponentName, pchComponentName, char *); - uint32_t unComponentNameSize; -}; - -struct IVROverlay_IVROverlay_010_ShowOverlay_params +struct IVROverlay_IVROverlay_008_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_010_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_008_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_010_HideOverlay_params +struct IVROverlay_IVROverlay_008_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_010_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_008_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_010_IsOverlayVisible_params +struct IVROverlay_IVROverlay_008_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_010_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_008_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_010_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_008_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -24213,7 +23923,7 @@ struct IVROverlay_IVROverlay_010_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_010_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_008_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -24223,25 +23933,23 @@ struct wow64_IVROverlay_IVROverlay_010_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_010_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_008_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_0918 *pEvent; - uint32_t uncbVREvent; + w_VREvent_t_0914 *pEvent; }; -struct wow64_IVROverlay_IVROverlay_010_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_008_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_0918 *pEvent, pEvent, w32_VREvent_t_0918 *); - uint32_t uncbVREvent; + W32_PTR(w32_VREvent_t_0914 *pEvent, pEvent, w32_VREvent_t_0914 *); }; -struct IVROverlay_IVROverlay_010_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_008_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -24249,7 +23957,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -24257,7 +23965,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_010_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_008_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -24265,7 +23973,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -24273,7 +23981,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_010_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_008_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -24281,7 +23989,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -24289,7 +23997,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_010_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_008_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -24297,7 +24005,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -24305,7 +24013,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_010_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_008_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -24314,7 +24022,7 @@ struct IVROverlay_IVROverlay_010_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_010_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_008_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -24323,7 +24031,7 @@ struct wow64_IVROverlay_IVROverlay_010_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_010_HandleControllerOverlayInteractionAsMouse_params +struct IVROverlay_IVROverlay_008_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -24331,7 +24039,7 @@ struct IVROverlay_IVROverlay_010_HandleControllerOverlayInteractionAsMouse_param uint32_t unControllerDeviceIndex; }; -struct wow64_IVROverlay_IVROverlay_010_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVROverlay_IVROverlay_008_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -24339,47 +24047,47 @@ struct wow64_IVROverlay_IVROverlay_010_HandleControllerOverlayInteractionAsMouse uint32_t unControllerDeviceIndex; }; -struct IVROverlay_IVROverlay_010_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_008_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_010_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_008_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_010_GetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_008_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_010_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_008_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_010_SetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_008_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct wow64_IVROverlay_IVROverlay_010_SetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_008_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct IVROverlay_IVROverlay_010_SetOverlayNeighbor_params +struct IVROverlay_IVROverlay_008_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -24388,7 +24096,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayNeighbor_params uint64_t ulTo; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayNeighbor_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -24397,7 +24105,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayNeighbor_params uint64_t ulTo; }; -struct IVROverlay_IVROverlay_010_MoveGamepadFocusToNeighbor_params +struct IVROverlay_IVROverlay_008_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -24405,7 +24113,7 @@ struct IVROverlay_IVROverlay_010_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct wow64_IVROverlay_IVROverlay_010_MoveGamepadFocusToNeighbor_params +struct wow64_IVROverlay_IVROverlay_008_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -24413,7 +24121,7 @@ struct wow64_IVROverlay_IVROverlay_010_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct IVROverlay_IVROverlay_010_SetOverlayTexture_params +struct IVROverlay_IVROverlay_008_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -24421,7 +24129,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -24429,21 +24137,21 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_010_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_008_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_010_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_008_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_010_SetOverlayRaw_params +struct IVROverlay_IVROverlay_008_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -24454,7 +24162,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -24465,7 +24173,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_010_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_008_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -24473,7 +24181,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -24481,7 +24189,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_010_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_008_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -24491,7 +24199,7 @@ struct IVROverlay_IVROverlay_010_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_010_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_008_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -24501,33 +24209,33 @@ struct wow64_IVROverlay_IVROverlay_010_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_010_IsDashboardVisible_params +struct IVROverlay_IVROverlay_008_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_010_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_008_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_010_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_008_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_010_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_008_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_010_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_008_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -24535,7 +24243,7 @@ struct IVROverlay_IVROverlay_010_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_010_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_008_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -24543,7 +24251,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_010_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_008_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -24551,7 +24259,7 @@ struct IVROverlay_IVROverlay_010_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_010_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_008_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -24559,31 +24267,19 @@ struct wow64_IVROverlay_IVROverlay_010_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_010_ShowDashboard_params +struct IVROverlay_IVROverlay_008_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_010_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_008_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_010_GetPrimaryDashboardDevice_params -{ - struct u_iface u_iface; - uint32_t _ret; -}; - -struct wow64_IVROverlay_IVROverlay_010_GetPrimaryDashboardDevice_params -{ - struct u_iface u_iface; - uint32_t _ret; -}; - -struct IVROverlay_IVROverlay_010_ShowKeyboard_params +struct IVROverlay_IVROverlay_008_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -24596,7 +24292,7 @@ struct IVROverlay_IVROverlay_010_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_010_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_008_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -24609,7 +24305,7 @@ struct wow64_IVROverlay_IVROverlay_010_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_010_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_008_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -24623,7 +24319,7 @@ struct IVROverlay_IVROverlay_010_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_010_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_008_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -24637,7 +24333,7 @@ struct wow64_IVROverlay_IVROverlay_010_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_010_GetKeyboardText_params +struct IVROverlay_IVROverlay_008_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -24645,7 +24341,7 @@ struct IVROverlay_IVROverlay_010_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_010_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_008_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -24653,45 +24349,45 @@ struct wow64_IVROverlay_IVROverlay_010_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_010_HideKeyboard_params +struct IVROverlay_IVROverlay_008_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_010_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_008_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_010_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_008_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_010_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_008_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_010_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_008_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_010_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_008_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_011_FindOverlay_params +struct IVROverlay_IVROverlay_010_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -24699,7 +24395,7 @@ struct IVROverlay_IVROverlay_011_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_011_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_010_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -24707,7 +24403,7 @@ struct wow64_IVROverlay_IVROverlay_011_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_011_CreateOverlay_params +struct IVROverlay_IVROverlay_010_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -24716,7 +24412,7 @@ struct IVROverlay_IVROverlay_011_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_011_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_010_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -24725,47 +24421,47 @@ struct wow64_IVROverlay_IVROverlay_011_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_011_DestroyOverlay_params +struct IVROverlay_IVROverlay_010_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_011_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_010_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_011_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_010_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_011_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_010_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_011_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_010_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_011_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_010_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_011_GetOverlayKey_params +struct IVROverlay_IVROverlay_010_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -24775,7 +24471,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -24785,7 +24481,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_011_GetOverlayName_params +struct IVROverlay_IVROverlay_010_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -24795,7 +24491,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -24805,7 +24501,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_011_GetOverlayImageData_params +struct IVROverlay_IVROverlay_010_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -24816,7 +24512,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -24827,51 +24523,21 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_011_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_010_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_011_SetOverlayRenderingPid_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t unPID; -}; - -struct wow64_IVROverlay_IVROverlay_011_SetOverlayRenderingPid_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t unPID; -}; - -struct IVROverlay_IVROverlay_011_GetOverlayRenderingPid_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; -}; - -struct wow64_IVROverlay_IVROverlay_011_GetOverlayRenderingPid_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; -}; - -struct IVROverlay_IVROverlay_011_SetOverlayFlag_params +struct IVROverlay_IVROverlay_010_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -24880,7 +24546,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -24889,7 +24555,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_011_GetOverlayFlag_params +struct IVROverlay_IVROverlay_010_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -24898,7 +24564,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -24907,7 +24573,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_011_SetOverlayColor_params +struct IVROverlay_IVROverlay_010_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -24917,7 +24583,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -24927,7 +24593,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_011_GetOverlayColor_params +struct IVROverlay_IVROverlay_010_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -24937,7 +24603,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -24947,7 +24613,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_011_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_010_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -24955,7 +24621,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -24963,7 +24629,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_011_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_010_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -24971,7 +24637,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -24979,7 +24645,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_011_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_010_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -24987,7 +24653,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -24995,7 +24661,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_011_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_010_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -25003,7 +24669,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -25011,7 +24677,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_011_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_010_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -25020,7 +24686,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayAutoCurveDistanceRangeInMeters_params float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -25029,7 +24695,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayAutoCurveDistanceRangeInMeters_ float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_011_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_010_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -25038,7 +24704,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayAutoCurveDistanceRangeInMeters_params float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -25047,7 +24713,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayAutoCurveDistanceRangeInMeters_ W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_011_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_010_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -25055,7 +24721,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -25063,7 +24729,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_011_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_010_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -25071,7 +24737,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -25079,7 +24745,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_011_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_010_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -25087,7 +24753,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -25095,7 +24761,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_011_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_010_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -25103,7 +24769,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -25111,7 +24777,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_011_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_010_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -25119,7 +24785,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -25127,7 +24793,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_011_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_010_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -25136,7 +24802,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -25145,7 +24811,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_011_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_010_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -25154,7 +24820,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -25163,7 +24829,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -25172,7 +24838,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -25181,7 +24847,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -25190,7 +24856,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -25199,7 +24865,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -25208,7 +24874,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -25217,7 +24883,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -25227,7 +24893,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -25237,49 +24903,49 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_011_ShowOverlay_params +struct IVROverlay_IVROverlay_010_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_011_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_010_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_011_HideOverlay_params +struct IVROverlay_IVROverlay_010_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_011_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_010_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_011_IsOverlayVisible_params +struct IVROverlay_IVROverlay_010_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_011_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_010_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_011_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_010_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -25289,7 +24955,7 @@ struct IVROverlay_IVROverlay_011_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_011_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_010_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -25299,7 +24965,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_011_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_010_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -25308,7 +24974,7 @@ struct IVROverlay_IVROverlay_011_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_011_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_010_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -25317,7 +24983,7 @@ struct wow64_IVROverlay_IVROverlay_011_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_011_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_010_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -25325,7 +24991,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -25333,7 +24999,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_011_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_010_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -25341,7 +25007,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -25349,7 +25015,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_011_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_010_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -25357,7 +25023,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -25365,7 +25031,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_011_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_010_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -25373,7 +25039,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -25381,7 +25047,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_011_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_010_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -25390,7 +25056,7 @@ struct IVROverlay_IVROverlay_011_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_011_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_010_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -25399,7 +25065,7 @@ struct wow64_IVROverlay_IVROverlay_011_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_011_HandleControllerOverlayInteractionAsMouse_params +struct IVROverlay_IVROverlay_010_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -25407,7 +25073,7 @@ struct IVROverlay_IVROverlay_011_HandleControllerOverlayInteractionAsMouse_param uint32_t unControllerDeviceIndex; }; -struct wow64_IVROverlay_IVROverlay_011_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVROverlay_IVROverlay_010_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -25415,47 +25081,47 @@ struct wow64_IVROverlay_IVROverlay_011_HandleControllerOverlayInteractionAsMouse uint32_t unControllerDeviceIndex; }; -struct IVROverlay_IVROverlay_011_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_010_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_011_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_010_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_011_GetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_010_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_011_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_010_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_011_SetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_010_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct wow64_IVROverlay_IVROverlay_011_SetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_010_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct IVROverlay_IVROverlay_011_SetOverlayNeighbor_params +struct IVROverlay_IVROverlay_010_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -25464,7 +25130,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayNeighbor_params uint64_t ulTo; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayNeighbor_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -25473,7 +25139,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayNeighbor_params uint64_t ulTo; }; -struct IVROverlay_IVROverlay_011_MoveGamepadFocusToNeighbor_params +struct IVROverlay_IVROverlay_010_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -25481,7 +25147,7 @@ struct IVROverlay_IVROverlay_011_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct wow64_IVROverlay_IVROverlay_011_MoveGamepadFocusToNeighbor_params +struct wow64_IVROverlay_IVROverlay_010_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -25489,7 +25155,7 @@ struct wow64_IVROverlay_IVROverlay_011_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct IVROverlay_IVROverlay_011_SetOverlayTexture_params +struct IVROverlay_IVROverlay_010_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -25497,7 +25163,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -25505,21 +25171,21 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_011_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_010_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_011_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_010_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_011_SetOverlayRaw_params +struct IVROverlay_IVROverlay_010_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -25530,7 +25196,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -25541,7 +25207,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_011_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_010_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -25549,7 +25215,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -25557,51 +25223,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_011_GetOverlayTexture_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - void **pNativeTextureHandle; - void *pNativeTextureRef; - uint32_t *pWidth; - uint32_t *pHeight; - uint32_t *pNativeFormat; - uint32_t *pAPI; - uint32_t *pColorSpace; -}; - -struct wow64_IVROverlay_IVROverlay_011_GetOverlayTexture_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(void **pNativeTextureHandle, pNativeTextureHandle, void **); - W32_PTR(void *pNativeTextureRef, pNativeTextureRef, void *); - W32_PTR(uint32_t *pWidth, pWidth, uint32_t *); - W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); - W32_PTR(uint32_t *pNativeFormat, pNativeFormat, uint32_t *); - W32_PTR(uint32_t *pAPI, pAPI, uint32_t *); - W32_PTR(uint32_t *pColorSpace, pColorSpace, uint32_t *); -}; - -struct IVROverlay_IVROverlay_011_ReleaseNativeOverlayHandle_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - void *pNativeTextureHandle; -}; - -struct wow64_IVROverlay_IVROverlay_011_ReleaseNativeOverlayHandle_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); -}; - -struct IVROverlay_IVROverlay_011_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_010_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -25611,7 +25233,7 @@ struct IVROverlay_IVROverlay_011_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_011_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_010_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -25621,33 +25243,33 @@ struct wow64_IVROverlay_IVROverlay_011_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_011_IsDashboardVisible_params +struct IVROverlay_IVROverlay_010_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_011_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_010_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_011_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_010_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_011_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_010_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_011_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_010_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -25655,7 +25277,7 @@ struct IVROverlay_IVROverlay_011_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_011_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_010_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -25663,7 +25285,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_011_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_010_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -25671,7 +25293,7 @@ struct IVROverlay_IVROverlay_011_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_011_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_010_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -25679,31 +25301,31 @@ struct wow64_IVROverlay_IVROverlay_011_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_011_ShowDashboard_params +struct IVROverlay_IVROverlay_010_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_011_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_010_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_011_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_010_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_011_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_010_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_011_ShowKeyboard_params +struct IVROverlay_IVROverlay_010_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -25716,7 +25338,7 @@ struct IVROverlay_IVROverlay_011_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_011_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_010_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -25729,7 +25351,7 @@ struct wow64_IVROverlay_IVROverlay_011_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_011_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_010_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -25743,7 +25365,7 @@ struct IVROverlay_IVROverlay_011_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_011_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_010_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -25757,7 +25379,7 @@ struct wow64_IVROverlay_IVROverlay_011_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_011_GetKeyboardText_params +struct IVROverlay_IVROverlay_010_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -25765,7 +25387,7 @@ struct IVROverlay_IVROverlay_011_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_011_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_010_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -25773,45 +25395,45 @@ struct wow64_IVROverlay_IVROverlay_011_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_011_HideKeyboard_params +struct IVROverlay_IVROverlay_010_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_011_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_010_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_011_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_010_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_011_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_010_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_011_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_010_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_011_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_010_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_012_FindOverlay_params +struct IVROverlay_IVROverlay_011_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -25819,7 +25441,7 @@ struct IVROverlay_IVROverlay_012_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_012_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_011_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -25827,7 +25449,7 @@ struct wow64_IVROverlay_IVROverlay_012_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_012_CreateOverlay_params +struct IVROverlay_IVROverlay_011_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -25836,7 +25458,7 @@ struct IVROverlay_IVROverlay_012_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_012_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_011_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -25845,47 +25467,47 @@ struct wow64_IVROverlay_IVROverlay_012_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_012_DestroyOverlay_params +struct IVROverlay_IVROverlay_011_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_012_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_011_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_012_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_011_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_012_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_011_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_012_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_011_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_012_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_011_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_012_GetOverlayKey_params +struct IVROverlay_IVROverlay_011_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -25895,7 +25517,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -25905,7 +25527,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_012_GetOverlayName_params +struct IVROverlay_IVROverlay_011_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -25915,7 +25537,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -25925,7 +25547,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_012_GetOverlayImageData_params +struct IVROverlay_IVROverlay_011_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -25936,7 +25558,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -25947,21 +25569,21 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_012_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_011_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_012_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_011_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -25969,7 +25591,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -25977,21 +25599,21 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_012_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_011_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_012_SetOverlayFlag_params +struct IVROverlay_IVROverlay_011_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -26000,7 +25622,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -26009,7 +25631,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_012_GetOverlayFlag_params +struct IVROverlay_IVROverlay_011_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -26018,7 +25640,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -26027,7 +25649,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_012_SetOverlayColor_params +struct IVROverlay_IVROverlay_011_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -26037,7 +25659,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -26047,7 +25669,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_012_GetOverlayColor_params +struct IVROverlay_IVROverlay_011_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -26057,7 +25679,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -26067,7 +25689,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_012_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_011_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -26075,7 +25697,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -26083,7 +25705,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_012_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_011_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -26091,7 +25713,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -26099,7 +25721,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_012_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_011_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -26107,7 +25729,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -26115,7 +25737,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_012_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_011_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -26123,7 +25745,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -26131,7 +25753,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_012_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_011_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -26140,7 +25762,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayAutoCurveDistanceRangeInMeters_params float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -26149,7 +25771,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayAutoCurveDistanceRangeInMeters_ float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_012_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_011_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -26158,7 +25780,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayAutoCurveDistanceRangeInMeters_params float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -26167,7 +25789,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayAutoCurveDistanceRangeInMeters_ W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_012_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_011_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -26175,7 +25797,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -26183,7 +25805,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_012_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_011_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -26191,7 +25813,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -26199,7 +25821,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_012_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_011_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -26207,7 +25829,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -26215,7 +25837,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_012_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_011_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -26223,7 +25845,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -26231,7 +25853,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_012_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_011_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -26239,7 +25861,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -26247,7 +25869,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_012_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_011_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -26256,7 +25878,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -26265,7 +25887,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_012_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_011_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -26274,7 +25896,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -26283,7 +25905,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -26292,7 +25914,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -26301,7 +25923,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -26310,7 +25932,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -26319,7 +25941,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -26328,7 +25950,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -26337,7 +25959,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -26347,7 +25969,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -26357,49 +25979,49 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_012_ShowOverlay_params +struct IVROverlay_IVROverlay_011_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_012_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_011_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_012_HideOverlay_params +struct IVROverlay_IVROverlay_011_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_012_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_011_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_012_IsOverlayVisible_params +struct IVROverlay_IVROverlay_011_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_012_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_011_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_012_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_011_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -26409,7 +26031,7 @@ struct IVROverlay_IVROverlay_012_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_012_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_011_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -26419,25 +26041,25 @@ struct wow64_IVROverlay_IVROverlay_012_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_012_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_011_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_101 *pEvent; + w_VREvent_t_0918 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_012_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_011_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_101 *pEvent, pEvent, w32_VREvent_t_101 *); + W32_PTR(w32_VREvent_t_0918 *pEvent, pEvent, w32_VREvent_t_0918 *); uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_012_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_011_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -26445,7 +26067,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -26453,7 +26075,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_012_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_011_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -26461,7 +26083,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -26469,7 +26091,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_012_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_011_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -26477,7 +26099,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -26485,7 +26107,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_012_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_011_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -26493,7 +26115,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -26501,7 +26123,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_012_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_011_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -26510,7 +26132,7 @@ struct IVROverlay_IVROverlay_012_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_012_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_011_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -26519,7 +26141,7 @@ struct wow64_IVROverlay_IVROverlay_012_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_012_HandleControllerOverlayInteractionAsMouse_params +struct IVROverlay_IVROverlay_011_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -26527,7 +26149,7 @@ struct IVROverlay_IVROverlay_012_HandleControllerOverlayInteractionAsMouse_param uint32_t unControllerDeviceIndex; }; -struct wow64_IVROverlay_IVROverlay_012_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVROverlay_IVROverlay_011_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -26535,47 +26157,47 @@ struct wow64_IVROverlay_IVROverlay_012_HandleControllerOverlayInteractionAsMouse uint32_t unControllerDeviceIndex; }; -struct IVROverlay_IVROverlay_012_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_011_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_012_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_011_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_012_GetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_011_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_012_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_011_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_012_SetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_011_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct wow64_IVROverlay_IVROverlay_012_SetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_011_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct IVROverlay_IVROverlay_012_SetOverlayNeighbor_params +struct IVROverlay_IVROverlay_011_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -26584,7 +26206,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayNeighbor_params uint64_t ulTo; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayNeighbor_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -26593,7 +26215,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayNeighbor_params uint64_t ulTo; }; -struct IVROverlay_IVROverlay_012_MoveGamepadFocusToNeighbor_params +struct IVROverlay_IVROverlay_011_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -26601,7 +26223,7 @@ struct IVROverlay_IVROverlay_012_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct wow64_IVROverlay_IVROverlay_012_MoveGamepadFocusToNeighbor_params +struct wow64_IVROverlay_IVROverlay_011_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -26609,7 +26231,7 @@ struct wow64_IVROverlay_IVROverlay_012_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct IVROverlay_IVROverlay_012_SetOverlayTexture_params +struct IVROverlay_IVROverlay_011_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -26617,7 +26239,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -26625,21 +26247,21 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_012_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_011_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_012_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_011_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_012_SetOverlayRaw_params +struct IVROverlay_IVROverlay_011_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -26650,7 +26272,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -26661,7 +26283,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_012_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_011_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -26669,7 +26291,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -26677,7 +26299,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_012_GetOverlayTexture_params +struct IVROverlay_IVROverlay_011_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -26691,7 +26313,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayTexture_params uint32_t *pColorSpace; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -26705,7 +26327,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayTexture_params W32_PTR(uint32_t *pColorSpace, pColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_012_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_011_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -26713,7 +26335,7 @@ struct IVROverlay_IVROverlay_012_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_012_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_011_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -26721,25 +26343,7 @@ struct wow64_IVROverlay_IVROverlay_012_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_012_GetOverlayTextureSize_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t *pWidth; - uint32_t *pHeight; -}; - -struct wow64_IVROverlay_IVROverlay_012_GetOverlayTextureSize_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(uint32_t *pWidth, pWidth, uint32_t *); - W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); -}; - -struct IVROverlay_IVROverlay_012_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_011_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -26749,7 +26353,7 @@ struct IVROverlay_IVROverlay_012_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_012_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_011_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -26759,33 +26363,33 @@ struct wow64_IVROverlay_IVROverlay_012_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_012_IsDashboardVisible_params +struct IVROverlay_IVROverlay_011_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_012_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_011_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_012_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_011_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_012_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_011_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_012_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_011_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -26793,7 +26397,7 @@ struct IVROverlay_IVROverlay_012_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_012_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_011_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -26801,7 +26405,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_012_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_011_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -26809,7 +26413,7 @@ struct IVROverlay_IVROverlay_012_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_012_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_011_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -26817,31 +26421,31 @@ struct wow64_IVROverlay_IVROverlay_012_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_012_ShowDashboard_params +struct IVROverlay_IVROverlay_011_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_012_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_011_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_012_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_011_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_012_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_011_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_012_ShowKeyboard_params +struct IVROverlay_IVROverlay_011_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -26854,7 +26458,7 @@ struct IVROverlay_IVROverlay_012_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_012_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_011_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -26867,7 +26471,7 @@ struct wow64_IVROverlay_IVROverlay_012_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_012_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_011_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -26881,7 +26485,7 @@ struct IVROverlay_IVROverlay_012_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_012_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_011_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -26895,7 +26499,7 @@ struct wow64_IVROverlay_IVROverlay_012_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_012_GetKeyboardText_params +struct IVROverlay_IVROverlay_011_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -26903,7 +26507,7 @@ struct IVROverlay_IVROverlay_012_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_012_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_011_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -26911,45 +26515,45 @@ struct wow64_IVROverlay_IVROverlay_012_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_012_HideKeyboard_params +struct IVROverlay_IVROverlay_011_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_012_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_011_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_012_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_011_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_012_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_011_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_012_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_011_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_012_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_011_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_013_FindOverlay_params +struct IVROverlay_IVROverlay_012_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -26957,7 +26561,7 @@ struct IVROverlay_IVROverlay_013_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_013_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_012_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -26965,7 +26569,7 @@ struct wow64_IVROverlay_IVROverlay_013_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_013_CreateOverlay_params +struct IVROverlay_IVROverlay_012_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -26974,7 +26578,7 @@ struct IVROverlay_IVROverlay_013_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_013_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_012_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -26983,47 +26587,47 @@ struct wow64_IVROverlay_IVROverlay_013_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_013_DestroyOverlay_params +struct IVROverlay_IVROverlay_012_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_013_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_012_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_013_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_012_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_013_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_012_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_013_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_012_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_013_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_012_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_013_GetOverlayKey_params +struct IVROverlay_IVROverlay_012_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -27033,7 +26637,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -27043,7 +26647,7 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_013_GetOverlayName_params +struct IVROverlay_IVROverlay_012_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -27053,7 +26657,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -27063,7 +26667,7 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_013_GetOverlayImageData_params +struct IVROverlay_IVROverlay_012_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -27074,7 +26678,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -27085,21 +26689,21 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_013_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_012_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_013_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_012_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -27107,7 +26711,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -27115,21 +26719,21 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_013_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_012_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_013_SetOverlayFlag_params +struct IVROverlay_IVROverlay_012_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -27138,7 +26742,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -27147,7 +26751,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_013_GetOverlayFlag_params +struct IVROverlay_IVROverlay_012_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -27156,7 +26760,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -27165,7 +26769,7 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_013_SetOverlayColor_params +struct IVROverlay_IVROverlay_012_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -27175,7 +26779,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -27185,7 +26789,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_013_GetOverlayColor_params +struct IVROverlay_IVROverlay_012_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -27195,7 +26799,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -27205,7 +26809,7 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_013_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_012_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -27213,7 +26817,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -27221,7 +26825,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_013_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_012_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -27229,7 +26833,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -27237,195 +26841,131 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_013_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_012_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fTexelAspect; + float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fTexelAspect; + float fWidthInMeters; }; -struct IVROverlay_IVROverlay_013_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_012_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float *pfTexelAspect; + float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); + W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_013_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_012_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t unSortOrder; + float fMinDistanceInMeters; + float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t unSortOrder; + float fMinDistanceInMeters; + float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_013_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_012_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t *punSortOrder; + float *pfMinDistanceInMeters; + float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); + W32_PTR(float *pfMinDistanceInMeters, pfMinDistanceInMeters, float *); + W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_013_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_012_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fWidthInMeters; + uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fWidthInMeters; + uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_013_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_012_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float *pfWidthInMeters; + uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); + W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_013_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_012_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fMinDistanceInMeters; - float fMaxDistanceInMeters; + const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fMinDistanceInMeters; - float fMaxDistanceInMeters; + W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_013_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_012_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float *pfMinDistanceInMeters; - float *pfMaxDistanceInMeters; + VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayAutoCurveDistanceRangeInMeters_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(float *pfMinDistanceInMeters, pfMinDistanceInMeters, float *); - W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); -}; - -struct IVROverlay_IVROverlay_013_SetOverlayTextureColorSpace_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eTextureColorSpace; -}; - -struct wow64_IVROverlay_IVROverlay_013_SetOverlayTextureColorSpace_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eTextureColorSpace; -}; - -struct IVROverlay_IVROverlay_013_GetOverlayTextureColorSpace_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t *peTextureColorSpace; -}; - -struct wow64_IVROverlay_IVROverlay_013_GetOverlayTextureColorSpace_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); -}; - -struct IVROverlay_IVROverlay_013_SetOverlayTextureBounds_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - const VRTextureBounds_t *pOverlayTextureBounds; -}; - -struct wow64_IVROverlay_IVROverlay_013_SetOverlayTextureBounds_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); -}; - -struct IVROverlay_IVROverlay_013_GetOverlayTextureBounds_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - VRTextureBounds_t *pOverlayTextureBounds; -}; - -struct wow64_IVROverlay_IVROverlay_013_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -27433,7 +26973,7 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_013_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_012_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -27441,7 +26981,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -27449,7 +26989,7 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_013_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_012_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -27458,7 +26998,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -27467,7 +27007,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_013_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_012_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -27476,7 +27016,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -27485,7 +27025,7 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -27494,7 +27034,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -27503,7 +27043,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -27512,7 +27052,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -27521,7 +27061,7 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -27530,7 +27070,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -27539,7 +27079,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -27549,7 +27089,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -27559,49 +27099,49 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_013_ShowOverlay_params +struct IVROverlay_IVROverlay_012_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_013_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_012_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_013_HideOverlay_params +struct IVROverlay_IVROverlay_012_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_013_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_012_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_013_IsOverlayVisible_params +struct IVROverlay_IVROverlay_012_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_013_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_012_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_013_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_012_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -27611,7 +27151,7 @@ struct IVROverlay_IVROverlay_013_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_013_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_012_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -27621,25 +27161,25 @@ struct wow64_IVROverlay_IVROverlay_013_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_013_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_012_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_103 *pEvent; + w_VREvent_t_101 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_013_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_012_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_103 *pEvent, pEvent, w32_VREvent_t_103 *); + W32_PTR(w32_VREvent_t_101 *pEvent, pEvent, w32_VREvent_t_101 *); uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_013_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_012_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -27647,7 +27187,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -27655,7 +27195,7 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_013_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_012_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -27663,7 +27203,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -27671,7 +27211,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_013_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_012_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -27679,7 +27219,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -27687,7 +27227,7 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_013_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_012_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -27695,7 +27235,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -27703,7 +27243,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_013_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_012_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -27712,7 +27252,7 @@ struct IVROverlay_IVROverlay_013_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_013_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_012_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -27721,7 +27261,7 @@ struct wow64_IVROverlay_IVROverlay_013_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_013_HandleControllerOverlayInteractionAsMouse_params +struct IVROverlay_IVROverlay_012_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -27729,7 +27269,7 @@ struct IVROverlay_IVROverlay_013_HandleControllerOverlayInteractionAsMouse_param uint32_t unControllerDeviceIndex; }; -struct wow64_IVROverlay_IVROverlay_013_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVROverlay_IVROverlay_012_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -27737,47 +27277,47 @@ struct wow64_IVROverlay_IVROverlay_013_HandleControllerOverlayInteractionAsMouse uint32_t unControllerDeviceIndex; }; -struct IVROverlay_IVROverlay_013_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_012_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_013_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_012_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_013_GetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_012_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_013_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_012_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_013_SetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_012_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct wow64_IVROverlay_IVROverlay_013_SetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_012_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct IVROverlay_IVROverlay_013_SetOverlayNeighbor_params +struct IVROverlay_IVROverlay_012_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -27786,7 +27326,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayNeighbor_params uint64_t ulTo; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayNeighbor_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -27795,7 +27335,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayNeighbor_params uint64_t ulTo; }; -struct IVROverlay_IVROverlay_013_MoveGamepadFocusToNeighbor_params +struct IVROverlay_IVROverlay_012_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -27803,7 +27343,7 @@ struct IVROverlay_IVROverlay_013_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct wow64_IVROverlay_IVROverlay_013_MoveGamepadFocusToNeighbor_params +struct wow64_IVROverlay_IVROverlay_012_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -27811,7 +27351,7 @@ struct wow64_IVROverlay_IVROverlay_013_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct IVROverlay_IVROverlay_013_SetOverlayTexture_params +struct IVROverlay_IVROverlay_012_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -27819,7 +27359,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -27827,21 +27367,21 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_013_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_012_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_013_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_012_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_013_SetOverlayRaw_params +struct IVROverlay_IVROverlay_012_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -27852,7 +27392,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -27863,7 +27403,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_013_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_012_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -27871,7 +27411,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -27879,7 +27419,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_013_GetOverlayTexture_params +struct IVROverlay_IVROverlay_012_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -27893,7 +27433,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayTexture_params uint32_t *pColorSpace; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -27907,7 +27447,7 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayTexture_params W32_PTR(uint32_t *pColorSpace, pColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_013_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_012_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -27915,7 +27455,7 @@ struct IVROverlay_IVROverlay_013_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_013_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_012_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -27923,7 +27463,7 @@ struct wow64_IVROverlay_IVROverlay_013_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_013_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_012_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -27932,7 +27472,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -27941,7 +27481,7 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_013_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_012_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -27951,7 +27491,7 @@ struct IVROverlay_IVROverlay_013_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_013_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_012_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -27961,33 +27501,33 @@ struct wow64_IVROverlay_IVROverlay_013_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_013_IsDashboardVisible_params +struct IVROverlay_IVROverlay_012_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_013_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_012_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_013_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_012_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_013_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_012_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_013_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_012_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -27995,7 +27535,7 @@ struct IVROverlay_IVROverlay_013_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_013_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_012_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -28003,7 +27543,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_013_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_012_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -28011,7 +27551,7 @@ struct IVROverlay_IVROverlay_013_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_013_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_012_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -28019,31 +27559,31 @@ struct wow64_IVROverlay_IVROverlay_013_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_013_ShowDashboard_params +struct IVROverlay_IVROverlay_012_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_013_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_012_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_013_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_012_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_013_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_012_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_013_ShowKeyboard_params +struct IVROverlay_IVROverlay_012_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -28056,7 +27596,7 @@ struct IVROverlay_IVROverlay_013_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_013_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_012_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -28069,7 +27609,7 @@ struct wow64_IVROverlay_IVROverlay_013_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_013_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_012_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -28083,7 +27623,7 @@ struct IVROverlay_IVROverlay_013_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_013_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_012_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -28097,7 +27637,7 @@ struct wow64_IVROverlay_IVROverlay_013_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_013_GetKeyboardText_params +struct IVROverlay_IVROverlay_012_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -28105,7 +27645,7 @@ struct IVROverlay_IVROverlay_013_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_013_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_012_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -28113,65 +27653,45 @@ struct wow64_IVROverlay_IVROverlay_013_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_013_HideKeyboard_params +struct IVROverlay_IVROverlay_012_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_013_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_012_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_013_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_012_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_013_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_012_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_013_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_012_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_013_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_012_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_013_SetOverlayIntersectionMask_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives; - uint32_t unNumMaskPrimitives; - uint32_t unPrimitiveSize; -}; - -struct wow64_IVROverlay_IVROverlay_013_SetOverlayIntersectionMask_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, pMaskPrimitives, VROverlayIntersectionMaskPrimitive_t *); - uint32_t unNumMaskPrimitives; - uint32_t unPrimitiveSize; -}; - -struct IVROverlay_IVROverlay_014_FindOverlay_params +struct IVROverlay_IVROverlay_013_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -28179,7 +27699,7 @@ struct IVROverlay_IVROverlay_014_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_014_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_013_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -28187,7 +27707,7 @@ struct wow64_IVROverlay_IVROverlay_014_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_014_CreateOverlay_params +struct IVROverlay_IVROverlay_013_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -28196,7 +27716,7 @@ struct IVROverlay_IVROverlay_014_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_014_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_013_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -28205,47 +27725,47 @@ struct wow64_IVROverlay_IVROverlay_014_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_014_DestroyOverlay_params +struct IVROverlay_IVROverlay_013_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_014_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_013_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_014_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_013_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_014_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_013_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_014_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_013_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_014_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_013_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_014_GetOverlayKey_params +struct IVROverlay_IVROverlay_013_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -28255,7 +27775,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -28265,7 +27785,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_014_GetOverlayName_params +struct IVROverlay_IVROverlay_013_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -28275,7 +27795,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -28285,7 +27805,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_014_GetOverlayImageData_params +struct IVROverlay_IVROverlay_013_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -28296,7 +27816,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -28307,21 +27827,21 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_014_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_013_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_014_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_013_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -28329,7 +27849,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -28337,21 +27857,21 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_014_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_013_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_014_SetOverlayFlag_params +struct IVROverlay_IVROverlay_013_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -28360,7 +27880,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -28369,7 +27889,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_014_GetOverlayFlag_params +struct IVROverlay_IVROverlay_013_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -28378,7 +27898,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -28387,7 +27907,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_014_SetOverlayColor_params +struct IVROverlay_IVROverlay_013_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -28397,7 +27917,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -28407,7 +27927,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_014_GetOverlayColor_params +struct IVROverlay_IVROverlay_013_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -28417,7 +27937,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -28427,7 +27947,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_014_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_013_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -28435,7 +27955,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -28443,7 +27963,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_014_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_013_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -28451,7 +27971,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -28459,7 +27979,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_014_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_013_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -28467,7 +27987,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -28475,7 +27995,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_014_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_013_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -28483,7 +28003,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -28491,7 +28011,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_014_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_013_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -28499,7 +28019,7 @@ struct IVROverlay_IVROverlay_014_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -28507,7 +28027,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_014_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_013_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -28515,7 +28035,7 @@ struct IVROverlay_IVROverlay_014_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -28523,7 +28043,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_014_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_013_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -28531,7 +28051,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -28539,7 +28059,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_014_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_013_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -28547,7 +28067,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -28555,7 +28075,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_014_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_013_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -28564,7 +28084,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayAutoCurveDistanceRangeInMeters_params float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -28573,7 +28093,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayAutoCurveDistanceRangeInMeters_ float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_014_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_013_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -28582,7 +28102,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayAutoCurveDistanceRangeInMeters_params float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -28591,7 +28111,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayAutoCurveDistanceRangeInMeters_ W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_014_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_013_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -28599,7 +28119,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -28607,7 +28127,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_014_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_013_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -28615,7 +28135,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -28623,7 +28143,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_014_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_013_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -28631,7 +28151,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -28639,7 +28159,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_014_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_013_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -28647,7 +28167,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -28655,7 +28175,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_014_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_013_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -28663,7 +28183,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -28671,7 +28191,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_014_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_013_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -28680,7 +28200,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -28689,7 +28209,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_014_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_013_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -28698,7 +28218,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -28707,7 +28227,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -28716,7 +28236,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -28725,7 +28245,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -28734,7 +28254,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -28743,7 +28263,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -28752,7 +28272,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -28761,7 +28281,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -28771,7 +28291,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -28781,49 +28301,49 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_014_ShowOverlay_params +struct IVROverlay_IVROverlay_013_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_014_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_013_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_014_HideOverlay_params +struct IVROverlay_IVROverlay_013_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_014_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_013_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_014_IsOverlayVisible_params +struct IVROverlay_IVROverlay_013_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_014_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_013_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_014_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_013_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -28833,7 +28353,7 @@ struct IVROverlay_IVROverlay_014_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_014_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_013_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -28843,25 +28363,25 @@ struct wow64_IVROverlay_IVROverlay_014_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_014_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_013_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_106 *pEvent; + w_VREvent_t_103 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_014_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_013_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_106 *pEvent, pEvent, w32_VREvent_t_106 *); + W32_PTR(w32_VREvent_t_103 *pEvent, pEvent, w32_VREvent_t_103 *); uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_014_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_013_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -28869,7 +28389,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -28877,7 +28397,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_014_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_013_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -28885,7 +28405,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -28893,7 +28413,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_014_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_013_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -28901,7 +28421,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -28909,7 +28429,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_014_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_013_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -28917,7 +28437,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -28925,7 +28445,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_014_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_013_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -28934,7 +28454,7 @@ struct IVROverlay_IVROverlay_014_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_014_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_013_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -28943,7 +28463,7 @@ struct wow64_IVROverlay_IVROverlay_014_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_014_HandleControllerOverlayInteractionAsMouse_params +struct IVROverlay_IVROverlay_013_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -28951,7 +28471,7 @@ struct IVROverlay_IVROverlay_014_HandleControllerOverlayInteractionAsMouse_param uint32_t unControllerDeviceIndex; }; -struct wow64_IVROverlay_IVROverlay_014_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVROverlay_IVROverlay_013_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -28959,47 +28479,47 @@ struct wow64_IVROverlay_IVROverlay_014_HandleControllerOverlayInteractionAsMouse uint32_t unControllerDeviceIndex; }; -struct IVROverlay_IVROverlay_014_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_013_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_014_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_013_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_014_GetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_013_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_014_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_013_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_014_SetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_013_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct wow64_IVROverlay_IVROverlay_014_SetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_013_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct IVROverlay_IVROverlay_014_SetOverlayNeighbor_params +struct IVROverlay_IVROverlay_013_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -29008,7 +28528,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayNeighbor_params uint64_t ulTo; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayNeighbor_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -29017,7 +28537,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayNeighbor_params uint64_t ulTo; }; -struct IVROverlay_IVROverlay_014_MoveGamepadFocusToNeighbor_params +struct IVROverlay_IVROverlay_013_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -29025,7 +28545,7 @@ struct IVROverlay_IVROverlay_014_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct wow64_IVROverlay_IVROverlay_014_MoveGamepadFocusToNeighbor_params +struct wow64_IVROverlay_IVROverlay_013_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -29033,7 +28553,7 @@ struct wow64_IVROverlay_IVROverlay_014_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct IVROverlay_IVROverlay_014_SetOverlayTexture_params +struct IVROverlay_IVROverlay_013_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -29041,7 +28561,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -29049,21 +28569,21 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_014_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_013_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_014_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_013_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_014_SetOverlayRaw_params +struct IVROverlay_IVROverlay_013_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -29074,7 +28594,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -29085,7 +28605,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_014_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_013_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -29093,7 +28613,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -29101,7 +28621,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_014_GetOverlayTexture_params +struct IVROverlay_IVROverlay_013_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -29111,12 +28631,11 @@ struct IVROverlay_IVROverlay_014_GetOverlayTexture_params uint32_t *pWidth; uint32_t *pHeight; uint32_t *pNativeFormat; - uint32_t *pAPIType; + uint32_t *pAPI; uint32_t *pColorSpace; - VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -29126,12 +28645,11 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayTexture_params W32_PTR(uint32_t *pWidth, pWidth, uint32_t *); W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); W32_PTR(uint32_t *pNativeFormat, pNativeFormat, uint32_t *); - W32_PTR(uint32_t *pAPIType, pAPIType, uint32_t *); + W32_PTR(uint32_t *pAPI, pAPI, uint32_t *); W32_PTR(uint32_t *pColorSpace, pColorSpace, uint32_t *); - W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_014_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_013_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -29139,7 +28657,7 @@ struct IVROverlay_IVROverlay_014_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_014_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_013_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -29147,7 +28665,7 @@ struct wow64_IVROverlay_IVROverlay_014_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_014_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_013_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -29156,7 +28674,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -29165,7 +28683,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_014_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_013_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -29175,7 +28693,7 @@ struct IVROverlay_IVROverlay_014_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_014_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_013_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -29185,33 +28703,33 @@ struct wow64_IVROverlay_IVROverlay_014_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_014_IsDashboardVisible_params +struct IVROverlay_IVROverlay_013_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_014_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_013_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_014_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_013_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_014_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_013_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_014_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_013_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -29219,7 +28737,7 @@ struct IVROverlay_IVROverlay_014_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_014_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_013_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -29227,7 +28745,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_014_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_013_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -29235,7 +28753,7 @@ struct IVROverlay_IVROverlay_014_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_014_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_013_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -29243,31 +28761,31 @@ struct wow64_IVROverlay_IVROverlay_014_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_014_ShowDashboard_params +struct IVROverlay_IVROverlay_013_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_014_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_013_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_014_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_013_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_014_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_013_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_014_ShowKeyboard_params +struct IVROverlay_IVROverlay_013_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -29280,7 +28798,7 @@ struct IVROverlay_IVROverlay_014_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_014_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_013_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -29293,7 +28811,7 @@ struct wow64_IVROverlay_IVROverlay_014_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_014_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_013_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -29307,7 +28825,7 @@ struct IVROverlay_IVROverlay_014_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_014_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_013_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -29321,7 +28839,7 @@ struct wow64_IVROverlay_IVROverlay_014_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_014_GetKeyboardText_params +struct IVROverlay_IVROverlay_013_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -29329,7 +28847,7 @@ struct IVROverlay_IVROverlay_014_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_014_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_013_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -29337,45 +28855,45 @@ struct wow64_IVROverlay_IVROverlay_014_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_014_HideKeyboard_params +struct IVROverlay_IVROverlay_013_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_014_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_013_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_014_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_013_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_014_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_013_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_014_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_013_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_014_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_013_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_014_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_013_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -29385,7 +28903,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -29395,47 +28913,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_014_GetOverlayFlags_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t *pFlags; -}; - -struct wow64_IVROverlay_IVROverlay_014_GetOverlayFlags_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); -}; - -struct IVROverlay_IVROverlay_014_ShowMessageOverlay_params -{ - struct u_iface u_iface; - uint32_t _ret; - const char *pchText; - const char *pchCaption; - const char *pchButton0Text; - const char *pchButton1Text; - const char *pchButton2Text; - const char *pchButton3Text; -}; - -struct wow64_IVROverlay_IVROverlay_014_ShowMessageOverlay_params -{ - struct u_iface u_iface; - uint32_t _ret; - W32_PTR(const char *pchText, pchText, const char *); - W32_PTR(const char *pchCaption, pchCaption, const char *); - W32_PTR(const char *pchButton0Text, pchButton0Text, const char *); - W32_PTR(const char *pchButton1Text, pchButton1Text, const char *); - W32_PTR(const char *pchButton2Text, pchButton2Text, const char *); - W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); -}; - -struct IVROverlay_IVROverlay_016_FindOverlay_params +struct IVROverlay_IVROverlay_014_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -29443,7 +28921,7 @@ struct IVROverlay_IVROverlay_016_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_016_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_014_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -29451,65 +28929,65 @@ struct wow64_IVROverlay_IVROverlay_016_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_016_CreateOverlay_params +struct IVROverlay_IVROverlay_014_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; const char *pchOverlayKey; - const char *pchOverlayName; + const char *pchOverlayFriendlyName; uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_016_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_014_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); - W32_PTR(const char *pchOverlayName, pchOverlayName, const char *); + W32_PTR(const char *pchOverlayFriendlyName, pchOverlayFriendlyName, const char *); W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_016_DestroyOverlay_params +struct IVROverlay_IVROverlay_014_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_016_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_014_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_016_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_014_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_016_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_014_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_016_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_014_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_016_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_014_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_016_GetOverlayKey_params +struct IVROverlay_IVROverlay_014_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -29519,7 +28997,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -29529,7 +29007,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_016_GetOverlayName_params +struct IVROverlay_IVROverlay_014_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -29539,7 +29017,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -29549,23 +29027,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_016_SetOverlayName_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - const char *pchName; -}; - -struct wow64_IVROverlay_IVROverlay_016_SetOverlayName_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(const char *pchName, pchName, const char *); -}; - -struct IVROverlay_IVROverlay_016_GetOverlayImageData_params +struct IVROverlay_IVROverlay_014_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -29576,7 +29038,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -29587,21 +29049,21 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_016_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_014_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_016_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_014_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -29609,7 +29071,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -29617,21 +29079,21 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_016_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_014_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_016_SetOverlayFlag_params +struct IVROverlay_IVROverlay_014_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -29640,7 +29102,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -29649,7 +29111,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_016_GetOverlayFlag_params +struct IVROverlay_IVROverlay_014_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -29658,7 +29120,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -29667,7 +29129,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_016_SetOverlayColor_params +struct IVROverlay_IVROverlay_014_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -29677,7 +29139,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -29687,7 +29149,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_016_GetOverlayColor_params +struct IVROverlay_IVROverlay_014_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -29697,7 +29159,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -29707,7 +29169,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_016_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_014_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -29715,7 +29177,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -29723,7 +29185,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_016_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_014_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -29731,7 +29193,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -29739,7 +29201,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_016_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_014_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -29747,7 +29209,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -29755,7 +29217,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_016_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_014_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -29763,7 +29225,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -29771,7 +29233,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_016_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_014_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -29779,7 +29241,7 @@ struct IVROverlay_IVROverlay_016_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -29787,7 +29249,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_016_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_014_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -29795,7 +29257,7 @@ struct IVROverlay_IVROverlay_016_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -29803,7 +29265,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_016_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_014_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -29811,7 +29273,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -29819,7 +29281,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_016_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_014_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -29827,7 +29289,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -29835,7 +29297,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_016_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_014_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -29844,7 +29306,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayAutoCurveDistanceRangeInMeters_params float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -29853,7 +29315,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayAutoCurveDistanceRangeInMeters_ float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_016_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_014_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -29862,7 +29324,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayAutoCurveDistanceRangeInMeters_params float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -29871,7 +29333,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayAutoCurveDistanceRangeInMeters_ W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_016_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_014_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -29879,7 +29341,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -29887,7 +29349,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_016_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_014_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -29895,7 +29357,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -29903,7 +29365,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_016_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_014_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -29911,7 +29373,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -29919,7 +29381,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_016_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_014_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -29927,7 +29389,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -29935,47 +29397,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_016_GetOverlayRenderModel_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - char *pchValue; - uint32_t unBufferSize; - HmdColor_t *pColor; - uint32_t *pError; -}; - -struct wow64_IVROverlay_IVROverlay_016_GetOverlayRenderModel_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(char *pchValue, pchValue, char *); - uint32_t unBufferSize; - W32_PTR(HmdColor_t *pColor, pColor, HmdColor_t *); - W32_PTR(uint32_t *pError, pError, uint32_t *); -}; - -struct IVROverlay_IVROverlay_016_SetOverlayRenderModel_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - const char *pchRenderModel; - const HmdColor_t *pColor; -}; - -struct wow64_IVROverlay_IVROverlay_016_SetOverlayRenderModel_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(const char *pchRenderModel, pchRenderModel, const char *); - W32_PTR(const HmdColor_t *pColor, pColor, const HmdColor_t *); -}; - -struct IVROverlay_IVROverlay_016_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_014_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -29983,7 +29405,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -29991,7 +29413,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_016_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_014_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -30000,7 +29422,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -30009,7 +29431,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_016_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_014_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -30018,7 +29440,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -30027,7 +29449,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -30036,7 +29458,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -30045,7 +29467,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -30054,7 +29476,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -30063,7 +29485,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -30072,7 +29494,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -30081,7 +29503,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -30091,7 +29513,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -30101,85 +29523,49 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_016_GetOverlayTransformOverlayRelative_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint64_t *ulOverlayHandleParent; - HmdMatrix34_t *pmatParentOverlayToOverlayTransform; -}; - -struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformOverlayRelative_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(uint64_t *ulOverlayHandleParent, ulOverlayHandleParent, uint64_t *); - W32_PTR(HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, HmdMatrix34_t *); -}; - -struct IVROverlay_IVROverlay_016_SetOverlayTransformOverlayRelative_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint64_t ulOverlayHandleParent; - const HmdMatrix34_t *pmatParentOverlayToOverlayTransform; -}; - -struct wow64_IVROverlay_IVROverlay_016_SetOverlayTransformOverlayRelative_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint64_t ulOverlayHandleParent; - W32_PTR(const HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, const HmdMatrix34_t *); -}; - -struct IVROverlay_IVROverlay_016_ShowOverlay_params +struct IVROverlay_IVROverlay_014_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_016_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_014_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_016_HideOverlay_params +struct IVROverlay_IVROverlay_014_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_016_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_014_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_016_IsOverlayVisible_params +struct IVROverlay_IVROverlay_014_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_016_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_014_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_016_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_014_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -30189,7 +29575,7 @@ struct IVROverlay_IVROverlay_016_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_016_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_014_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -30199,7 +29585,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_016_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_014_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -30208,7 +29594,7 @@ struct IVROverlay_IVROverlay_016_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_016_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_014_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -30217,7 +29603,7 @@ struct wow64_IVROverlay_IVROverlay_016_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_016_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_014_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -30225,7 +29611,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -30233,7 +29619,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_016_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_014_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -30241,7 +29627,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -30249,7 +29635,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_016_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_014_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -30257,7 +29643,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -30265,7 +29651,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_016_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_014_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -30273,7 +29659,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -30281,7 +29667,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_016_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_014_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -30290,7 +29676,7 @@ struct IVROverlay_IVROverlay_016_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_016_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_014_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -30299,7 +29685,7 @@ struct wow64_IVROverlay_IVROverlay_016_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_016_HandleControllerOverlayInteractionAsMouse_params +struct IVROverlay_IVROverlay_014_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -30307,7 +29693,7 @@ struct IVROverlay_IVROverlay_016_HandleControllerOverlayInteractionAsMouse_param uint32_t unControllerDeviceIndex; }; -struct wow64_IVROverlay_IVROverlay_016_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVROverlay_IVROverlay_014_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -30315,47 +29701,47 @@ struct wow64_IVROverlay_IVROverlay_016_HandleControllerOverlayInteractionAsMouse uint32_t unControllerDeviceIndex; }; -struct IVROverlay_IVROverlay_016_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_014_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_016_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_014_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_016_GetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_014_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_016_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_014_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_016_SetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_014_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct wow64_IVROverlay_IVROverlay_016_SetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_014_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct IVROverlay_IVROverlay_016_SetOverlayNeighbor_params +struct IVROverlay_IVROverlay_014_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -30364,7 +29750,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayNeighbor_params uint64_t ulTo; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayNeighbor_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -30373,7 +29759,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayNeighbor_params uint64_t ulTo; }; -struct IVROverlay_IVROverlay_016_MoveGamepadFocusToNeighbor_params +struct IVROverlay_IVROverlay_014_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -30381,7 +29767,7 @@ struct IVROverlay_IVROverlay_016_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct wow64_IVROverlay_IVROverlay_016_MoveGamepadFocusToNeighbor_params +struct wow64_IVROverlay_IVROverlay_014_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -30389,7 +29775,7 @@ struct wow64_IVROverlay_IVROverlay_016_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct IVROverlay_IVROverlay_016_SetOverlayTexture_params +struct IVROverlay_IVROverlay_014_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -30397,7 +29783,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -30405,21 +29791,21 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_016_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_014_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_016_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_014_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_016_SetOverlayRaw_params +struct IVROverlay_IVROverlay_014_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -30430,7 +29816,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -30441,7 +29827,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_016_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_014_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -30449,7 +29835,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -30457,7 +29843,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_016_GetOverlayTexture_params +struct IVROverlay_IVROverlay_014_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -30472,7 +29858,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -30487,7 +29873,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_016_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_014_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -30495,7 +29881,7 @@ struct IVROverlay_IVROverlay_016_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_016_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_014_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -30503,7 +29889,7 @@ struct wow64_IVROverlay_IVROverlay_016_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_016_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_014_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -30512,7 +29898,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -30521,7 +29907,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_016_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_014_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -30531,7 +29917,7 @@ struct IVROverlay_IVROverlay_016_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_016_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_014_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -30541,33 +29927,33 @@ struct wow64_IVROverlay_IVROverlay_016_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_016_IsDashboardVisible_params +struct IVROverlay_IVROverlay_014_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_016_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_014_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_016_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_014_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_016_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_014_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_016_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_014_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -30575,7 +29961,7 @@ struct IVROverlay_IVROverlay_016_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_016_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_014_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -30583,7 +29969,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_016_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_014_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -30591,7 +29977,7 @@ struct IVROverlay_IVROverlay_016_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_016_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_014_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -30599,31 +29985,31 @@ struct wow64_IVROverlay_IVROverlay_016_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_016_ShowDashboard_params +struct IVROverlay_IVROverlay_014_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_016_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_014_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_016_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_014_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_016_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_014_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_016_ShowKeyboard_params +struct IVROverlay_IVROverlay_014_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -30636,7 +30022,7 @@ struct IVROverlay_IVROverlay_016_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_016_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_014_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -30649,7 +30035,7 @@ struct wow64_IVROverlay_IVROverlay_016_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_016_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_014_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -30663,7 +30049,7 @@ struct IVROverlay_IVROverlay_016_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_016_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_014_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -30677,7 +30063,7 @@ struct wow64_IVROverlay_IVROverlay_016_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_016_GetKeyboardText_params +struct IVROverlay_IVROverlay_014_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -30685,7 +30071,7 @@ struct IVROverlay_IVROverlay_016_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_016_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_014_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -30693,45 +30079,45 @@ struct wow64_IVROverlay_IVROverlay_016_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_016_HideKeyboard_params +struct IVROverlay_IVROverlay_014_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_016_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_014_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_016_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_014_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_016_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_014_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_016_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_014_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_016_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_014_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_016_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_014_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -30741,7 +30127,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -30751,7 +30137,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_016_GetOverlayFlags_params +struct IVROverlay_IVROverlay_014_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -30759,7 +30145,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayFlags_params uint32_t *pFlags; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayFlags_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -30767,7 +30153,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayFlags_params W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVROverlay_IVROverlay_016_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_014_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -30779,7 +30165,7 @@ struct IVROverlay_IVROverlay_016_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_016_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_014_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -30791,17 +30177,7 @@ struct wow64_IVROverlay_IVROverlay_016_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_016_CloseMessageOverlay_params -{ - struct u_iface u_iface; -}; - -struct wow64_IVROverlay_IVROverlay_016_CloseMessageOverlay_params -{ - struct u_iface u_iface; -}; - -struct IVROverlay_IVROverlay_017_FindOverlay_params +struct IVROverlay_IVROverlay_016_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -30809,7 +30185,7 @@ struct IVROverlay_IVROverlay_017_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_017_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_016_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -30817,7 +30193,7 @@ struct wow64_IVROverlay_IVROverlay_017_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_017_CreateOverlay_params +struct IVROverlay_IVROverlay_016_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -30826,7 +30202,7 @@ struct IVROverlay_IVROverlay_017_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_017_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_016_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -30835,47 +30211,47 @@ struct wow64_IVROverlay_IVROverlay_017_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_017_DestroyOverlay_params +struct IVROverlay_IVROverlay_016_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_017_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_016_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_017_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_016_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_017_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_016_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_017_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_016_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_017_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_016_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_017_GetOverlayKey_params +struct IVROverlay_IVROverlay_016_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -30885,7 +30261,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -30895,7 +30271,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_017_GetOverlayName_params +struct IVROverlay_IVROverlay_016_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -30905,7 +30281,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -30915,7 +30291,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_017_SetOverlayName_params +struct IVROverlay_IVROverlay_016_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -30923,7 +30299,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayName_params const char *pchName; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayName_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -30931,7 +30307,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayName_params W32_PTR(const char *pchName, pchName, const char *); }; -struct IVROverlay_IVROverlay_017_GetOverlayImageData_params +struct IVROverlay_IVROverlay_016_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -30942,7 +30318,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -30953,21 +30329,21 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_017_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_016_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_017_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_016_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -30975,7 +30351,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -30983,21 +30359,21 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_017_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_016_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_017_SetOverlayFlag_params +struct IVROverlay_IVROverlay_016_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -31006,7 +30382,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -31015,7 +30391,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_017_GetOverlayFlag_params +struct IVROverlay_IVROverlay_016_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -31024,7 +30400,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -31033,7 +30409,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_017_SetOverlayColor_params +struct IVROverlay_IVROverlay_016_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -31043,7 +30419,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -31053,7 +30429,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_017_GetOverlayColor_params +struct IVROverlay_IVROverlay_016_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -31063,7 +30439,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -31073,7 +30449,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_017_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_016_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -31081,7 +30457,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -31089,7 +30465,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_017_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_016_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -31097,7 +30473,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -31105,7 +30481,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_017_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_016_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -31113,7 +30489,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -31121,7 +30497,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_017_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_016_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -31129,7 +30505,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -31137,7 +30513,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_017_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_016_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -31145,7 +30521,7 @@ struct IVROverlay_IVROverlay_017_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -31153,7 +30529,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_017_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_016_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -31161,7 +30537,7 @@ struct IVROverlay_IVROverlay_017_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -31169,7 +30545,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_017_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_016_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -31177,7 +30553,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -31185,7 +30561,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_017_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_016_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -31193,7 +30569,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -31201,7 +30577,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_017_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_016_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -31210,7 +30586,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayAutoCurveDistanceRangeInMeters_params float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -31219,7 +30595,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayAutoCurveDistanceRangeInMeters_ float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_017_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_016_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -31228,7 +30604,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayAutoCurveDistanceRangeInMeters_params float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -31237,7 +30613,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayAutoCurveDistanceRangeInMeters_ W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_017_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_016_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -31245,7 +30621,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -31253,7 +30629,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_017_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_016_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -31261,7 +30637,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -31269,7 +30645,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_017_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_016_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -31277,7 +30653,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -31285,7 +30661,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_017_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_016_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -31293,7 +30669,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -31301,7 +30677,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_017_GetOverlayRenderModel_params +struct IVROverlay_IVROverlay_016_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -31312,7 +30688,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayRenderModel_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -31323,7 +30699,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayRenderModel_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_017_SetOverlayRenderModel_params +struct IVROverlay_IVROverlay_016_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -31332,7 +30708,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayRenderModel_params const HmdColor_t *pColor; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -31341,7 +30717,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayRenderModel_params W32_PTR(const HmdColor_t *pColor, pColor, const HmdColor_t *); }; -struct IVROverlay_IVROverlay_017_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_016_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -31349,7 +30725,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -31357,7 +30733,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_017_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_016_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -31366,7 +30742,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -31375,7 +30751,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_017_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_016_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -31384,7 +30760,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -31393,7 +30769,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -31402,7 +30778,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -31411,7 +30787,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -31420,7 +30796,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -31429,7 +30805,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -31438,7 +30814,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -31447,7 +30823,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -31457,7 +30833,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -31467,7 +30843,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_017_GetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_016_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -31476,7 +30852,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayTransformOverlayRelative_params HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -31485,7 +30861,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformOverlayRelative_params W32_PTR(HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_017_SetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_016_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -31494,7 +30870,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayTransformOverlayRelative_params const HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -31503,49 +30879,49 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformOverlayRelative_params W32_PTR(const HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_017_ShowOverlay_params +struct IVROverlay_IVROverlay_016_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_017_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_016_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_017_HideOverlay_params +struct IVROverlay_IVROverlay_016_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_017_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_016_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_017_IsOverlayVisible_params +struct IVROverlay_IVROverlay_016_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_017_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_016_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_017_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_016_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -31555,7 +30931,7 @@ struct IVROverlay_IVROverlay_017_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_017_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_016_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -31565,25 +30941,25 @@ struct wow64_IVROverlay_IVROverlay_017_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_017_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_016_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_1011 *pEvent; + w_VREvent_t_106 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_017_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_016_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_1011 *pEvent, pEvent, w32_VREvent_t_1011 *); + W32_PTR(w32_VREvent_t_106 *pEvent, pEvent, w32_VREvent_t_106 *); uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_017_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_016_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -31591,7 +30967,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -31599,7 +30975,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_017_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_016_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -31607,7 +30983,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -31615,7 +30991,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_017_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_016_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -31623,7 +30999,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -31631,7 +31007,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_017_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_016_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -31639,7 +31015,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -31647,7 +31023,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_017_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_016_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -31656,7 +31032,7 @@ struct IVROverlay_IVROverlay_017_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_017_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_016_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -31665,7 +31041,7 @@ struct wow64_IVROverlay_IVROverlay_017_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_017_HandleControllerOverlayInteractionAsMouse_params +struct IVROverlay_IVROverlay_016_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -31673,7 +31049,7 @@ struct IVROverlay_IVROverlay_017_HandleControllerOverlayInteractionAsMouse_param uint32_t unControllerDeviceIndex; }; -struct wow64_IVROverlay_IVROverlay_017_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVROverlay_IVROverlay_016_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -31681,47 +31057,47 @@ struct wow64_IVROverlay_IVROverlay_017_HandleControllerOverlayInteractionAsMouse uint32_t unControllerDeviceIndex; }; -struct IVROverlay_IVROverlay_017_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_016_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_017_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_016_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_017_GetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_016_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_017_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_016_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_017_SetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_016_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct wow64_IVROverlay_IVROverlay_017_SetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_016_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct IVROverlay_IVROverlay_017_SetOverlayNeighbor_params +struct IVROverlay_IVROverlay_016_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -31730,7 +31106,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayNeighbor_params uint64_t ulTo; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayNeighbor_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -31739,7 +31115,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayNeighbor_params uint64_t ulTo; }; -struct IVROverlay_IVROverlay_017_MoveGamepadFocusToNeighbor_params +struct IVROverlay_IVROverlay_016_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -31747,7 +31123,7 @@ struct IVROverlay_IVROverlay_017_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct wow64_IVROverlay_IVROverlay_017_MoveGamepadFocusToNeighbor_params +struct wow64_IVROverlay_IVROverlay_016_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -31755,47 +31131,7 @@ struct wow64_IVROverlay_IVROverlay_017_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct IVROverlay_IVROverlay_017_SetOverlayDualAnalogTransform_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlay; - uint32_t eWhich; - const HmdVector2_t *vCenter; - float fRadius; -}; - -struct wow64_IVROverlay_IVROverlay_017_SetOverlayDualAnalogTransform_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlay; - uint32_t eWhich; - W32_PTR(const HmdVector2_t *vCenter, vCenter, const HmdVector2_t *); - float fRadius; -}; - -struct IVROverlay_IVROverlay_017_GetOverlayDualAnalogTransform_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlay; - uint32_t eWhich; - HmdVector2_t *pvCenter; - float *pfRadius; -}; - -struct wow64_IVROverlay_IVROverlay_017_GetOverlayDualAnalogTransform_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlay; - uint32_t eWhich; - W32_PTR(HmdVector2_t *pvCenter, pvCenter, HmdVector2_t *); - W32_PTR(float *pfRadius, pfRadius, float *); -}; - -struct IVROverlay_IVROverlay_017_SetOverlayTexture_params +struct IVROverlay_IVROverlay_016_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -31803,7 +31139,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -31811,21 +31147,21 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_017_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_016_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_017_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_016_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_017_SetOverlayRaw_params +struct IVROverlay_IVROverlay_016_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -31836,7 +31172,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -31847,7 +31183,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_017_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_016_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -31855,7 +31191,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -31863,7 +31199,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_017_GetOverlayTexture_params +struct IVROverlay_IVROverlay_016_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -31878,7 +31214,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -31893,7 +31229,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_017_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_016_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -31901,7 +31237,7 @@ struct IVROverlay_IVROverlay_017_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_017_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_016_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -31909,7 +31245,7 @@ struct wow64_IVROverlay_IVROverlay_017_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_017_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_016_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -31918,7 +31254,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -31927,7 +31263,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_017_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_016_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -31937,7 +31273,7 @@ struct IVROverlay_IVROverlay_017_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_017_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_016_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -31947,33 +31283,33 @@ struct wow64_IVROverlay_IVROverlay_017_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_017_IsDashboardVisible_params +struct IVROverlay_IVROverlay_016_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_017_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_016_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_017_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_016_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_017_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_016_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_017_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_016_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -31981,7 +31317,7 @@ struct IVROverlay_IVROverlay_017_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_017_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_016_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -31989,7 +31325,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_017_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_016_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -31997,7 +31333,7 @@ struct IVROverlay_IVROverlay_017_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_017_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_016_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -32005,31 +31341,31 @@ struct wow64_IVROverlay_IVROverlay_017_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_017_ShowDashboard_params +struct IVROverlay_IVROverlay_016_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_017_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_016_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_017_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_016_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_017_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_016_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_017_ShowKeyboard_params +struct IVROverlay_IVROverlay_016_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -32042,7 +31378,7 @@ struct IVROverlay_IVROverlay_017_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_017_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_016_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -32055,7 +31391,7 @@ struct wow64_IVROverlay_IVROverlay_017_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_017_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_016_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -32069,7 +31405,7 @@ struct IVROverlay_IVROverlay_017_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_017_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_016_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -32083,7 +31419,7 @@ struct wow64_IVROverlay_IVROverlay_017_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_017_GetKeyboardText_params +struct IVROverlay_IVROverlay_016_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -32091,7 +31427,7 @@ struct IVROverlay_IVROverlay_017_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_017_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_016_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -32099,45 +31435,45 @@ struct wow64_IVROverlay_IVROverlay_017_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_017_HideKeyboard_params +struct IVROverlay_IVROverlay_016_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_017_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_016_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_017_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_016_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_017_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_016_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_017_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_016_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_017_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_016_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_017_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_016_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -32147,7 +31483,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -32157,7 +31493,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_017_GetOverlayFlags_params +struct IVROverlay_IVROverlay_016_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -32165,7 +31501,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayFlags_params uint32_t *pFlags; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayFlags_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -32173,7 +31509,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayFlags_params W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVROverlay_IVROverlay_017_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_016_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -32185,7 +31521,7 @@ struct IVROverlay_IVROverlay_017_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_017_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_016_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -32197,17 +31533,17 @@ struct wow64_IVROverlay_IVROverlay_017_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_017_CloseMessageOverlay_params +struct IVROverlay_IVROverlay_016_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_017_CloseMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_016_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_018_FindOverlay_params +struct IVROverlay_IVROverlay_017_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -32215,7 +31551,7 @@ struct IVROverlay_IVROverlay_018_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_018_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_017_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -32223,7 +31559,7 @@ struct wow64_IVROverlay_IVROverlay_018_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_018_CreateOverlay_params +struct IVROverlay_IVROverlay_017_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -32232,7 +31568,7 @@ struct IVROverlay_IVROverlay_018_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_018_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_017_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -32241,47 +31577,47 @@ struct wow64_IVROverlay_IVROverlay_018_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_018_DestroyOverlay_params +struct IVROverlay_IVROverlay_017_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_018_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_017_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_018_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_017_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_018_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_017_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_018_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_017_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_018_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_017_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_018_GetOverlayKey_params +struct IVROverlay_IVROverlay_017_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -32291,7 +31627,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -32301,7 +31637,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_018_GetOverlayName_params +struct IVROverlay_IVROverlay_017_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -32311,7 +31647,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -32321,7 +31657,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_018_SetOverlayName_params +struct IVROverlay_IVROverlay_017_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -32329,7 +31665,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayName_params const char *pchName; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayName_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -32337,7 +31673,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayName_params W32_PTR(const char *pchName, pchName, const char *); }; -struct IVROverlay_IVROverlay_018_GetOverlayImageData_params +struct IVROverlay_IVROverlay_017_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -32348,7 +31684,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -32359,21 +31695,21 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_018_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_017_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_018_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_017_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -32381,7 +31717,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -32389,21 +31725,21 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_018_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_017_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_018_SetOverlayFlag_params +struct IVROverlay_IVROverlay_017_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -32412,7 +31748,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -32421,7 +31757,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_018_GetOverlayFlag_params +struct IVROverlay_IVROverlay_017_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -32430,7 +31766,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -32439,7 +31775,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_018_SetOverlayColor_params +struct IVROverlay_IVROverlay_017_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -32449,7 +31785,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -32459,7 +31795,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_018_GetOverlayColor_params +struct IVROverlay_IVROverlay_017_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -32469,7 +31805,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -32479,7 +31815,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_018_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_017_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -32487,7 +31823,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -32495,7 +31831,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_018_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_017_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -32503,7 +31839,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -32511,7 +31847,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_018_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_017_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -32519,7 +31855,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -32527,7 +31863,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_018_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_017_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -32535,7 +31871,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -32543,7 +31879,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_018_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_017_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -32551,7 +31887,7 @@ struct IVROverlay_IVROverlay_018_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -32559,7 +31895,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_018_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_017_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -32567,7 +31903,7 @@ struct IVROverlay_IVROverlay_018_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -32575,7 +31911,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_018_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_017_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -32583,7 +31919,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -32591,7 +31927,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_018_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_017_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -32599,7 +31935,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -32607,7 +31943,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_018_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_017_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -32616,7 +31952,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayAutoCurveDistanceRangeInMeters_params float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -32625,7 +31961,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayAutoCurveDistanceRangeInMeters_ float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_018_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_017_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -32634,7 +31970,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayAutoCurveDistanceRangeInMeters_params float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -32643,7 +31979,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayAutoCurveDistanceRangeInMeters_ W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_018_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_017_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -32651,7 +31987,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -32659,7 +31995,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_018_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_017_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -32667,7 +32003,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -32675,7 +32011,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_018_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_017_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -32683,7 +32019,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -32691,7 +32027,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_018_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_017_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -32699,7 +32035,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -32707,7 +32043,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_018_GetOverlayRenderModel_params +struct IVROverlay_IVROverlay_017_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -32718,7 +32054,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayRenderModel_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -32729,7 +32065,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayRenderModel_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_018_SetOverlayRenderModel_params +struct IVROverlay_IVROverlay_017_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -32738,7 +32074,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayRenderModel_params const HmdColor_t *pColor; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -32747,7 +32083,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayRenderModel_params W32_PTR(const HmdColor_t *pColor, pColor, const HmdColor_t *); }; -struct IVROverlay_IVROverlay_018_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_017_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -32755,7 +32091,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -32763,7 +32099,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_018_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_017_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -32772,7 +32108,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -32781,7 +32117,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_018_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_017_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -32790,7 +32126,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -32799,7 +32135,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -32808,7 +32144,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -32817,7 +32153,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -32826,7 +32162,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -32835,7 +32171,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -32844,7 +32180,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -32853,7 +32189,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -32863,7 +32199,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -32873,7 +32209,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_018_GetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_017_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -32882,7 +32218,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayTransformOverlayRelative_params HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -32891,7 +32227,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformOverlayRelative_params W32_PTR(HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_018_SetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_017_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -32900,7 +32236,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayTransformOverlayRelative_params const HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -32909,49 +32245,49 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformOverlayRelative_params W32_PTR(const HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_018_ShowOverlay_params +struct IVROverlay_IVROverlay_017_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_018_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_017_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_018_HideOverlay_params +struct IVROverlay_IVROverlay_017_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_018_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_017_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_018_IsOverlayVisible_params +struct IVROverlay_IVROverlay_017_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_018_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_017_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_018_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_017_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -32961,7 +32297,7 @@ struct IVROverlay_IVROverlay_018_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_018_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_017_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -32971,25 +32307,25 @@ struct wow64_IVROverlay_IVROverlay_018_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_018_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_017_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_1016 *pEvent; + w_VREvent_t_1011 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_018_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_017_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_1016 *pEvent, pEvent, w32_VREvent_t_1016 *); + W32_PTR(w32_VREvent_t_1011 *pEvent, pEvent, w32_VREvent_t_1011 *); uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_018_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_017_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -32997,7 +32333,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -33005,7 +32341,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_018_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_017_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -33013,7 +32349,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -33021,7 +32357,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_018_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_017_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -33029,7 +32365,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -33037,7 +32373,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_018_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_017_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -33045,7 +32381,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -33053,7 +32389,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_018_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_017_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -33062,7 +32398,7 @@ struct IVROverlay_IVROverlay_018_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_018_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_017_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -33071,47 +32407,63 @@ struct wow64_IVROverlay_IVROverlay_018_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_018_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_017_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; + uint32_t unControllerDeviceIndex; }; -struct wow64_IVROverlay_IVROverlay_018_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_017_HandleControllerOverlayInteractionAsMouse_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; + uint32_t unControllerDeviceIndex; +}; + +struct IVROverlay_IVROverlay_017_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_018_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_017_IsHoverTargetOverlay_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; +}; + +struct IVROverlay_IVROverlay_017_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_018_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_017_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_018_SetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_017_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct wow64_IVROverlay_IVROverlay_018_SetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_017_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct IVROverlay_IVROverlay_018_SetOverlayNeighbor_params +struct IVROverlay_IVROverlay_017_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -33120,7 +32472,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayNeighbor_params uint64_t ulTo; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayNeighbor_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -33129,7 +32481,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayNeighbor_params uint64_t ulTo; }; -struct IVROverlay_IVROverlay_018_MoveGamepadFocusToNeighbor_params +struct IVROverlay_IVROverlay_017_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -33137,7 +32489,7 @@ struct IVROverlay_IVROverlay_018_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct wow64_IVROverlay_IVROverlay_018_MoveGamepadFocusToNeighbor_params +struct wow64_IVROverlay_IVROverlay_017_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -33145,7 +32497,7 @@ struct wow64_IVROverlay_IVROverlay_018_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct IVROverlay_IVROverlay_018_SetOverlayDualAnalogTransform_params +struct IVROverlay_IVROverlay_017_SetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -33155,7 +32507,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayDualAnalogTransform_params float fRadius; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayDualAnalogTransform_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -33165,7 +32517,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayDualAnalogTransform_params float fRadius; }; -struct IVROverlay_IVROverlay_018_GetOverlayDualAnalogTransform_params +struct IVROverlay_IVROverlay_017_GetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -33175,7 +32527,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayDualAnalogTransform_params float *pfRadius; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayDualAnalogTransform_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -33185,7 +32537,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayDualAnalogTransform_params W32_PTR(float *pfRadius, pfRadius, float *); }; -struct IVROverlay_IVROverlay_018_SetOverlayTexture_params +struct IVROverlay_IVROverlay_017_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -33193,7 +32545,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -33201,21 +32553,21 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_018_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_017_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_018_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_017_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_018_SetOverlayRaw_params +struct IVROverlay_IVROverlay_017_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -33226,7 +32578,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -33237,7 +32589,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_018_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_017_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -33245,7 +32597,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -33253,7 +32605,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_018_GetOverlayTexture_params +struct IVROverlay_IVROverlay_017_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -33268,7 +32620,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -33283,7 +32635,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_018_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_017_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -33291,7 +32643,7 @@ struct IVROverlay_IVROverlay_018_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_018_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_017_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -33299,7 +32651,7 @@ struct wow64_IVROverlay_IVROverlay_018_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_018_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_017_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -33308,7 +32660,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -33317,7 +32669,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_018_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_017_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -33327,7 +32679,7 @@ struct IVROverlay_IVROverlay_018_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_018_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_017_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -33337,33 +32689,33 @@ struct wow64_IVROverlay_IVROverlay_018_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_018_IsDashboardVisible_params +struct IVROverlay_IVROverlay_017_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_018_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_017_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_018_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_017_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_018_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_017_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_018_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_017_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -33371,7 +32723,7 @@ struct IVROverlay_IVROverlay_018_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_018_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_017_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -33379,7 +32731,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_018_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_017_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -33387,7 +32739,7 @@ struct IVROverlay_IVROverlay_018_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_018_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_017_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -33395,31 +32747,31 @@ struct wow64_IVROverlay_IVROverlay_018_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_018_ShowDashboard_params +struct IVROverlay_IVROverlay_017_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_018_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_017_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_018_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_017_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_018_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_017_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_018_ShowKeyboard_params +struct IVROverlay_IVROverlay_017_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -33432,7 +32784,7 @@ struct IVROverlay_IVROverlay_018_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_018_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_017_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -33445,7 +32797,7 @@ struct wow64_IVROverlay_IVROverlay_018_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_018_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_017_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -33459,7 +32811,7 @@ struct IVROverlay_IVROverlay_018_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_018_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_017_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -33473,7 +32825,7 @@ struct wow64_IVROverlay_IVROverlay_018_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_018_GetKeyboardText_params +struct IVROverlay_IVROverlay_017_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -33481,7 +32833,7 @@ struct IVROverlay_IVROverlay_018_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_018_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_017_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -33489,45 +32841,45 @@ struct wow64_IVROverlay_IVROverlay_018_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_018_HideKeyboard_params +struct IVROverlay_IVROverlay_017_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_018_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_017_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_018_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_017_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_018_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_017_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_018_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_017_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_018_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_017_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_018_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_017_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -33537,7 +32889,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -33547,7 +32899,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_018_GetOverlayFlags_params +struct IVROverlay_IVROverlay_017_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -33555,7 +32907,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayFlags_params uint32_t *pFlags; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayFlags_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -33563,7 +32915,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayFlags_params W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVROverlay_IVROverlay_018_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_017_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -33575,7 +32927,7 @@ struct IVROverlay_IVROverlay_018_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_018_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_017_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -33587,17 +32939,17 @@ struct wow64_IVROverlay_IVROverlay_018_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_018_CloseMessageOverlay_params +struct IVROverlay_IVROverlay_017_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_018_CloseMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_017_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_019_FindOverlay_params +struct IVROverlay_IVROverlay_018_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -33605,7 +32957,7 @@ struct IVROverlay_IVROverlay_019_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_019_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_018_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -33613,7 +32965,7 @@ struct wow64_IVROverlay_IVROverlay_019_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_019_CreateOverlay_params +struct IVROverlay_IVROverlay_018_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -33622,7 +32974,7 @@ struct IVROverlay_IVROverlay_019_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_019_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_018_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -33631,47 +32983,47 @@ struct wow64_IVROverlay_IVROverlay_019_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_019_DestroyOverlay_params +struct IVROverlay_IVROverlay_018_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_019_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_018_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_019_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_018_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_019_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_018_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_019_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_018_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_019_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_018_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_019_GetOverlayKey_params +struct IVROverlay_IVROverlay_018_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -33681,7 +33033,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -33691,7 +33043,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_019_GetOverlayName_params +struct IVROverlay_IVROverlay_018_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -33701,7 +33053,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -33711,7 +33063,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_019_SetOverlayName_params +struct IVROverlay_IVROverlay_018_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -33719,7 +33071,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayName_params const char *pchName; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayName_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -33727,7 +33079,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayName_params W32_PTR(const char *pchName, pchName, const char *); }; -struct IVROverlay_IVROverlay_019_GetOverlayImageData_params +struct IVROverlay_IVROverlay_018_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -33738,7 +33090,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -33749,21 +33101,21 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_019_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_018_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_019_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_018_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -33771,7 +33123,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -33779,21 +33131,21 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_019_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_018_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_019_SetOverlayFlag_params +struct IVROverlay_IVROverlay_018_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -33802,7 +33154,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -33811,7 +33163,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_019_GetOverlayFlag_params +struct IVROverlay_IVROverlay_018_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -33820,7 +33172,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -33829,7 +33181,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_019_SetOverlayColor_params +struct IVROverlay_IVROverlay_018_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -33839,7 +33191,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -33849,7 +33201,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_019_GetOverlayColor_params +struct IVROverlay_IVROverlay_018_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -33859,7 +33211,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -33869,7 +33221,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_019_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_018_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -33877,7 +33229,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -33885,7 +33237,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_019_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_018_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -33893,7 +33245,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -33901,7 +33253,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_019_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_018_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -33909,7 +33261,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -33917,7 +33269,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_019_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_018_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -33925,7 +33277,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -33933,7 +33285,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_019_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_018_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -33941,7 +33293,7 @@ struct IVROverlay_IVROverlay_019_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -33949,7 +33301,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_019_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_018_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -33957,7 +33309,7 @@ struct IVROverlay_IVROverlay_019_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -33965,7 +33317,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_019_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_018_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -33973,7 +33325,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -33981,7 +33333,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_019_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_018_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -33989,7 +33341,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -33997,7 +33349,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_019_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_018_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -34006,7 +33358,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayAutoCurveDistanceRangeInMeters_params float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -34015,7 +33367,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayAutoCurveDistanceRangeInMeters_ float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_019_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_018_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -34024,7 +33376,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayAutoCurveDistanceRangeInMeters_params float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -34033,7 +33385,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayAutoCurveDistanceRangeInMeters_ W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_019_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_018_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -34041,7 +33393,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -34049,7 +33401,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_019_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_018_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -34057,7 +33409,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -34065,7 +33417,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_019_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_018_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -34073,7 +33425,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -34081,7 +33433,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_019_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_018_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -34089,7 +33441,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -34097,7 +33449,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_019_GetOverlayRenderModel_params +struct IVROverlay_IVROverlay_018_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -34108,7 +33460,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayRenderModel_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -34119,7 +33471,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayRenderModel_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_019_SetOverlayRenderModel_params +struct IVROverlay_IVROverlay_018_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -34128,7 +33480,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayRenderModel_params const HmdColor_t *pColor; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -34137,7 +33489,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayRenderModel_params W32_PTR(const HmdColor_t *pColor, pColor, const HmdColor_t *); }; -struct IVROverlay_IVROverlay_019_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_018_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -34145,7 +33497,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -34153,7 +33505,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_019_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_018_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -34162,7 +33514,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -34171,7 +33523,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_019_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_018_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -34180,7 +33532,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -34189,7 +33541,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -34198,7 +33550,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -34207,7 +33559,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -34216,7 +33568,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -34225,7 +33577,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -34234,7 +33586,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -34243,7 +33595,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -34253,7 +33605,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -34263,7 +33615,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_019_GetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_018_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -34272,7 +33624,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayTransformOverlayRelative_params HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -34281,7 +33633,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformOverlayRelative_params W32_PTR(HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_019_SetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_018_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -34290,7 +33642,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayTransformOverlayRelative_params const HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -34299,49 +33651,49 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformOverlayRelative_params W32_PTR(const HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_019_ShowOverlay_params +struct IVROverlay_IVROverlay_018_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_019_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_018_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_019_HideOverlay_params +struct IVROverlay_IVROverlay_018_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_019_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_018_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_019_IsOverlayVisible_params +struct IVROverlay_IVROverlay_018_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_019_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_018_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_019_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_018_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -34351,7 +33703,7 @@ struct IVROverlay_IVROverlay_019_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_019_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_018_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -34361,25 +33713,25 @@ struct wow64_IVROverlay_IVROverlay_019_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_019_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_018_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_1322 *pEvent; + w_VREvent_t_1016 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_019_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_018_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_1322 *pEvent, pEvent, w32_VREvent_t_1322 *); + W32_PTR(w32_VREvent_t_1016 *pEvent, pEvent, w32_VREvent_t_1016 *); uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_019_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_018_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -34387,7 +33739,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -34395,7 +33747,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_019_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_018_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -34403,7 +33755,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -34411,7 +33763,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_019_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_018_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -34419,7 +33771,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -34427,7 +33779,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_019_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_018_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -34435,7 +33787,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -34443,7 +33795,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_019_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_018_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -34452,7 +33804,7 @@ struct IVROverlay_IVROverlay_019_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_019_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_018_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -34461,47 +33813,47 @@ struct wow64_IVROverlay_IVROverlay_019_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_019_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_018_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_019_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_018_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_019_GetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_018_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_019_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_018_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_019_SetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_018_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct wow64_IVROverlay_IVROverlay_019_SetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_018_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct IVROverlay_IVROverlay_019_SetOverlayNeighbor_params +struct IVROverlay_IVROverlay_018_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -34510,7 +33862,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayNeighbor_params uint64_t ulTo; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayNeighbor_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -34519,7 +33871,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayNeighbor_params uint64_t ulTo; }; -struct IVROverlay_IVROverlay_019_MoveGamepadFocusToNeighbor_params +struct IVROverlay_IVROverlay_018_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -34527,7 +33879,7 @@ struct IVROverlay_IVROverlay_019_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct wow64_IVROverlay_IVROverlay_019_MoveGamepadFocusToNeighbor_params +struct wow64_IVROverlay_IVROverlay_018_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -34535,27 +33887,27 @@ struct wow64_IVROverlay_IVROverlay_019_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct IVROverlay_IVROverlay_019_SetOverlayDualAnalogTransform_params +struct IVROverlay_IVROverlay_018_SetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlay; uint32_t eWhich; - const HmdVector2_t *pvCenter; + const HmdVector2_t *vCenter; float fRadius; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayDualAnalogTransform_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlay; uint32_t eWhich; - W32_PTR(const HmdVector2_t *pvCenter, pvCenter, const HmdVector2_t *); + W32_PTR(const HmdVector2_t *vCenter, vCenter, const HmdVector2_t *); float fRadius; }; -struct IVROverlay_IVROverlay_019_GetOverlayDualAnalogTransform_params +struct IVROverlay_IVROverlay_018_GetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -34565,7 +33917,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayDualAnalogTransform_params float *pfRadius; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayDualAnalogTransform_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -34575,7 +33927,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayDualAnalogTransform_params W32_PTR(float *pfRadius, pfRadius, float *); }; -struct IVROverlay_IVROverlay_019_SetOverlayTexture_params +struct IVROverlay_IVROverlay_018_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -34583,7 +33935,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -34591,21 +33943,21 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_019_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_018_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_019_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_018_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_019_SetOverlayRaw_params +struct IVROverlay_IVROverlay_018_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -34616,7 +33968,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -34627,7 +33979,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_019_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_018_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -34635,7 +33987,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -34643,7 +33995,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_019_GetOverlayTexture_params +struct IVROverlay_IVROverlay_018_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -34658,7 +34010,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -34673,7 +34025,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_019_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_018_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -34681,7 +34033,7 @@ struct IVROverlay_IVROverlay_019_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_019_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_018_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -34689,7 +34041,7 @@ struct wow64_IVROverlay_IVROverlay_019_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_019_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_018_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -34698,7 +34050,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -34707,7 +34059,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_019_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_018_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -34717,7 +34069,7 @@ struct IVROverlay_IVROverlay_019_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_019_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_018_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -34727,33 +34079,33 @@ struct wow64_IVROverlay_IVROverlay_019_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_019_IsDashboardVisible_params +struct IVROverlay_IVROverlay_018_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_019_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_018_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_019_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_018_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_019_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_018_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_019_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_018_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -34761,7 +34113,7 @@ struct IVROverlay_IVROverlay_019_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_019_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_018_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -34769,7 +34121,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_019_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_018_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -34777,7 +34129,7 @@ struct IVROverlay_IVROverlay_019_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_019_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_018_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -34785,31 +34137,31 @@ struct wow64_IVROverlay_IVROverlay_019_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_019_ShowDashboard_params +struct IVROverlay_IVROverlay_018_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_019_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_018_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_019_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_018_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_019_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_018_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_019_ShowKeyboard_params +struct IVROverlay_IVROverlay_018_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -34822,7 +34174,7 @@ struct IVROverlay_IVROverlay_019_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_019_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_018_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -34835,7 +34187,7 @@ struct wow64_IVROverlay_IVROverlay_019_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_019_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_018_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -34849,7 +34201,7 @@ struct IVROverlay_IVROverlay_019_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_019_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_018_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -34863,7 +34215,7 @@ struct wow64_IVROverlay_IVROverlay_019_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_019_GetKeyboardText_params +struct IVROverlay_IVROverlay_018_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -34871,7 +34223,7 @@ struct IVROverlay_IVROverlay_019_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_019_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_018_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -34879,45 +34231,45 @@ struct wow64_IVROverlay_IVROverlay_019_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_019_HideKeyboard_params +struct IVROverlay_IVROverlay_018_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_019_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_018_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_019_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_018_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_019_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_018_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_019_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_018_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_019_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_018_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_019_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_018_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -34927,7 +34279,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -34937,7 +34289,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_019_GetOverlayFlags_params +struct IVROverlay_IVROverlay_018_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -34945,7 +34297,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayFlags_params uint32_t *pFlags; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayFlags_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -34953,7 +34305,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayFlags_params W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVROverlay_IVROverlay_019_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_018_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -34965,7 +34317,7 @@ struct IVROverlay_IVROverlay_019_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_019_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_018_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -34977,17 +34329,17 @@ struct wow64_IVROverlay_IVROverlay_019_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_019_CloseMessageOverlay_params +struct IVROverlay_IVROverlay_018_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_019_CloseMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_018_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_020_FindOverlay_params +struct IVROverlay_IVROverlay_019_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -34995,7 +34347,7 @@ struct IVROverlay_IVROverlay_020_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_020_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_019_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -35003,7 +34355,7 @@ struct wow64_IVROverlay_IVROverlay_020_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_020_CreateOverlay_params +struct IVROverlay_IVROverlay_019_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -35012,7 +34364,7 @@ struct IVROverlay_IVROverlay_020_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_020_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_019_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -35021,21 +34373,47 @@ struct wow64_IVROverlay_IVROverlay_020_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_020_DestroyOverlay_params +struct IVROverlay_IVROverlay_019_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_020_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_019_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_020_GetOverlayKey_params +struct IVROverlay_IVROverlay_019_SetHighQualityOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; +}; + +struct wow64_IVROverlay_IVROverlay_019_SetHighQualityOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; +}; + +struct IVROverlay_IVROverlay_019_GetHighQualityOverlay_params +{ + struct u_iface u_iface; + uint64_t _ret; +}; + +struct wow64_IVROverlay_IVROverlay_019_GetHighQualityOverlay_params +{ + struct u_iface u_iface; + uint64_t _ret; +}; + +struct IVROverlay_IVROverlay_019_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -35045,7 +34423,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -35055,7 +34433,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_020_GetOverlayName_params +struct IVROverlay_IVROverlay_019_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -35065,7 +34443,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -35075,7 +34453,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_020_SetOverlayName_params +struct IVROverlay_IVROverlay_019_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -35083,7 +34461,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayName_params const char *pchName; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayName_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -35091,7 +34469,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayName_params W32_PTR(const char *pchName, pchName, const char *); }; -struct IVROverlay_IVROverlay_020_GetOverlayImageData_params +struct IVROverlay_IVROverlay_019_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -35102,7 +34480,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -35113,21 +34491,21 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_020_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_019_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_020_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_019_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -35135,7 +34513,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -35143,21 +34521,21 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_020_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_019_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_020_SetOverlayFlag_params +struct IVROverlay_IVROverlay_019_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -35166,7 +34544,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -35175,7 +34553,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_020_GetOverlayFlag_params +struct IVROverlay_IVROverlay_019_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -35184,7 +34562,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -35193,7 +34571,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_020_SetOverlayColor_params +struct IVROverlay_IVROverlay_019_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -35203,7 +34581,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -35213,7 +34591,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_020_GetOverlayColor_params +struct IVROverlay_IVROverlay_019_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -35223,7 +34601,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -35233,7 +34611,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_020_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_019_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -35241,7 +34619,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -35249,7 +34627,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_020_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_019_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -35257,7 +34635,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -35265,7 +34643,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_020_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_019_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -35273,7 +34651,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -35281,7 +34659,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_020_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_019_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -35289,7 +34667,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -35297,7 +34675,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_020_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_019_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -35305,7 +34683,7 @@ struct IVROverlay_IVROverlay_020_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -35313,7 +34691,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_020_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_019_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -35321,7 +34699,7 @@ struct IVROverlay_IVROverlay_020_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -35329,7 +34707,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_020_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_019_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -35337,7 +34715,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -35345,7 +34723,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_020_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_019_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -35353,7 +34731,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -35361,7 +34739,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_020_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_019_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -35370,7 +34748,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayAutoCurveDistanceRangeInMeters_params float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -35379,7 +34757,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayAutoCurveDistanceRangeInMeters_ float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_020_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_019_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -35388,7 +34766,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayAutoCurveDistanceRangeInMeters_params float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -35397,7 +34775,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayAutoCurveDistanceRangeInMeters_ W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_020_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_019_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -35405,7 +34783,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -35413,7 +34791,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_020_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_019_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -35421,7 +34799,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -35429,7 +34807,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_020_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_019_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -35437,7 +34815,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -35445,7 +34823,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_020_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_019_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -35453,7 +34831,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -35461,7 +34839,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_020_GetOverlayRenderModel_params +struct IVROverlay_IVROverlay_019_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -35472,7 +34850,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayRenderModel_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -35483,7 +34861,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayRenderModel_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_020_SetOverlayRenderModel_params +struct IVROverlay_IVROverlay_019_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -35492,7 +34870,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayRenderModel_params const HmdColor_t *pColor; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -35501,7 +34879,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayRenderModel_params W32_PTR(const HmdColor_t *pColor, pColor, const HmdColor_t *); }; -struct IVROverlay_IVROverlay_020_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_019_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -35509,7 +34887,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -35517,7 +34895,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_020_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_019_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -35526,7 +34904,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -35535,7 +34913,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_020_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_019_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -35544,7 +34922,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -35553,7 +34931,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -35562,7 +34940,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -35571,7 +34949,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -35580,7 +34958,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -35589,7 +34967,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -35598,7 +34976,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -35607,7 +34985,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -35617,7 +34995,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -35627,7 +35005,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_020_GetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_019_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -35636,7 +35014,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayTransformOverlayRelative_params HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -35645,7 +35023,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformOverlayRelative_params W32_PTR(HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_020_SetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_019_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -35654,7 +35032,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayTransformOverlayRelative_params const HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -35663,49 +35041,49 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformOverlayRelative_params W32_PTR(const HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_020_ShowOverlay_params +struct IVROverlay_IVROverlay_019_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_020_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_019_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_020_HideOverlay_params +struct IVROverlay_IVROverlay_019_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_020_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_019_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_020_IsOverlayVisible_params +struct IVROverlay_IVROverlay_019_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_020_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_019_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_020_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_019_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -35715,7 +35093,7 @@ struct IVROverlay_IVROverlay_020_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_020_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_019_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -35725,7 +35103,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_020_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_019_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -35734,7 +35112,7 @@ struct IVROverlay_IVROverlay_020_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_020_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_019_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -35743,7 +35121,7 @@ struct wow64_IVROverlay_IVROverlay_020_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_020_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_019_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -35751,7 +35129,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -35759,7 +35137,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_020_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_019_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -35767,7 +35145,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -35775,7 +35153,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_020_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_019_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -35783,7 +35161,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -35791,7 +35169,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_020_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_019_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -35799,7 +35177,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -35807,7 +35185,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_020_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_019_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -35816,7 +35194,7 @@ struct IVROverlay_IVROverlay_020_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_020_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_019_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -35825,47 +35203,47 @@ struct wow64_IVROverlay_IVROverlay_020_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_020_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_019_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_020_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_019_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_020_GetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_019_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_020_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_019_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_020_SetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_019_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct wow64_IVROverlay_IVROverlay_020_SetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_019_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct IVROverlay_IVROverlay_020_SetOverlayNeighbor_params +struct IVROverlay_IVROverlay_019_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -35874,7 +35252,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayNeighbor_params uint64_t ulTo; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayNeighbor_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -35883,7 +35261,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayNeighbor_params uint64_t ulTo; }; -struct IVROverlay_IVROverlay_020_MoveGamepadFocusToNeighbor_params +struct IVROverlay_IVROverlay_019_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -35891,7 +35269,7 @@ struct IVROverlay_IVROverlay_020_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct wow64_IVROverlay_IVROverlay_020_MoveGamepadFocusToNeighbor_params +struct wow64_IVROverlay_IVROverlay_019_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -35899,7 +35277,7 @@ struct wow64_IVROverlay_IVROverlay_020_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct IVROverlay_IVROverlay_020_SetOverlayDualAnalogTransform_params +struct IVROverlay_IVROverlay_019_SetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -35909,7 +35287,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayDualAnalogTransform_params float fRadius; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayDualAnalogTransform_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -35919,7 +35297,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayDualAnalogTransform_params float fRadius; }; -struct IVROverlay_IVROverlay_020_GetOverlayDualAnalogTransform_params +struct IVROverlay_IVROverlay_019_GetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -35929,7 +35307,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayDualAnalogTransform_params float *pfRadius; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayDualAnalogTransform_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -35939,7 +35317,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayDualAnalogTransform_params W32_PTR(float *pfRadius, pfRadius, float *); }; -struct IVROverlay_IVROverlay_020_SetOverlayTexture_params +struct IVROverlay_IVROverlay_019_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -35947,7 +35325,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -35955,21 +35333,21 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_020_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_019_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_020_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_019_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_020_SetOverlayRaw_params +struct IVROverlay_IVROverlay_019_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -35980,7 +35358,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -35991,7 +35369,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_020_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_019_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -35999,7 +35377,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -36007,7 +35385,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_020_GetOverlayTexture_params +struct IVROverlay_IVROverlay_019_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -36022,7 +35400,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -36037,7 +35415,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_020_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_019_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -36045,7 +35423,7 @@ struct IVROverlay_IVROverlay_020_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_020_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_019_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -36053,7 +35431,7 @@ struct wow64_IVROverlay_IVROverlay_020_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_020_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_019_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -36062,7 +35440,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -36071,7 +35449,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_020_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_019_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -36081,7 +35459,7 @@ struct IVROverlay_IVROverlay_020_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_020_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_019_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -36091,33 +35469,33 @@ struct wow64_IVROverlay_IVROverlay_020_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_020_IsDashboardVisible_params +struct IVROverlay_IVROverlay_019_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_020_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_019_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_020_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_019_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_020_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_019_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_020_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_019_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -36125,7 +35503,7 @@ struct IVROverlay_IVROverlay_020_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_020_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_019_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -36133,7 +35511,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_020_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_019_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -36141,7 +35519,7 @@ struct IVROverlay_IVROverlay_020_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_020_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_019_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -36149,31 +35527,31 @@ struct wow64_IVROverlay_IVROverlay_020_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_020_ShowDashboard_params +struct IVROverlay_IVROverlay_019_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_020_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_019_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_020_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_019_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_020_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_019_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_020_ShowKeyboard_params +struct IVROverlay_IVROverlay_019_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -36186,7 +35564,7 @@ struct IVROverlay_IVROverlay_020_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_020_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_019_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -36199,7 +35577,7 @@ struct wow64_IVROverlay_IVROverlay_020_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_020_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_019_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -36213,7 +35591,7 @@ struct IVROverlay_IVROverlay_020_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_020_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_019_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -36227,7 +35605,7 @@ struct wow64_IVROverlay_IVROverlay_020_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_020_GetKeyboardText_params +struct IVROverlay_IVROverlay_019_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -36235,7 +35613,7 @@ struct IVROverlay_IVROverlay_020_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_020_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_019_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -36243,45 +35621,45 @@ struct wow64_IVROverlay_IVROverlay_020_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_020_HideKeyboard_params +struct IVROverlay_IVROverlay_019_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_020_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_019_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_020_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_019_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_020_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_019_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_020_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_019_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_020_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_019_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_020_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_019_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -36291,7 +35669,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -36301,7 +35679,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_020_GetOverlayFlags_params +struct IVROverlay_IVROverlay_019_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -36309,7 +35687,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayFlags_params uint32_t *pFlags; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayFlags_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -36317,7 +35695,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayFlags_params W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVROverlay_IVROverlay_020_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_019_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -36329,7 +35707,7 @@ struct IVROverlay_IVROverlay_020_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_020_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_019_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -36341,17 +35719,17 @@ struct wow64_IVROverlay_IVROverlay_020_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_020_CloseMessageOverlay_params +struct IVROverlay_IVROverlay_019_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_020_CloseMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_019_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_021_FindOverlay_params +struct IVROverlay_IVROverlay_020_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -36359,7 +35737,7 @@ struct IVROverlay_IVROverlay_021_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_021_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_020_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -36367,7 +35745,7 @@ struct wow64_IVROverlay_IVROverlay_021_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_021_CreateOverlay_params +struct IVROverlay_IVROverlay_020_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -36376,7 +35754,7 @@ struct IVROverlay_IVROverlay_021_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_021_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_020_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -36385,21 +35763,21 @@ struct wow64_IVROverlay_IVROverlay_021_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_021_DestroyOverlay_params +struct IVROverlay_IVROverlay_020_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_021_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_020_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_021_GetOverlayKey_params +struct IVROverlay_IVROverlay_020_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -36409,7 +35787,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -36419,7 +35797,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_021_GetOverlayName_params +struct IVROverlay_IVROverlay_020_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -36429,7 +35807,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -36439,7 +35817,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_021_SetOverlayName_params +struct IVROverlay_IVROverlay_020_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -36447,7 +35825,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayName_params const char *pchName; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayName_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -36455,7 +35833,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayName_params W32_PTR(const char *pchName, pchName, const char *); }; -struct IVROverlay_IVROverlay_021_GetOverlayImageData_params +struct IVROverlay_IVROverlay_020_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -36466,7 +35844,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -36477,21 +35855,21 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_021_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_020_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_021_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_020_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -36499,7 +35877,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -36507,21 +35885,21 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_021_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_020_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_021_SetOverlayFlag_params +struct IVROverlay_IVROverlay_020_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -36530,7 +35908,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -36539,7 +35917,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_021_GetOverlayFlag_params +struct IVROverlay_IVROverlay_020_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -36548,7 +35926,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -36557,7 +35935,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_021_SetOverlayColor_params +struct IVROverlay_IVROverlay_020_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -36567,7 +35945,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -36577,7 +35955,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_021_GetOverlayColor_params +struct IVROverlay_IVROverlay_020_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -36587,7 +35965,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -36597,7 +35975,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_021_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_020_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -36605,7 +35983,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -36613,7 +35991,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_021_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_020_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -36621,7 +35999,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -36629,7 +36007,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_021_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_020_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -36637,7 +36015,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -36645,7 +36023,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_021_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_020_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -36653,7 +36031,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -36661,7 +36039,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_021_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_020_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -36669,7 +36047,7 @@ struct IVROverlay_IVROverlay_021_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -36677,7 +36055,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_021_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_020_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -36685,7 +36063,7 @@ struct IVROverlay_IVROverlay_021_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -36693,7 +36071,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_021_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_020_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -36701,7 +36079,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -36709,7 +36087,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_021_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_020_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -36717,7 +36095,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -36725,39 +36103,43 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_021_SetOverlayCurvature_params +struct IVROverlay_IVROverlay_020_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fCurvature; + float fMinDistanceInMeters; + float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fCurvature; + float fMinDistanceInMeters; + float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_021_GetOverlayCurvature_params +struct IVROverlay_IVROverlay_020_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float *pfCurvature; + float *pfMinDistanceInMeters; + float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(float *pfCurvature, pfCurvature, float *); + W32_PTR(float *pfMinDistanceInMeters, pfMinDistanceInMeters, float *); + W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_021_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_020_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -36765,7 +36147,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -36773,7 +36155,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_021_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_020_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -36781,7 +36163,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -36789,7 +36171,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_021_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_020_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -36797,7 +36179,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -36805,7 +36187,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_021_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_020_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -36813,7 +36195,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -36821,7 +36203,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_021_GetOverlayRenderModel_params +struct IVROverlay_IVROverlay_020_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -36832,7 +36214,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayRenderModel_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -36843,7 +36225,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayRenderModel_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_021_SetOverlayRenderModel_params +struct IVROverlay_IVROverlay_020_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -36852,7 +36234,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayRenderModel_params const HmdColor_t *pColor; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -36861,7 +36243,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayRenderModel_params W32_PTR(const HmdColor_t *pColor, pColor, const HmdColor_t *); }; -struct IVROverlay_IVROverlay_021_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_020_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -36869,7 +36251,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -36877,7 +36259,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_021_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_020_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -36886,7 +36268,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -36895,7 +36277,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_021_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_020_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -36904,7 +36286,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -36913,7 +36295,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -36922,7 +36304,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -36931,7 +36313,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -36940,7 +36322,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -36949,7 +36331,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -36958,7 +36340,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -36967,7 +36349,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -36977,7 +36359,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -36987,7 +36369,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_021_GetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_020_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -36996,7 +36378,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayTransformOverlayRelative_params HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -37005,7 +36387,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformOverlayRelative_params W32_PTR(HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_021_SetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_020_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -37014,7 +36396,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayTransformOverlayRelative_params const HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -37023,49 +36405,49 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformOverlayRelative_params W32_PTR(const HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_021_ShowOverlay_params +struct IVROverlay_IVROverlay_020_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_021_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_020_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_021_HideOverlay_params +struct IVROverlay_IVROverlay_020_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_021_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_020_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_021_IsOverlayVisible_params +struct IVROverlay_IVROverlay_020_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_021_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_020_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_021_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_020_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -37075,7 +36457,7 @@ struct IVROverlay_IVROverlay_021_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_021_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_020_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -37085,7 +36467,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_021_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_020_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -37094,7 +36476,7 @@ struct IVROverlay_IVROverlay_021_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_021_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_020_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -37103,7 +36485,7 @@ struct wow64_IVROverlay_IVROverlay_021_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_021_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_020_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -37111,7 +36493,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -37119,7 +36501,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_021_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_020_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -37127,7 +36509,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -37135,7 +36517,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_021_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_020_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -37143,7 +36525,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -37151,7 +36533,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_021_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_020_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -37159,7 +36541,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -37167,7 +36549,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_021_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_020_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -37176,7 +36558,7 @@ struct IVROverlay_IVROverlay_021_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_021_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_020_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -37185,21 +36567,81 @@ struct wow64_IVROverlay_IVROverlay_021_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_021_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_020_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_021_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_020_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_021_SetOverlayDualAnalogTransform_params +struct IVROverlay_IVROverlay_020_GetGamepadFocusOverlay_params +{ + struct u_iface u_iface; + uint64_t _ret; +}; + +struct wow64_IVROverlay_IVROverlay_020_GetGamepadFocusOverlay_params +{ + struct u_iface u_iface; + uint64_t _ret; +}; + +struct IVROverlay_IVROverlay_020_SetGamepadFocusOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulNewFocusOverlay; +}; + +struct wow64_IVROverlay_IVROverlay_020_SetGamepadFocusOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulNewFocusOverlay; +}; + +struct IVROverlay_IVROverlay_020_SetOverlayNeighbor_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t eDirection; + uint64_t ulFrom; + uint64_t ulTo; +}; + +struct wow64_IVROverlay_IVROverlay_020_SetOverlayNeighbor_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t eDirection; + uint64_t ulFrom; + uint64_t ulTo; +}; + +struct IVROverlay_IVROverlay_020_MoveGamepadFocusToNeighbor_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t eDirection; + uint64_t ulFrom; +}; + +struct wow64_IVROverlay_IVROverlay_020_MoveGamepadFocusToNeighbor_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t eDirection; + uint64_t ulFrom; +}; + +struct IVROverlay_IVROverlay_020_SetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -37209,7 +36651,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayDualAnalogTransform_params float fRadius; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayDualAnalogTransform_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -37219,7 +36661,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayDualAnalogTransform_params float fRadius; }; -struct IVROverlay_IVROverlay_021_GetOverlayDualAnalogTransform_params +struct IVROverlay_IVROverlay_020_GetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -37229,7 +36671,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayDualAnalogTransform_params float *pfRadius; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayDualAnalogTransform_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -37239,7 +36681,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayDualAnalogTransform_params W32_PTR(float *pfRadius, pfRadius, float *); }; -struct IVROverlay_IVROverlay_021_SetOverlayTexture_params +struct IVROverlay_IVROverlay_020_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -37247,7 +36689,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -37255,21 +36697,21 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_021_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_020_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_021_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_020_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_021_SetOverlayRaw_params +struct IVROverlay_IVROverlay_020_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -37280,7 +36722,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -37291,7 +36733,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_021_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_020_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -37299,7 +36741,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -37307,7 +36749,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_021_GetOverlayTexture_params +struct IVROverlay_IVROverlay_020_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -37322,7 +36764,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -37337,7 +36779,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_021_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_020_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -37345,7 +36787,7 @@ struct IVROverlay_IVROverlay_021_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_021_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_020_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -37353,7 +36795,7 @@ struct wow64_IVROverlay_IVROverlay_021_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_021_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_020_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -37362,7 +36804,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -37371,7 +36813,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_021_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_020_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -37381,7 +36823,7 @@ struct IVROverlay_IVROverlay_021_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_021_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_020_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -37391,33 +36833,33 @@ struct wow64_IVROverlay_IVROverlay_021_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_021_IsDashboardVisible_params +struct IVROverlay_IVROverlay_020_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_021_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_020_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_021_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_020_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_021_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_020_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_021_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_020_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -37425,7 +36867,7 @@ struct IVROverlay_IVROverlay_021_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_021_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_020_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -37433,7 +36875,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_021_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_020_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -37441,7 +36883,7 @@ struct IVROverlay_IVROverlay_021_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_021_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_020_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -37449,31 +36891,31 @@ struct wow64_IVROverlay_IVROverlay_021_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_021_ShowDashboard_params +struct IVROverlay_IVROverlay_020_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_021_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_020_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_021_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_020_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_021_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_020_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_021_ShowKeyboard_params +struct IVROverlay_IVROverlay_020_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -37486,7 +36928,7 @@ struct IVROverlay_IVROverlay_021_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_021_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_020_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -37499,7 +36941,7 @@ struct wow64_IVROverlay_IVROverlay_021_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_021_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_020_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -37513,7 +36955,7 @@ struct IVROverlay_IVROverlay_021_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_021_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_020_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -37527,7 +36969,7 @@ struct wow64_IVROverlay_IVROverlay_021_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_021_GetKeyboardText_params +struct IVROverlay_IVROverlay_020_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -37535,7 +36977,7 @@ struct IVROverlay_IVROverlay_021_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_021_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_020_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -37543,45 +36985,45 @@ struct wow64_IVROverlay_IVROverlay_021_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_021_HideKeyboard_params +struct IVROverlay_IVROverlay_020_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_021_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_020_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_021_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_020_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_021_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_020_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_021_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_020_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_021_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_020_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_021_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_020_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -37591,7 +37033,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -37601,7 +37043,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_021_GetOverlayFlags_params +struct IVROverlay_IVROverlay_020_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -37609,7 +37051,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayFlags_params uint32_t *pFlags; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayFlags_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -37617,7 +37059,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayFlags_params W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVROverlay_IVROverlay_021_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_020_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -37629,7 +37071,7 @@ struct IVROverlay_IVROverlay_021_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_021_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_020_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -37641,17 +37083,17 @@ struct wow64_IVROverlay_IVROverlay_021_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_021_CloseMessageOverlay_params +struct IVROverlay_IVROverlay_020_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_021_CloseMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_020_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_022_FindOverlay_params +struct IVROverlay_IVROverlay_021_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -37659,7 +37101,7 @@ struct IVROverlay_IVROverlay_022_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_022_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_021_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -37667,7 +37109,7 @@ struct wow64_IVROverlay_IVROverlay_022_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_022_CreateOverlay_params +struct IVROverlay_IVROverlay_021_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -37676,7 +37118,7 @@ struct IVROverlay_IVROverlay_022_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_022_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_021_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -37685,21 +37127,21 @@ struct wow64_IVROverlay_IVROverlay_022_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_022_DestroyOverlay_params +struct IVROverlay_IVROverlay_021_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_022_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_021_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_022_GetOverlayKey_params +struct IVROverlay_IVROverlay_021_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -37709,7 +37151,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -37719,7 +37161,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_022_GetOverlayName_params +struct IVROverlay_IVROverlay_021_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -37729,7 +37171,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -37739,7 +37181,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_022_SetOverlayName_params +struct IVROverlay_IVROverlay_021_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -37747,7 +37189,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayName_params const char *pchName; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayName_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -37755,7 +37197,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayName_params W32_PTR(const char *pchName, pchName, const char *); }; -struct IVROverlay_IVROverlay_022_GetOverlayImageData_params +struct IVROverlay_IVROverlay_021_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -37766,7 +37208,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -37777,21 +37219,21 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_022_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_021_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_022_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_021_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -37799,7 +37241,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -37807,21 +37249,21 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_022_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_021_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_022_SetOverlayFlag_params +struct IVROverlay_IVROverlay_021_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -37830,7 +37272,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -37839,7 +37281,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_022_GetOverlayFlag_params +struct IVROverlay_IVROverlay_021_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -37848,7 +37290,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -37857,23 +37299,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_022_GetOverlayFlags_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t *pFlags; -}; - -struct wow64_IVROverlay_IVROverlay_022_GetOverlayFlags_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); -}; - -struct IVROverlay_IVROverlay_022_SetOverlayColor_params +struct IVROverlay_IVROverlay_021_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -37883,7 +37309,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -37893,7 +37319,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_022_GetOverlayColor_params +struct IVROverlay_IVROverlay_021_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -37903,7 +37329,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -37913,7 +37339,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_022_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_021_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -37921,7 +37347,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -37929,7 +37355,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_022_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_021_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -37937,7 +37363,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -37945,7 +37371,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_022_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_021_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -37953,7 +37379,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -37961,7 +37387,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_022_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_021_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -37969,7 +37395,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -37977,7 +37403,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_022_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_021_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -37985,7 +37411,7 @@ struct IVROverlay_IVROverlay_022_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -37993,7 +37419,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_022_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_021_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -38001,7 +37427,7 @@ struct IVROverlay_IVROverlay_022_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -38009,7 +37435,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_022_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_021_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -38017,7 +37443,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -38025,7 +37451,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_022_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_021_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -38033,7 +37459,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -38041,7 +37467,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_022_SetOverlayCurvature_params +struct IVROverlay_IVROverlay_021_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -38049,7 +37475,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayCurvature_params float fCurvature; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -38057,7 +37483,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayCurvature_params float fCurvature; }; -struct IVROverlay_IVROverlay_022_GetOverlayCurvature_params +struct IVROverlay_IVROverlay_021_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -38065,7 +37491,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayCurvature_params float *pfCurvature; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -38073,7 +37499,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayCurvature_params W32_PTR(float *pfCurvature, pfCurvature, float *); }; -struct IVROverlay_IVROverlay_022_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_021_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -38081,7 +37507,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -38089,7 +37515,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_022_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_021_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -38097,7 +37523,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -38105,7 +37531,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_022_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_021_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -38113,7 +37539,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -38121,7 +37547,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_022_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_021_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -38129,7 +37555,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -38137,7 +37563,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_022_GetOverlayRenderModel_params +struct IVROverlay_IVROverlay_021_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -38148,7 +37574,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayRenderModel_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -38159,7 +37585,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayRenderModel_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_022_SetOverlayRenderModel_params +struct IVROverlay_IVROverlay_021_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -38168,7 +37594,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayRenderModel_params const HmdColor_t *pColor; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -38177,7 +37603,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayRenderModel_params W32_PTR(const HmdColor_t *pColor, pColor, const HmdColor_t *); }; -struct IVROverlay_IVROverlay_022_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_021_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -38185,7 +37611,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -38193,7 +37619,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_022_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_021_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -38202,7 +37628,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -38211,7 +37637,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_022_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_021_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -38220,7 +37646,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -38229,7 +37655,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -38238,7 +37664,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -38247,7 +37673,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -38256,7 +37682,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -38265,7 +37691,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -38274,7 +37700,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -38283,7 +37709,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -38293,7 +37719,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -38303,7 +37729,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_022_GetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_021_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -38312,7 +37738,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayTransformOverlayRelative_params HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -38321,7 +37747,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformOverlayRelative_params W32_PTR(HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_022_SetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_021_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -38330,7 +37756,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayTransformOverlayRelative_params const HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -38339,81 +37765,49 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformOverlayRelative_params W32_PTR(const HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_022_SetOverlayTransformCursor_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulCursorOverlayHandle; - const HmdVector2_t *pvHotspot; -}; - -struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformCursor_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulCursorOverlayHandle; - W32_PTR(const HmdVector2_t *pvHotspot, pvHotspot, const HmdVector2_t *); -}; - -struct IVROverlay_IVROverlay_022_GetOverlayTransformCursor_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - HmdVector2_t *pvHotspot; -}; - -struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformCursor_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(HmdVector2_t *pvHotspot, pvHotspot, HmdVector2_t *); -}; - -struct IVROverlay_IVROverlay_022_ShowOverlay_params +struct IVROverlay_IVROverlay_021_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_022_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_021_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_022_HideOverlay_params +struct IVROverlay_IVROverlay_021_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_022_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_021_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_022_IsOverlayVisible_params +struct IVROverlay_IVROverlay_021_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_022_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_021_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_022_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_021_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -38423,7 +37817,7 @@ struct IVROverlay_IVROverlay_022_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_022_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_021_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -38433,7 +37827,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_022_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_021_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -38442,7 +37836,7 @@ struct IVROverlay_IVROverlay_022_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_022_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_021_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -38451,7 +37845,7 @@ struct wow64_IVROverlay_IVROverlay_022_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_022_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_021_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -38459,7 +37853,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -38467,7 +37861,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_022_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_021_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -38475,7 +37869,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -38483,7 +37877,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_022_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_021_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -38491,7 +37885,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -38499,7 +37893,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_022_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_021_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -38507,7 +37901,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -38515,7 +37909,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_022_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_021_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -38524,7 +37918,7 @@ struct IVROverlay_IVROverlay_022_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_022_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_021_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -38533,21 +37927,21 @@ struct wow64_IVROverlay_IVROverlay_022_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_022_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_021_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_022_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_021_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_022_SetOverlayDualAnalogTransform_params +struct IVROverlay_IVROverlay_021_SetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -38557,7 +37951,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayDualAnalogTransform_params float fRadius; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayDualAnalogTransform_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -38567,7 +37961,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayDualAnalogTransform_params float fRadius; }; -struct IVROverlay_IVROverlay_022_GetOverlayDualAnalogTransform_params +struct IVROverlay_IVROverlay_021_GetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -38577,7 +37971,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayDualAnalogTransform_params float *pfRadius; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayDualAnalogTransform_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -38587,134 +37981,48 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayDualAnalogTransform_params W32_PTR(float *pfRadius, pfRadius, float *); }; -struct IVROverlay_IVROverlay_022_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_021_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives; - uint32_t unNumMaskPrimitives; - uint32_t unPrimitiveSize; + const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, pMaskPrimitives, VROverlayIntersectionMaskPrimitive_t *); - uint32_t unNumMaskPrimitives; - uint32_t unPrimitiveSize; + W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_022_TriggerLaserMouseHapticVibration_params +struct IVROverlay_IVROverlay_021_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fDurationSeconds; - float fFrequency; - float fAmplitude; }; -struct wow64_IVROverlay_IVROverlay_022_TriggerLaserMouseHapticVibration_params +struct wow64_IVROverlay_IVROverlay_021_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fDurationSeconds; - float fFrequency; - float fAmplitude; }; -struct IVROverlay_IVROverlay_022_SetOverlayCursor_params +struct IVROverlay_IVROverlay_021_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint64_t ulCursorHandle; + void *pvBuffer; + uint32_t unWidth; + uint32_t unHeight; + uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayCursor_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint64_t ulCursorHandle; -}; - -struct IVROverlay_IVROverlay_022_SetOverlayCursorPositionOverride_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - const HmdVector2_t *pvCursor; -}; - -struct wow64_IVROverlay_IVROverlay_022_SetOverlayCursorPositionOverride_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(const HmdVector2_t *pvCursor, pvCursor, const HmdVector2_t *); -}; - -struct IVROverlay_IVROverlay_022_ClearOverlayCursorPositionOverride_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; -}; - -struct wow64_IVROverlay_IVROverlay_022_ClearOverlayCursorPositionOverride_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; -}; - -struct IVROverlay_IVROverlay_022_SetOverlayTexture_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - const w_Texture_t *pTexture; -}; - -struct wow64_IVROverlay_IVROverlay_022_SetOverlayTexture_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); -}; - -struct IVROverlay_IVROverlay_022_ClearOverlayTexture_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; -}; - -struct wow64_IVROverlay_IVROverlay_022_ClearOverlayTexture_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; -}; - -struct IVROverlay_IVROverlay_022_SetOverlayRaw_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - void *pvBuffer; - uint32_t unWidth; - uint32_t unHeight; - uint32_t unBytesPerPixel; -}; - -struct wow64_IVROverlay_IVROverlay_022_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -38722,10 +38030,10 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayRaw_params W32_PTR(void *pvBuffer, pvBuffer, void *); uint32_t unWidth; uint32_t unHeight; - uint32_t unBytesPerPixel; + uint32_t unDepth; }; -struct IVROverlay_IVROverlay_022_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_021_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -38733,7 +38041,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -38741,7 +38049,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_022_GetOverlayTexture_params +struct IVROverlay_IVROverlay_021_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -38756,7 +38064,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -38771,7 +38079,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_022_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_021_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -38779,7 +38087,7 @@ struct IVROverlay_IVROverlay_022_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_022_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_021_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -38787,7 +38095,7 @@ struct wow64_IVROverlay_IVROverlay_022_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_022_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_021_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -38796,7 +38104,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -38805,7 +38113,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_022_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_021_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -38815,7 +38123,7 @@ struct IVROverlay_IVROverlay_022_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_022_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_021_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -38825,33 +38133,33 @@ struct wow64_IVROverlay_IVROverlay_022_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_022_IsDashboardVisible_params +struct IVROverlay_IVROverlay_021_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_022_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_021_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_022_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_021_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_022_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_021_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_022_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_021_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -38859,7 +38167,7 @@ struct IVROverlay_IVROverlay_022_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_022_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_021_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -38867,7 +38175,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_022_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_021_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -38875,7 +38183,7 @@ struct IVROverlay_IVROverlay_022_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_022_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_021_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -38883,31 +38191,31 @@ struct wow64_IVROverlay_IVROverlay_022_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_022_ShowDashboard_params +struct IVROverlay_IVROverlay_021_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_022_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_021_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_022_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_021_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_022_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_021_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_022_ShowKeyboard_params +struct IVROverlay_IVROverlay_021_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -38920,7 +38228,7 @@ struct IVROverlay_IVROverlay_022_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_022_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_021_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -38933,7 +38241,7 @@ struct wow64_IVROverlay_IVROverlay_022_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_022_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_021_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -38947,7 +38255,7 @@ struct IVROverlay_IVROverlay_022_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_022_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_021_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -38961,7 +38269,7 @@ struct wow64_IVROverlay_IVROverlay_022_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_022_GetKeyboardText_params +struct IVROverlay_IVROverlay_021_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -38969,7 +38277,7 @@ struct IVROverlay_IVROverlay_022_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_022_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_021_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -38977,45 +38285,81 @@ struct wow64_IVROverlay_IVROverlay_022_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_022_HideKeyboard_params +struct IVROverlay_IVROverlay_021_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_022_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_021_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_022_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_021_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_022_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_021_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_022_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_021_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_022_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_021_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_022_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_021_SetOverlayIntersectionMask_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives; + uint32_t unNumMaskPrimitives; + uint32_t unPrimitiveSize; +}; + +struct wow64_IVROverlay_IVROverlay_021_SetOverlayIntersectionMask_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, pMaskPrimitives, VROverlayIntersectionMaskPrimitive_t *); + uint32_t unNumMaskPrimitives; + uint32_t unPrimitiveSize; +}; + +struct IVROverlay_IVROverlay_021_GetOverlayFlags_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *pFlags; +}; + +struct wow64_IVROverlay_IVROverlay_021_GetOverlayFlags_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); +}; + +struct IVROverlay_IVROverlay_021_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -39027,7 +38371,7 @@ struct IVROverlay_IVROverlay_022_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_022_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_021_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -39039,17 +38383,17 @@ struct wow64_IVROverlay_IVROverlay_022_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_022_CloseMessageOverlay_params +struct IVROverlay_IVROverlay_021_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_022_CloseMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_021_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_024_FindOverlay_params +struct IVROverlay_IVROverlay_022_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -39057,7 +38401,7 @@ struct IVROverlay_IVROverlay_024_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_024_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_022_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -39065,7 +38409,7 @@ struct wow64_IVROverlay_IVROverlay_024_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_024_CreateOverlay_params +struct IVROverlay_IVROverlay_022_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -39074,7 +38418,7 @@ struct IVROverlay_IVROverlay_024_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_024_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_022_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -39083,21 +38427,21 @@ struct wow64_IVROverlay_IVROverlay_024_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_024_DestroyOverlay_params +struct IVROverlay_IVROverlay_022_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_024_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_022_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_024_GetOverlayKey_params +struct IVROverlay_IVROverlay_022_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -39107,7 +38451,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -39117,7 +38461,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_024_GetOverlayName_params +struct IVROverlay_IVROverlay_022_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -39127,7 +38471,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -39137,7 +38481,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_024_SetOverlayName_params +struct IVROverlay_IVROverlay_022_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -39145,7 +38489,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayName_params const char *pchName; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayName_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -39153,7 +38497,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayName_params W32_PTR(const char *pchName, pchName, const char *); }; -struct IVROverlay_IVROverlay_024_GetOverlayImageData_params +struct IVROverlay_IVROverlay_022_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -39164,7 +38508,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -39175,21 +38519,21 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_024_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_022_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_024_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_022_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -39197,7 +38541,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -39205,21 +38549,21 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_024_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_022_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_024_SetOverlayFlag_params +struct IVROverlay_IVROverlay_022_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -39228,7 +38572,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -39237,7 +38581,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_024_GetOverlayFlag_params +struct IVROverlay_IVROverlay_022_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -39246,7 +38590,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -39255,7 +38599,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_024_GetOverlayFlags_params +struct IVROverlay_IVROverlay_022_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -39263,7 +38607,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayFlags_params uint32_t *pFlags; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayFlags_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -39271,7 +38615,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayFlags_params W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVROverlay_IVROverlay_024_SetOverlayColor_params +struct IVROverlay_IVROverlay_022_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -39281,7 +38625,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -39291,7 +38635,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_024_GetOverlayColor_params +struct IVROverlay_IVROverlay_022_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -39301,7 +38645,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -39311,7 +38655,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_024_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_022_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -39319,7 +38663,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -39327,7 +38671,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_024_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_022_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -39335,7 +38679,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -39343,7 +38687,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_024_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_022_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -39351,7 +38695,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -39359,7 +38703,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_024_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_022_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -39367,7 +38711,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -39375,7 +38719,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_024_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_022_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -39383,7 +38727,7 @@ struct IVROverlay_IVROverlay_024_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -39391,7 +38735,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_024_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_022_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -39399,7 +38743,7 @@ struct IVROverlay_IVROverlay_024_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -39407,7 +38751,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_024_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_022_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -39415,7 +38759,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -39423,7 +38767,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_024_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_022_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -39431,7 +38775,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -39439,7 +38783,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_024_SetOverlayCurvature_params +struct IVROverlay_IVROverlay_022_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -39447,7 +38791,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayCurvature_params float fCurvature; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -39455,7 +38799,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayCurvature_params float fCurvature; }; -struct IVROverlay_IVROverlay_024_GetOverlayCurvature_params +struct IVROverlay_IVROverlay_022_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -39463,7 +38807,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayCurvature_params float *pfCurvature; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -39471,7 +38815,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayCurvature_params W32_PTR(float *pfCurvature, pfCurvature, float *); }; -struct IVROverlay_IVROverlay_024_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_022_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -39479,7 +38823,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -39487,7 +38831,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_024_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_022_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -39495,7 +38839,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -39503,7 +38847,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_024_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_022_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -39511,7 +38855,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -39519,7 +38863,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_024_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_022_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -39527,7 +38871,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -39535,7 +38879,47 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_024_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_022_GetOverlayRenderModel_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + char *pchValue; + uint32_t unBufferSize; + HmdColor_t *pColor; + uint32_t *pError; +}; + +struct wow64_IVROverlay_IVROverlay_022_GetOverlayRenderModel_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(char *pchValue, pchValue, char *); + uint32_t unBufferSize; + W32_PTR(HmdColor_t *pColor, pColor, HmdColor_t *); + W32_PTR(uint32_t *pError, pError, uint32_t *); +}; + +struct IVROverlay_IVROverlay_022_SetOverlayRenderModel_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + const char *pchRenderModel; + const HmdColor_t *pColor; +}; + +struct wow64_IVROverlay_IVROverlay_022_SetOverlayRenderModel_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(const char *pchRenderModel, pchRenderModel, const char *); + W32_PTR(const HmdColor_t *pColor, pColor, const HmdColor_t *); +}; + +struct IVROverlay_IVROverlay_022_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -39543,7 +38927,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -39551,7 +38935,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_024_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_022_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -39560,7 +38944,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -39569,7 +38953,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_024_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_022_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -39578,7 +38962,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -39587,7 +38971,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -39596,7 +38980,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -39605,7 +38989,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -39614,7 +38998,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -39623,7 +39007,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -39632,7 +39016,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -39641,7 +39025,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -39651,7 +39035,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -39661,7 +39045,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_024_GetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_022_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -39670,7 +39054,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayTransformOverlayRelative_params HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -39679,7 +39063,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformOverlayRelative_params W32_PTR(HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_024_SetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_022_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -39688,7 +39072,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayTransformOverlayRelative_params const HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -39697,7 +39081,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformOverlayRelative_params W32_PTR(const HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_024_SetOverlayTransformCursor_params +struct IVROverlay_IVROverlay_022_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -39705,7 +39089,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayTransformCursor_params const HmdVector2_t *pvHotspot; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformCursor_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -39713,7 +39097,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformCursor_params W32_PTR(const HmdVector2_t *pvHotspot, pvHotspot, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_024_GetOverlayTransformCursor_params +struct IVROverlay_IVROverlay_022_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -39721,7 +39105,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayTransformCursor_params HmdVector2_t *pvHotspot; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformCursor_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -39729,49 +39113,49 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformCursor_params W32_PTR(HmdVector2_t *pvHotspot, pvHotspot, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_024_ShowOverlay_params +struct IVROverlay_IVROverlay_022_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_024_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_022_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_024_HideOverlay_params +struct IVROverlay_IVROverlay_022_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_024_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_022_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_024_IsOverlayVisible_params +struct IVROverlay_IVROverlay_022_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_024_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_022_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_024_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_022_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -39781,7 +39165,7 @@ struct IVROverlay_IVROverlay_024_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_024_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_022_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -39791,25 +39175,25 @@ struct wow64_IVROverlay_IVROverlay_024_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_024_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_022_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_11030 *pEvent; + w_VREvent_t_1322 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_024_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_022_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_11030 *pEvent, pEvent, w32_VREvent_t_11030 *); + W32_PTR(w32_VREvent_t_1322 *pEvent, pEvent, w32_VREvent_t_1322 *); uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_024_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_022_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -39817,7 +39201,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -39825,7 +39209,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_024_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_022_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -39833,7 +39217,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -39841,7 +39225,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_024_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_022_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -39849,7 +39233,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -39857,7 +39241,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_024_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_022_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -39865,7 +39249,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -39873,7 +39257,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_024_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_022_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -39882,7 +39266,7 @@ struct IVROverlay_IVROverlay_024_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_024_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_022_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -39891,21 +39275,61 @@ struct wow64_IVROverlay_IVROverlay_024_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_024_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_022_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_024_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_022_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_024_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_022_SetOverlayDualAnalogTransform_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlay; + uint32_t eWhich; + const HmdVector2_t *pvCenter; + float fRadius; +}; + +struct wow64_IVROverlay_IVROverlay_022_SetOverlayDualAnalogTransform_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlay; + uint32_t eWhich; + W32_PTR(const HmdVector2_t *pvCenter, pvCenter, const HmdVector2_t *); + float fRadius; +}; + +struct IVROverlay_IVROverlay_022_GetOverlayDualAnalogTransform_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlay; + uint32_t eWhich; + HmdVector2_t *pvCenter; + float *pfRadius; +}; + +struct wow64_IVROverlay_IVROverlay_022_GetOverlayDualAnalogTransform_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlay; + uint32_t eWhich; + W32_PTR(HmdVector2_t *pvCenter, pvCenter, HmdVector2_t *); + W32_PTR(float *pfRadius, pfRadius, float *); +}; + +struct IVROverlay_IVROverlay_022_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -39915,7 +39339,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -39925,7 +39349,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_024_TriggerLaserMouseHapticVibration_params +struct IVROverlay_IVROverlay_022_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; @@ -39935,7 +39359,7 @@ struct IVROverlay_IVROverlay_024_TriggerLaserMouseHapticVibration_params float fAmplitude; }; -struct wow64_IVROverlay_IVROverlay_024_TriggerLaserMouseHapticVibration_params +struct wow64_IVROverlay_IVROverlay_022_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; @@ -39945,7 +39369,7 @@ struct wow64_IVROverlay_IVROverlay_024_TriggerLaserMouseHapticVibration_params float fAmplitude; }; -struct IVROverlay_IVROverlay_024_SetOverlayCursor_params +struct IVROverlay_IVROverlay_022_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -39953,7 +39377,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayCursor_params uint64_t ulCursorHandle; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayCursor_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -39961,7 +39385,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayCursor_params uint64_t ulCursorHandle; }; -struct IVROverlay_IVROverlay_024_SetOverlayCursorPositionOverride_params +struct IVROverlay_IVROverlay_022_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; @@ -39969,7 +39393,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayCursorPositionOverride_params const HmdVector2_t *pvCursor; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayCursorPositionOverride_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; @@ -39977,21 +39401,21 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayCursorPositionOverride_params W32_PTR(const HmdVector2_t *pvCursor, pvCursor, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_024_ClearOverlayCursorPositionOverride_params +struct IVROverlay_IVROverlay_022_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_024_ClearOverlayCursorPositionOverride_params +struct wow64_IVROverlay_IVROverlay_022_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_024_SetOverlayTexture_params +struct IVROverlay_IVROverlay_022_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -39999,7 +39423,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -40007,21 +39431,21 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_024_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_022_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_024_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_022_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_024_SetOverlayRaw_params +struct IVROverlay_IVROverlay_022_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -40032,7 +39456,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayRaw_params uint32_t unBytesPerPixel; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -40043,7 +39467,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayRaw_params uint32_t unBytesPerPixel; }; -struct IVROverlay_IVROverlay_024_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_022_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -40051,7 +39475,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -40059,7 +39483,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_024_GetOverlayTexture_params +struct IVROverlay_IVROverlay_022_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -40074,7 +39498,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -40089,7 +39513,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_024_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_022_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -40097,7 +39521,7 @@ struct IVROverlay_IVROverlay_024_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_024_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_022_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -40105,7 +39529,7 @@ struct wow64_IVROverlay_IVROverlay_024_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_024_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_022_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -40114,7 +39538,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -40123,7 +39547,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_024_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_022_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -40133,7 +39557,7 @@ struct IVROverlay_IVROverlay_024_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_024_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_022_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -40143,33 +39567,33 @@ struct wow64_IVROverlay_IVROverlay_024_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_024_IsDashboardVisible_params +struct IVROverlay_IVROverlay_022_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_024_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_022_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_024_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_022_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_024_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_022_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_024_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_022_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -40177,7 +39601,7 @@ struct IVROverlay_IVROverlay_024_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_024_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_022_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -40185,7 +39609,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_024_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_022_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -40193,7 +39617,7 @@ struct IVROverlay_IVROverlay_024_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_024_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_022_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -40201,85 +39625,85 @@ struct wow64_IVROverlay_IVROverlay_024_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_024_ShowDashboard_params +struct IVROverlay_IVROverlay_022_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_024_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_022_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_024_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_022_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_024_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_022_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_024_ShowKeyboard_params +struct IVROverlay_IVROverlay_022_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; uint32_t eInputMode; uint32_t eLineInputMode; - uint32_t unFlags; const char *pchDescription; uint32_t unCharMax; const char *pchExistingText; + int8_t bUseMinimalMode; uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_024_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_022_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; uint32_t eInputMode; uint32_t eLineInputMode; - uint32_t unFlags; W32_PTR(const char *pchDescription, pchDescription, const char *); uint32_t unCharMax; W32_PTR(const char *pchExistingText, pchExistingText, const char *); + int8_t bUseMinimalMode; uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_024_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_022_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; uint32_t eInputMode; uint32_t eLineInputMode; - uint32_t unFlags; const char *pchDescription; uint32_t unCharMax; const char *pchExistingText; + int8_t bUseMinimalMode; uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_024_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_022_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; uint32_t eInputMode; uint32_t eLineInputMode; - uint32_t unFlags; W32_PTR(const char *pchDescription, pchDescription, const char *); uint32_t unCharMax; W32_PTR(const char *pchExistingText, pchExistingText, const char *); + int8_t bUseMinimalMode; uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_024_GetKeyboardText_params +struct IVROverlay_IVROverlay_022_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -40287,7 +39711,7 @@ struct IVROverlay_IVROverlay_024_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_024_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_022_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -40295,45 +39719,45 @@ struct wow64_IVROverlay_IVROverlay_024_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_024_HideKeyboard_params +struct IVROverlay_IVROverlay_022_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_024_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_022_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_024_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_022_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_024_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_022_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_024_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_022_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_024_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_022_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_024_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_022_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -40345,7 +39769,7 @@ struct IVROverlay_IVROverlay_024_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_024_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_022_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -40357,17 +39781,17 @@ struct wow64_IVROverlay_IVROverlay_024_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_024_CloseMessageOverlay_params +struct IVROverlay_IVROverlay_022_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_024_CloseMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_022_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_025_FindOverlay_params +struct IVROverlay_IVROverlay_024_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -40375,7 +39799,7 @@ struct IVROverlay_IVROverlay_025_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_025_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_024_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -40383,7 +39807,7 @@ struct wow64_IVROverlay_IVROverlay_025_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_025_CreateOverlay_params +struct IVROverlay_IVROverlay_024_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -40392,7 +39816,7 @@ struct IVROverlay_IVROverlay_025_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_025_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_024_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -40401,21 +39825,21 @@ struct wow64_IVROverlay_IVROverlay_025_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_025_DestroyOverlay_params +struct IVROverlay_IVROverlay_024_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_025_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_024_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_025_GetOverlayKey_params +struct IVROverlay_IVROverlay_024_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -40425,7 +39849,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -40435,7 +39859,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_025_GetOverlayName_params +struct IVROverlay_IVROverlay_024_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -40445,7 +39869,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -40455,7 +39879,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayName_params +struct IVROverlay_IVROverlay_024_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -40463,7 +39887,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayName_params const char *pchName; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayName_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -40471,7 +39895,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayName_params W32_PTR(const char *pchName, pchName, const char *); }; -struct IVROverlay_IVROverlay_025_GetOverlayImageData_params +struct IVROverlay_IVROverlay_024_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -40482,7 +39906,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -40493,21 +39917,21 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_025_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_024_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_025_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_024_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -40515,7 +39939,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -40523,21 +39947,21 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_025_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_024_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_025_SetOverlayFlag_params +struct IVROverlay_IVROverlay_024_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -40546,7 +39970,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -40555,7 +39979,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_025_GetOverlayFlag_params +struct IVROverlay_IVROverlay_024_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -40564,7 +39988,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -40573,7 +39997,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_025_GetOverlayFlags_params +struct IVROverlay_IVROverlay_024_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -40581,7 +40005,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayFlags_params uint32_t *pFlags; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayFlags_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -40589,7 +40013,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayFlags_params W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayColor_params +struct IVROverlay_IVROverlay_024_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -40599,7 +40023,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -40609,7 +40033,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_025_GetOverlayColor_params +struct IVROverlay_IVROverlay_024_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -40619,7 +40043,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -40629,7 +40053,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_025_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_024_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -40637,7 +40061,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -40645,7 +40069,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_025_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_024_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -40653,7 +40077,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -40661,7 +40085,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_025_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_024_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -40669,7 +40093,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -40677,7 +40101,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_025_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_024_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -40685,7 +40109,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -40693,7 +40117,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_025_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_024_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -40701,7 +40125,7 @@ struct IVROverlay_IVROverlay_025_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -40709,7 +40133,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_025_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_024_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -40717,7 +40141,7 @@ struct IVROverlay_IVROverlay_025_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -40725,7 +40149,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_024_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -40733,7 +40157,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -40741,7 +40165,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_025_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_024_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -40749,7 +40173,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -40757,7 +40181,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_025_SetOverlayCurvature_params +struct IVROverlay_IVROverlay_024_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -40765,7 +40189,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayCurvature_params float fCurvature; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -40773,7 +40197,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayCurvature_params float fCurvature; }; -struct IVROverlay_IVROverlay_025_GetOverlayCurvature_params +struct IVROverlay_IVROverlay_024_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -40781,7 +40205,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayCurvature_params float *pfCurvature; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -40789,7 +40213,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayCurvature_params W32_PTR(float *pfCurvature, pfCurvature, float *); }; -struct IVROverlay_IVROverlay_025_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_024_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -40797,7 +40221,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -40805,7 +40229,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_025_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_024_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -40813,7 +40237,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -40821,7 +40245,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_024_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -40829,7 +40253,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -40837,7 +40261,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_025_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_024_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -40845,7 +40269,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -40853,7 +40277,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_025_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_024_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -40861,7 +40285,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -40869,7 +40293,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_024_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -40878,7 +40302,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -40887,7 +40311,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_025_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_024_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -40896,7 +40320,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -40905,7 +40329,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -40914,7 +40338,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -40923,7 +40347,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -40932,7 +40356,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -40941,7 +40365,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -40950,7 +40374,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -40959,7 +40383,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -40969,7 +40393,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -40979,7 +40403,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_025_GetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_024_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -40988,7 +40412,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayTransformOverlayRelative_params HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -40997,7 +40421,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformOverlayRelative_params W32_PTR(HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_024_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -41006,7 +40430,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayTransformOverlayRelative_params const HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -41015,7 +40439,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformOverlayRelative_params W32_PTR(const HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayTransformCursor_params +struct IVROverlay_IVROverlay_024_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -41023,7 +40447,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayTransformCursor_params const HmdVector2_t *pvHotspot; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformCursor_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -41031,7 +40455,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformCursor_params W32_PTR(const HmdVector2_t *pvHotspot, pvHotspot, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_025_GetOverlayTransformCursor_params +struct IVROverlay_IVROverlay_024_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -41039,7 +40463,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayTransformCursor_params HmdVector2_t *pvHotspot; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformCursor_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -41047,71 +40471,49 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformCursor_params W32_PTR(HmdVector2_t *pvHotspot, pvHotspot, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayTransformProjection_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eTrackingOrigin; - const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; - const VROverlayProjection_t *pProjection; - uint32_t eEye; -}; - -struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformProjection_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eTrackingOrigin; - W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); - W32_PTR(const VROverlayProjection_t *pProjection, pProjection, const VROverlayProjection_t *); - uint32_t eEye; -}; - -struct IVROverlay_IVROverlay_025_ShowOverlay_params +struct IVROverlay_IVROverlay_024_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_025_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_024_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_025_HideOverlay_params +struct IVROverlay_IVROverlay_024_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_025_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_024_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_025_IsOverlayVisible_params +struct IVROverlay_IVROverlay_024_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_025_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_024_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_025_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_024_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -41121,7 +40523,7 @@ struct IVROverlay_IVROverlay_025_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_025_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_024_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -41131,25 +40533,25 @@ struct wow64_IVROverlay_IVROverlay_025_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_025_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_024_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_1168 *pEvent; + w_VREvent_t_11030 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_025_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_024_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_1168 *pEvent, pEvent, w32_VREvent_t_1168 *); + W32_PTR(w32_VREvent_t_11030 *pEvent, pEvent, w32_VREvent_t_11030 *); uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_025_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_024_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -41157,7 +40559,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -41165,7 +40567,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_024_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -41173,7 +40575,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -41181,7 +40583,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_025_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_024_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -41189,7 +40591,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -41197,7 +40599,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_024_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -41205,7 +40607,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -41213,7 +40615,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_025_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_024_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -41222,7 +40624,7 @@ struct IVROverlay_IVROverlay_025_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_025_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_024_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -41231,21 +40633,21 @@ struct wow64_IVROverlay_IVROverlay_025_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_025_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_024_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_025_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_024_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_025_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_024_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -41255,7 +40657,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -41265,7 +40667,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_025_TriggerLaserMouseHapticVibration_params +struct IVROverlay_IVROverlay_024_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; @@ -41275,7 +40677,7 @@ struct IVROverlay_IVROverlay_025_TriggerLaserMouseHapticVibration_params float fAmplitude; }; -struct wow64_IVROverlay_IVROverlay_025_TriggerLaserMouseHapticVibration_params +struct wow64_IVROverlay_IVROverlay_024_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; @@ -41285,7 +40687,7 @@ struct wow64_IVROverlay_IVROverlay_025_TriggerLaserMouseHapticVibration_params float fAmplitude; }; -struct IVROverlay_IVROverlay_025_SetOverlayCursor_params +struct IVROverlay_IVROverlay_024_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -41293,7 +40695,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayCursor_params uint64_t ulCursorHandle; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayCursor_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -41301,7 +40703,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayCursor_params uint64_t ulCursorHandle; }; -struct IVROverlay_IVROverlay_025_SetOverlayCursorPositionOverride_params +struct IVROverlay_IVROverlay_024_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; @@ -41309,7 +40711,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayCursorPositionOverride_params const HmdVector2_t *pvCursor; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayCursorPositionOverride_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; @@ -41317,21 +40719,21 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayCursorPositionOverride_params W32_PTR(const HmdVector2_t *pvCursor, pvCursor, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_025_ClearOverlayCursorPositionOverride_params +struct IVROverlay_IVROverlay_024_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_025_ClearOverlayCursorPositionOverride_params +struct wow64_IVROverlay_IVROverlay_024_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_025_SetOverlayTexture_params +struct IVROverlay_IVROverlay_024_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -41339,7 +40741,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -41347,21 +40749,21 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_025_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_024_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_025_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_024_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_025_SetOverlayRaw_params +struct IVROverlay_IVROverlay_024_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -41372,7 +40774,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayRaw_params uint32_t unBytesPerPixel; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -41383,7 +40785,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayRaw_params uint32_t unBytesPerPixel; }; -struct IVROverlay_IVROverlay_025_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_024_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -41391,7 +40793,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -41399,7 +40801,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_025_GetOverlayTexture_params +struct IVROverlay_IVROverlay_024_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -41414,7 +40816,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -41429,7 +40831,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_025_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_024_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -41437,7 +40839,7 @@ struct IVROverlay_IVROverlay_025_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_025_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_024_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -41445,7 +40847,7 @@ struct wow64_IVROverlay_IVROverlay_025_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_025_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_024_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -41454,7 +40856,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -41463,7 +40865,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_025_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_024_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -41473,7 +40875,7 @@ struct IVROverlay_IVROverlay_025_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_025_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_024_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -41483,33 +40885,33 @@ struct wow64_IVROverlay_IVROverlay_025_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_025_IsDashboardVisible_params +struct IVROverlay_IVROverlay_024_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_025_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_024_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_025_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_024_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_025_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_024_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_025_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_024_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -41517,7 +40919,7 @@ struct IVROverlay_IVROverlay_025_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_025_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_024_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -41525,7 +40927,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_025_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_024_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -41533,7 +40935,7 @@ struct IVROverlay_IVROverlay_025_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_025_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_024_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -41541,31 +40943,31 @@ struct wow64_IVROverlay_IVROverlay_025_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_025_ShowDashboard_params +struct IVROverlay_IVROverlay_024_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_025_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_024_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_025_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_024_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_025_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_024_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_025_ShowKeyboard_params +struct IVROverlay_IVROverlay_024_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -41578,7 +40980,7 @@ struct IVROverlay_IVROverlay_025_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_025_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_024_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -41591,7 +40993,7 @@ struct wow64_IVROverlay_IVROverlay_025_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_025_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_024_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -41605,7 +41007,7 @@ struct IVROverlay_IVROverlay_025_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_025_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_024_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -41619,7 +41021,7 @@ struct wow64_IVROverlay_IVROverlay_025_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_025_GetKeyboardText_params +struct IVROverlay_IVROverlay_024_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -41627,7 +41029,7 @@ struct IVROverlay_IVROverlay_025_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_025_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_024_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -41635,45 +41037,45 @@ struct wow64_IVROverlay_IVROverlay_025_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_025_HideKeyboard_params +struct IVROverlay_IVROverlay_024_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_025_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_024_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_025_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_024_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_025_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_024_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_025_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_024_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_025_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_024_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_025_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_024_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -41685,7 +41087,7 @@ struct IVROverlay_IVROverlay_025_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_025_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_024_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -41697,17 +41099,17 @@ struct wow64_IVROverlay_IVROverlay_025_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_025_CloseMessageOverlay_params +struct IVROverlay_IVROverlay_024_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_025_CloseMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_024_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_026_FindOverlay_params +struct IVROverlay_IVROverlay_025_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -41715,7 +41117,7 @@ struct IVROverlay_IVROverlay_026_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_026_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_025_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -41723,7 +41125,7 @@ struct wow64_IVROverlay_IVROverlay_026_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_026_CreateOverlay_params +struct IVROverlay_IVROverlay_025_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -41732,7 +41134,7 @@ struct IVROverlay_IVROverlay_026_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_026_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_025_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -41741,21 +41143,21 @@ struct wow64_IVROverlay_IVROverlay_026_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_026_DestroyOverlay_params +struct IVROverlay_IVROverlay_025_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_026_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_025_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_026_GetOverlayKey_params +struct IVROverlay_IVROverlay_025_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -41765,7 +41167,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -41775,7 +41177,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_026_GetOverlayName_params +struct IVROverlay_IVROverlay_025_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -41785,7 +41187,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -41795,7 +41197,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayName_params +struct IVROverlay_IVROverlay_025_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -41803,7 +41205,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayName_params const char *pchName; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayName_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -41811,7 +41213,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayName_params W32_PTR(const char *pchName, pchName, const char *); }; -struct IVROverlay_IVROverlay_026_GetOverlayImageData_params +struct IVROverlay_IVROverlay_025_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -41822,7 +41224,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -41833,21 +41235,21 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_026_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_025_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_026_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_025_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -41855,7 +41257,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -41863,21 +41265,21 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_026_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_025_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_026_SetOverlayFlag_params +struct IVROverlay_IVROverlay_025_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -41886,7 +41288,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -41895,7 +41297,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_026_GetOverlayFlag_params +struct IVROverlay_IVROverlay_025_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -41904,7 +41306,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -41913,7 +41315,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_026_GetOverlayFlags_params +struct IVROverlay_IVROverlay_025_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -41921,7 +41323,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayFlags_params uint32_t *pFlags; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayFlags_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -41929,7 +41331,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayFlags_params W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayColor_params +struct IVROverlay_IVROverlay_025_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -41939,7 +41341,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -41949,7 +41351,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_026_GetOverlayColor_params +struct IVROverlay_IVROverlay_025_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -41959,7 +41361,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -41969,7 +41371,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_026_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_025_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -41977,7 +41379,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -41985,7 +41387,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_026_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_025_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -41993,7 +41395,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -42001,7 +41403,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_026_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_025_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -42009,7 +41411,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -42017,7 +41419,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_026_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_025_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -42025,7 +41427,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -42033,7 +41435,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_026_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_025_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -42041,7 +41443,7 @@ struct IVROverlay_IVROverlay_026_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -42049,7 +41451,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_026_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_025_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -42057,7 +41459,7 @@ struct IVROverlay_IVROverlay_026_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -42065,7 +41467,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_025_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -42073,7 +41475,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -42081,7 +41483,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_026_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_025_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -42089,7 +41491,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -42097,7 +41499,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_026_SetOverlayCurvature_params +struct IVROverlay_IVROverlay_025_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -42105,7 +41507,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayCurvature_params float fCurvature; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -42113,7 +41515,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayCurvature_params float fCurvature; }; -struct IVROverlay_IVROverlay_026_GetOverlayCurvature_params +struct IVROverlay_IVROverlay_025_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -42121,7 +41523,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayCurvature_params float *pfCurvature; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -42129,39 +41531,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayCurvature_params W32_PTR(float *pfCurvature, pfCurvature, float *); }; -struct IVROverlay_IVROverlay_026_SetOverlayPreCurvePitch_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - float fRadians; -}; - -struct wow64_IVROverlay_IVROverlay_026_SetOverlayPreCurvePitch_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - float fRadians; -}; - -struct IVROverlay_IVROverlay_026_GetOverlayPreCurvePitch_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - float *pfRadians; -}; - -struct wow64_IVROverlay_IVROverlay_026_GetOverlayPreCurvePitch_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(float *pfRadians, pfRadians, float *); -}; - -struct IVROverlay_IVROverlay_026_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_025_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -42169,7 +41539,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -42177,7 +41547,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_026_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_025_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -42185,7 +41555,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -42193,7 +41563,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_025_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -42201,7 +41571,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -42209,7 +41579,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_026_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_025_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -42217,7 +41587,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -42225,7 +41595,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_026_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_025_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -42233,7 +41603,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -42241,7 +41611,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_025_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -42250,7 +41620,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -42259,7 +41629,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_026_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_025_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -42268,7 +41638,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -42277,7 +41647,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -42286,7 +41656,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -42295,7 +41665,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -42304,7 +41674,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -42313,7 +41683,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -42322,7 +41692,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -42331,7 +41701,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -42341,7 +41711,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -42351,7 +41721,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_026_GetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_025_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -42360,7 +41730,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayTransformOverlayRelative_params HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -42369,7 +41739,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformOverlayRelative_params W32_PTR(HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_025_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -42378,7 +41748,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayTransformOverlayRelative_params const HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -42387,7 +41757,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformOverlayRelative_params W32_PTR(const HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayTransformCursor_params +struct IVROverlay_IVROverlay_025_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -42395,7 +41765,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayTransformCursor_params const HmdVector2_t *pvHotspot; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformCursor_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -42403,7 +41773,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformCursor_params W32_PTR(const HmdVector2_t *pvHotspot, pvHotspot, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_026_GetOverlayTransformCursor_params +struct IVROverlay_IVROverlay_025_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -42411,7 +41781,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayTransformCursor_params HmdVector2_t *pvHotspot; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformCursor_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -42419,7 +41789,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformCursor_params W32_PTR(HmdVector2_t *pvHotspot, pvHotspot, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayTransformProjection_params +struct IVROverlay_IVROverlay_025_SetOverlayTransformProjection_params { struct u_iface u_iface; uint32_t _ret; @@ -42430,7 +41800,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayTransformProjection_params uint32_t eEye; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformProjection_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformProjection_params { struct u_iface u_iface; uint32_t _ret; @@ -42441,49 +41811,49 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformProjection_params uint32_t eEye; }; -struct IVROverlay_IVROverlay_026_ShowOverlay_params +struct IVROverlay_IVROverlay_025_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_026_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_025_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_026_HideOverlay_params +struct IVROverlay_IVROverlay_025_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_026_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_025_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_026_IsOverlayVisible_params +struct IVROverlay_IVROverlay_025_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_026_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_025_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_026_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_025_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -42493,7 +41863,7 @@ struct IVROverlay_IVROverlay_026_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_026_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_025_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -42503,21 +41873,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_026_WaitFrameSync_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint32_t nTimeoutMs; -}; - -struct wow64_IVROverlay_IVROverlay_026_WaitFrameSync_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint32_t nTimeoutMs; -}; - -struct IVROverlay_IVROverlay_026_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_025_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -42526,7 +41882,7 @@ struct IVROverlay_IVROverlay_026_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_026_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_025_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -42535,7 +41891,7 @@ struct wow64_IVROverlay_IVROverlay_026_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_026_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_025_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -42543,7 +41899,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -42551,7 +41907,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_025_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -42559,7 +41915,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -42567,7 +41923,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_026_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_025_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -42575,7 +41931,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -42583,7 +41939,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_025_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -42591,7 +41947,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -42599,7 +41955,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_026_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_025_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -42608,7 +41964,7 @@ struct IVROverlay_IVROverlay_026_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_026_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_025_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -42617,21 +41973,21 @@ struct wow64_IVROverlay_IVROverlay_026_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_026_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_025_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_026_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_025_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_026_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_025_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -42641,7 +41997,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -42651,7 +42007,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_026_TriggerLaserMouseHapticVibration_params +struct IVROverlay_IVROverlay_025_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; @@ -42661,7 +42017,7 @@ struct IVROverlay_IVROverlay_026_TriggerLaserMouseHapticVibration_params float fAmplitude; }; -struct wow64_IVROverlay_IVROverlay_026_TriggerLaserMouseHapticVibration_params +struct wow64_IVROverlay_IVROverlay_025_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; @@ -42671,7 +42027,7 @@ struct wow64_IVROverlay_IVROverlay_026_TriggerLaserMouseHapticVibration_params float fAmplitude; }; -struct IVROverlay_IVROverlay_026_SetOverlayCursor_params +struct IVROverlay_IVROverlay_025_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -42679,7 +42035,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayCursor_params uint64_t ulCursorHandle; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayCursor_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -42687,7 +42043,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayCursor_params uint64_t ulCursorHandle; }; -struct IVROverlay_IVROverlay_026_SetOverlayCursorPositionOverride_params +struct IVROverlay_IVROverlay_025_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; @@ -42695,7 +42051,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayCursorPositionOverride_params const HmdVector2_t *pvCursor; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayCursorPositionOverride_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; @@ -42703,21 +42059,21 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayCursorPositionOverride_params W32_PTR(const HmdVector2_t *pvCursor, pvCursor, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_026_ClearOverlayCursorPositionOverride_params +struct IVROverlay_IVROverlay_025_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_026_ClearOverlayCursorPositionOverride_params +struct wow64_IVROverlay_IVROverlay_025_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_026_SetOverlayTexture_params +struct IVROverlay_IVROverlay_025_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -42725,7 +42081,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -42733,21 +42089,21 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_026_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_025_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_026_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_025_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_026_SetOverlayRaw_params +struct IVROverlay_IVROverlay_025_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -42758,7 +42114,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayRaw_params uint32_t unBytesPerPixel; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -42769,7 +42125,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayRaw_params uint32_t unBytesPerPixel; }; -struct IVROverlay_IVROverlay_026_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_025_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -42777,7 +42133,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -42785,7 +42141,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_026_GetOverlayTexture_params +struct IVROverlay_IVROverlay_025_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -42800,7 +42156,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -42815,7 +42171,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_026_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_025_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -42823,7 +42179,7 @@ struct IVROverlay_IVROverlay_026_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_026_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_025_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -42831,7 +42187,7 @@ struct wow64_IVROverlay_IVROverlay_026_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_026_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_025_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -42840,7 +42196,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -42849,7 +42205,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_026_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_025_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -42859,7 +42215,7 @@ struct IVROverlay_IVROverlay_026_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_026_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_025_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -42869,33 +42225,33 @@ struct wow64_IVROverlay_IVROverlay_026_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_026_IsDashboardVisible_params +struct IVROverlay_IVROverlay_025_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_026_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_025_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_026_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_025_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_026_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_025_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_026_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_025_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -42903,7 +42259,7 @@ struct IVROverlay_IVROverlay_026_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_026_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_025_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -42911,7 +42267,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_026_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_025_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -42919,7 +42275,7 @@ struct IVROverlay_IVROverlay_026_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_026_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_025_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -42927,31 +42283,31 @@ struct wow64_IVROverlay_IVROverlay_026_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_026_ShowDashboard_params +struct IVROverlay_IVROverlay_025_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_026_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_025_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_026_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_025_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_026_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_025_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_026_ShowKeyboard_params +struct IVROverlay_IVROverlay_025_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -42964,7 +42320,7 @@ struct IVROverlay_IVROverlay_026_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_026_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_025_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -42977,7 +42333,7 @@ struct wow64_IVROverlay_IVROverlay_026_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_026_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_025_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -42991,7 +42347,7 @@ struct IVROverlay_IVROverlay_026_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_026_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_025_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -43005,7 +42361,7 @@ struct wow64_IVROverlay_IVROverlay_026_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_026_GetKeyboardText_params +struct IVROverlay_IVROverlay_025_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -43013,7 +42369,7 @@ struct IVROverlay_IVROverlay_026_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_026_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_025_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -43021,45 +42377,45 @@ struct wow64_IVROverlay_IVROverlay_026_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_026_HideKeyboard_params +struct IVROverlay_IVROverlay_025_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_026_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_025_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_026_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_025_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_026_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_025_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_026_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_025_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_026_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_025_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_026_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_025_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -43071,7 +42427,7 @@ struct IVROverlay_IVROverlay_026_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_026_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_025_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -43083,17 +42439,17 @@ struct wow64_IVROverlay_IVROverlay_026_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_026_CloseMessageOverlay_params +struct IVROverlay_IVROverlay_025_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_026_CloseMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_025_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_027_FindOverlay_params +struct IVROverlay_IVROverlay_026_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -43101,7 +42457,7 @@ struct IVROverlay_IVROverlay_027_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_027_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_026_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -43109,7 +42465,7 @@ struct wow64_IVROverlay_IVROverlay_027_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_027_CreateOverlay_params +struct IVROverlay_IVROverlay_026_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -43118,7 +42474,7 @@ struct IVROverlay_IVROverlay_027_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_027_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_026_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -43127,21 +42483,21 @@ struct wow64_IVROverlay_IVROverlay_027_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_027_DestroyOverlay_params +struct IVROverlay_IVROverlay_026_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_027_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_026_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_027_GetOverlayKey_params +struct IVROverlay_IVROverlay_026_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -43151,7 +42507,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -43161,7 +42517,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_027_GetOverlayName_params +struct IVROverlay_IVROverlay_026_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -43171,7 +42527,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -43181,7 +42537,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_027_SetOverlayName_params +struct IVROverlay_IVROverlay_026_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -43189,7 +42545,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayName_params const char *pchName; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayName_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -43197,7 +42553,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayName_params W32_PTR(const char *pchName, pchName, const char *); }; -struct IVROverlay_IVROverlay_027_GetOverlayImageData_params +struct IVROverlay_IVROverlay_026_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -43208,7 +42564,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -43219,21 +42575,21 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_027_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_026_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_027_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_026_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -43241,7 +42597,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -43249,21 +42605,21 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_027_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_026_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_027_SetOverlayFlag_params +struct IVROverlay_IVROverlay_026_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -43272,7 +42628,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -43281,7 +42637,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_027_GetOverlayFlag_params +struct IVROverlay_IVROverlay_026_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -43290,7 +42646,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -43299,7 +42655,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_027_GetOverlayFlags_params +struct IVROverlay_IVROverlay_026_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -43307,7 +42663,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayFlags_params uint32_t *pFlags; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayFlags_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -43315,7 +42671,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayFlags_params W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVROverlay_IVROverlay_027_SetOverlayColor_params +struct IVROverlay_IVROverlay_026_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -43325,7 +42681,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -43335,7 +42691,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_027_GetOverlayColor_params +struct IVROverlay_IVROverlay_026_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -43345,7 +42701,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -43355,7 +42711,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_027_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_026_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -43363,7 +42719,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -43371,7 +42727,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_027_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_026_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -43379,7 +42735,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -43387,7 +42743,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_027_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_026_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -43395,7 +42751,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -43403,7 +42759,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_027_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_026_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -43411,7 +42767,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -43419,7 +42775,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_027_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_026_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -43427,7 +42783,7 @@ struct IVROverlay_IVROverlay_027_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -43435,7 +42791,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_027_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_026_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -43443,7 +42799,7 @@ struct IVROverlay_IVROverlay_027_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -43451,7 +42807,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_027_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_026_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -43459,7 +42815,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -43467,7 +42823,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_027_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_026_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -43475,7 +42831,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -43483,7 +42839,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_027_SetOverlayCurvature_params +struct IVROverlay_IVROverlay_026_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -43491,7 +42847,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayCurvature_params float fCurvature; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -43499,7 +42855,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayCurvature_params float fCurvature; }; -struct IVROverlay_IVROverlay_027_GetOverlayCurvature_params +struct IVROverlay_IVROverlay_026_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -43507,7 +42863,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayCurvature_params float *pfCurvature; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -43515,7 +42871,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayCurvature_params W32_PTR(float *pfCurvature, pfCurvature, float *); }; -struct IVROverlay_IVROverlay_027_SetOverlayPreCurvePitch_params +struct IVROverlay_IVROverlay_026_SetOverlayPreCurvePitch_params { struct u_iface u_iface; uint32_t _ret; @@ -43523,7 +42879,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayPreCurvePitch_params float fRadians; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayPreCurvePitch_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayPreCurvePitch_params { struct u_iface u_iface; uint32_t _ret; @@ -43531,7 +42887,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayPreCurvePitch_params float fRadians; }; -struct IVROverlay_IVROverlay_027_GetOverlayPreCurvePitch_params +struct IVROverlay_IVROverlay_026_GetOverlayPreCurvePitch_params { struct u_iface u_iface; uint32_t _ret; @@ -43539,7 +42895,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayPreCurvePitch_params float *pfRadians; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayPreCurvePitch_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayPreCurvePitch_params { struct u_iface u_iface; uint32_t _ret; @@ -43547,7 +42903,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayPreCurvePitch_params W32_PTR(float *pfRadians, pfRadians, float *); }; -struct IVROverlay_IVROverlay_027_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_026_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -43555,7 +42911,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -43563,7 +42919,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_027_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_026_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -43571,7 +42927,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -43579,7 +42935,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_027_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_026_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -43587,7 +42943,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -43595,7 +42951,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_027_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_026_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -43603,7 +42959,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -43611,7 +42967,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_027_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_026_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -43619,7 +42975,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -43627,7 +42983,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_027_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_026_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -43636,7 +42992,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -43645,7 +43001,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_027_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_026_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -43654,7 +43010,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -43663,7 +43019,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -43672,7 +43028,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -43681,7 +43037,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -43690,7 +43046,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -43699,7 +43055,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -43708,7 +43064,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -43717,7 +43073,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -43727,7 +43083,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -43737,7 +43093,43 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_027_SetOverlayTransformCursor_params +struct IVROverlay_IVROverlay_026_GetOverlayTransformOverlayRelative_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint64_t *ulOverlayHandleParent; + HmdMatrix34_t *pmatParentOverlayToOverlayTransform; +}; + +struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformOverlayRelative_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint64_t *ulOverlayHandleParent, ulOverlayHandleParent, uint64_t *); + W32_PTR(HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, HmdMatrix34_t *); +}; + +struct IVROverlay_IVROverlay_026_SetOverlayTransformOverlayRelative_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint64_t ulOverlayHandleParent; + const HmdMatrix34_t *pmatParentOverlayToOverlayTransform; +}; + +struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformOverlayRelative_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint64_t ulOverlayHandleParent; + W32_PTR(const HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, const HmdMatrix34_t *); +}; + +struct IVROverlay_IVROverlay_026_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -43745,7 +43137,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayTransformCursor_params const HmdVector2_t *pvHotspot; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformCursor_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -43753,7 +43145,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformCursor_params W32_PTR(const HmdVector2_t *pvHotspot, pvHotspot, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_027_GetOverlayTransformCursor_params +struct IVROverlay_IVROverlay_026_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -43761,7 +43153,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayTransformCursor_params HmdVector2_t *pvHotspot; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformCursor_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -43769,7 +43161,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformCursor_params W32_PTR(HmdVector2_t *pvHotspot, pvHotspot, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_027_SetOverlayTransformProjection_params +struct IVROverlay_IVROverlay_026_SetOverlayTransformProjection_params { struct u_iface u_iface; uint32_t _ret; @@ -43780,7 +43172,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayTransformProjection_params uint32_t eEye; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformProjection_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformProjection_params { struct u_iface u_iface; uint32_t _ret; @@ -43791,49 +43183,49 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformProjection_params uint32_t eEye; }; -struct IVROverlay_IVROverlay_027_ShowOverlay_params +struct IVROverlay_IVROverlay_026_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_027_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_026_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_027_HideOverlay_params +struct IVROverlay_IVROverlay_026_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_027_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_026_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_027_IsOverlayVisible_params +struct IVROverlay_IVROverlay_026_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_027_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_026_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_027_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_026_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -43843,7 +43235,7 @@ struct IVROverlay_IVROverlay_027_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_027_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_026_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -43853,39 +43245,39 @@ struct wow64_IVROverlay_IVROverlay_027_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_027_WaitFrameSync_params +struct IVROverlay_IVROverlay_026_WaitFrameSync_params { struct u_iface u_iface; uint32_t _ret; uint32_t nTimeoutMs; }; -struct wow64_IVROverlay_IVROverlay_027_WaitFrameSync_params +struct wow64_IVROverlay_IVROverlay_026_WaitFrameSync_params { struct u_iface u_iface; uint32_t _ret; uint32_t nTimeoutMs; }; -struct IVROverlay_IVROverlay_027_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_026_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_223 *pEvent; + w_VREvent_t_1168 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_027_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_026_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_223 *pEvent, pEvent, w32_VREvent_t_223 *); + W32_PTR(w32_VREvent_t_1168 *pEvent, pEvent, w32_VREvent_t_1168 *); uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_027_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_026_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -43893,7 +43285,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -43901,7 +43293,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_027_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_026_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -43909,7 +43301,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -43917,7 +43309,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_027_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_026_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -43925,7 +43317,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -43933,7 +43325,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_027_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_026_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -43941,7 +43333,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -43949,7 +43341,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_027_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_026_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -43958,7 +43350,7 @@ struct IVROverlay_IVROverlay_027_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_027_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_026_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -43967,21 +43359,21 @@ struct wow64_IVROverlay_IVROverlay_027_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_027_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_026_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_027_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_026_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_027_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_026_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -43991,7 +43383,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -44001,7 +43393,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_027_TriggerLaserMouseHapticVibration_params +struct IVROverlay_IVROverlay_026_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; @@ -44011,7 +43403,7 @@ struct IVROverlay_IVROverlay_027_TriggerLaserMouseHapticVibration_params float fAmplitude; }; -struct wow64_IVROverlay_IVROverlay_027_TriggerLaserMouseHapticVibration_params +struct wow64_IVROverlay_IVROverlay_026_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; @@ -44021,7 +43413,7 @@ struct wow64_IVROverlay_IVROverlay_027_TriggerLaserMouseHapticVibration_params float fAmplitude; }; -struct IVROverlay_IVROverlay_027_SetOverlayCursor_params +struct IVROverlay_IVROverlay_026_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -44029,7 +43421,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayCursor_params uint64_t ulCursorHandle; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayCursor_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -44037,7 +43429,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayCursor_params uint64_t ulCursorHandle; }; -struct IVROverlay_IVROverlay_027_SetOverlayCursorPositionOverride_params +struct IVROverlay_IVROverlay_026_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; @@ -44045,7 +43437,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayCursorPositionOverride_params const HmdVector2_t *pvCursor; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayCursorPositionOverride_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; @@ -44053,21 +43445,21 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayCursorPositionOverride_params W32_PTR(const HmdVector2_t *pvCursor, pvCursor, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_027_ClearOverlayCursorPositionOverride_params +struct IVROverlay_IVROverlay_026_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_027_ClearOverlayCursorPositionOverride_params +struct wow64_IVROverlay_IVROverlay_026_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_027_SetOverlayTexture_params +struct IVROverlay_IVROverlay_026_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -44075,7 +43467,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -44083,21 +43475,21 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_027_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_026_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_027_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_026_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_027_SetOverlayRaw_params +struct IVROverlay_IVROverlay_026_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -44108,7 +43500,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayRaw_params uint32_t unBytesPerPixel; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -44119,7 +43511,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayRaw_params uint32_t unBytesPerPixel; }; -struct IVROverlay_IVROverlay_027_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_026_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -44127,7 +43519,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -44135,7 +43527,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_027_GetOverlayTexture_params +struct IVROverlay_IVROverlay_026_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -44150,7 +43542,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -44165,7 +43557,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_027_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_026_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -44173,7 +43565,7 @@ struct IVROverlay_IVROverlay_027_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_027_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_026_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -44181,7 +43573,7 @@ struct wow64_IVROverlay_IVROverlay_027_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_027_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_026_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -44190,7 +43582,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -44199,7 +43591,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_027_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_026_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -44209,7 +43601,7 @@ struct IVROverlay_IVROverlay_027_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_027_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_026_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -44219,33 +43611,33 @@ struct wow64_IVROverlay_IVROverlay_027_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_027_IsDashboardVisible_params +struct IVROverlay_IVROverlay_026_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_027_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_026_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_027_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_026_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_027_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_026_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_027_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_026_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -44253,7 +43645,7 @@ struct IVROverlay_IVROverlay_027_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_027_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_026_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -44261,7 +43653,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_027_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_026_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -44269,7 +43661,7 @@ struct IVROverlay_IVROverlay_027_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_027_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_026_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -44277,31 +43669,31 @@ struct wow64_IVROverlay_IVROverlay_027_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_027_ShowDashboard_params +struct IVROverlay_IVROverlay_026_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_027_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_026_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_027_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_026_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_027_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_026_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_027_ShowKeyboard_params +struct IVROverlay_IVROverlay_026_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -44314,7 +43706,7 @@ struct IVROverlay_IVROverlay_027_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_027_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_026_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -44327,7 +43719,7 @@ struct wow64_IVROverlay_IVROverlay_027_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_027_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_026_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -44341,7 +43733,7 @@ struct IVROverlay_IVROverlay_027_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_027_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_026_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -44355,7 +43747,7 @@ struct wow64_IVROverlay_IVROverlay_027_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_027_GetKeyboardText_params +struct IVROverlay_IVROverlay_026_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -44363,7 +43755,7 @@ struct IVROverlay_IVROverlay_027_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_027_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_026_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -44371,45 +43763,45 @@ struct wow64_IVROverlay_IVROverlay_027_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_027_HideKeyboard_params +struct IVROverlay_IVROverlay_026_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_027_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_026_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_027_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_026_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_027_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_026_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_027_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_026_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_027_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_026_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_027_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_026_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -44421,7 +43813,7 @@ struct IVROverlay_IVROverlay_027_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_027_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_026_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -44433,17 +43825,17 @@ struct wow64_IVROverlay_IVROverlay_027_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_027_CloseMessageOverlay_params +struct IVROverlay_IVROverlay_026_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_027_CloseMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_026_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_028_FindOverlay_params +struct IVROverlay_IVROverlay_027_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -44451,7 +43843,7 @@ struct IVROverlay_IVROverlay_028_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_028_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_027_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -44459,7 +43851,7 @@ struct wow64_IVROverlay_IVROverlay_028_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_028_CreateOverlay_params +struct IVROverlay_IVROverlay_027_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -44468,7 +43860,7 @@ struct IVROverlay_IVROverlay_028_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_028_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_027_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -44477,41 +43869,21 @@ struct wow64_IVROverlay_IVROverlay_028_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_028_CreateSubviewOverlay_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t parentOverlayHandle; - const char *pchSubviewOverlayKey; - const char *pchSubviewOverlayName; - uint64_t *pSubviewOverlayHandle; -}; - -struct wow64_IVROverlay_IVROverlay_028_CreateSubviewOverlay_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t parentOverlayHandle; - W32_PTR(const char *pchSubviewOverlayKey, pchSubviewOverlayKey, const char *); - W32_PTR(const char *pchSubviewOverlayName, pchSubviewOverlayName, const char *); - W32_PTR(uint64_t *pSubviewOverlayHandle, pSubviewOverlayHandle, uint64_t *); -}; - -struct IVROverlay_IVROverlay_028_DestroyOverlay_params +struct IVROverlay_IVROverlay_027_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_028_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_027_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_028_GetOverlayKey_params +struct IVROverlay_IVROverlay_027_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -44521,7 +43893,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -44531,7 +43903,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_028_GetOverlayName_params +struct IVROverlay_IVROverlay_027_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -44541,7 +43913,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -44551,7 +43923,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_028_SetOverlayName_params +struct IVROverlay_IVROverlay_027_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -44559,7 +43931,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayName_params const char *pchName; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayName_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -44567,7 +43939,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayName_params W32_PTR(const char *pchName, pchName, const char *); }; -struct IVROverlay_IVROverlay_028_GetOverlayImageData_params +struct IVROverlay_IVROverlay_027_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -44578,7 +43950,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -44589,21 +43961,21 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_027_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_028_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_027_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -44611,7 +43983,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -44619,21 +43991,21 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_028_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_027_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_028_SetOverlayFlag_params +struct IVROverlay_IVROverlay_027_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -44642,7 +44014,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -44651,7 +44023,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_028_GetOverlayFlag_params +struct IVROverlay_IVROverlay_027_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -44660,7 +44032,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -44669,7 +44041,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_028_GetOverlayFlags_params +struct IVROverlay_IVROverlay_027_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -44677,7 +44049,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayFlags_params uint32_t *pFlags; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayFlags_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -44685,7 +44057,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayFlags_params W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVROverlay_IVROverlay_028_SetOverlayColor_params +struct IVROverlay_IVROverlay_027_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -44695,7 +44067,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -44705,7 +44077,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_028_GetOverlayColor_params +struct IVROverlay_IVROverlay_027_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -44715,7 +44087,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -44725,7 +44097,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_028_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_027_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -44733,7 +44105,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -44741,7 +44113,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_028_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_027_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -44749,7 +44121,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -44757,7 +44129,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_028_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_027_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -44765,7 +44137,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -44773,7 +44145,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_028_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_027_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -44781,7 +44153,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -44789,7 +44161,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_028_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_027_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -44797,7 +44169,7 @@ struct IVROverlay_IVROverlay_028_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -44805,7 +44177,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_028_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_027_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -44813,7 +44185,7 @@ struct IVROverlay_IVROverlay_028_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -44821,7 +44193,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_028_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_027_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -44829,7 +44201,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -44837,7 +44209,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_028_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_027_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -44845,7 +44217,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -44853,7 +44225,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_028_SetOverlayCurvature_params +struct IVROverlay_IVROverlay_027_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -44861,7 +44233,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayCurvature_params float fCurvature; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -44869,7 +44241,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayCurvature_params float fCurvature; }; -struct IVROverlay_IVROverlay_028_GetOverlayCurvature_params +struct IVROverlay_IVROverlay_027_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -44877,7 +44249,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayCurvature_params float *pfCurvature; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -44885,7 +44257,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayCurvature_params W32_PTR(float *pfCurvature, pfCurvature, float *); }; -struct IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch_params +struct IVROverlay_IVROverlay_027_SetOverlayPreCurvePitch_params { struct u_iface u_iface; uint32_t _ret; @@ -44893,7 +44265,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch_params float fRadians; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayPreCurvePitch_params { struct u_iface u_iface; uint32_t _ret; @@ -44901,7 +44273,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch_params float fRadians; }; -struct IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch_params +struct IVROverlay_IVROverlay_027_GetOverlayPreCurvePitch_params { struct u_iface u_iface; uint32_t _ret; @@ -44909,7 +44281,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch_params float *pfRadians; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayPreCurvePitch_params { struct u_iface u_iface; uint32_t _ret; @@ -44917,7 +44289,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch_params W32_PTR(float *pfRadians, pfRadians, float *); }; -struct IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_027_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -44925,7 +44297,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -44933,7 +44305,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_027_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -44941,7 +44313,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -44949,7 +44321,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_028_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_027_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -44957,7 +44329,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -44965,7 +44337,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_028_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_027_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -44973,7 +44345,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -44981,7 +44353,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_028_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_027_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -44989,7 +44361,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -44997,7 +44369,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_027_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -45006,7 +44378,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -45015,7 +44387,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_027_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -45024,7 +44396,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -45033,7 +44405,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -45042,7 +44414,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -45051,7 +44423,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -45060,7 +44432,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -45069,7 +44441,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -45078,7 +44450,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -45087,7 +44459,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -45097,7 +44469,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -45107,7 +44479,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_028_SetOverlayTransformCursor_params +struct IVROverlay_IVROverlay_027_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -45115,7 +44487,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayTransformCursor_params const HmdVector2_t *pvHotspot; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformCursor_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -45123,7 +44495,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformCursor_params W32_PTR(const HmdVector2_t *pvHotspot, pvHotspot, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_028_GetOverlayTransformCursor_params +struct IVROverlay_IVROverlay_027_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -45131,7 +44503,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayTransformCursor_params HmdVector2_t *pvHotspot; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformCursor_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -45139,7 +44511,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformCursor_params W32_PTR(HmdVector2_t *pvHotspot, pvHotspot, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_028_SetOverlayTransformProjection_params +struct IVROverlay_IVROverlay_027_SetOverlayTransformProjection_params { struct u_iface u_iface; uint32_t _ret; @@ -45150,7 +44522,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayTransformProjection_params uint32_t eEye; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformProjection_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformProjection_params { struct u_iface u_iface; uint32_t _ret; @@ -45161,67 +44533,49 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformProjection_params uint32_t eEye; }; -struct IVROverlay_IVROverlay_028_SetSubviewPosition_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - float fX; - float fY; -}; - -struct wow64_IVROverlay_IVROverlay_028_SetSubviewPosition_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - float fX; - float fY; -}; - -struct IVROverlay_IVROverlay_028_ShowOverlay_params +struct IVROverlay_IVROverlay_027_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_028_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_027_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_028_HideOverlay_params +struct IVROverlay_IVROverlay_027_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_028_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_027_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_028_IsOverlayVisible_params +struct IVROverlay_IVROverlay_027_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_028_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_027_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_027_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -45231,7 +44585,7 @@ struct IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_027_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -45241,21 +44595,21 @@ struct wow64_IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_028_WaitFrameSync_params +struct IVROverlay_IVROverlay_027_WaitFrameSync_params { struct u_iface u_iface; uint32_t _ret; uint32_t nTimeoutMs; }; -struct wow64_IVROverlay_IVROverlay_028_WaitFrameSync_params +struct wow64_IVROverlay_IVROverlay_027_WaitFrameSync_params { struct u_iface u_iface; uint32_t _ret; uint32_t nTimeoutMs; }; -struct IVROverlay_IVROverlay_028_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_027_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -45264,7 +44618,7 @@ struct IVROverlay_IVROverlay_028_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_028_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_027_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -45273,7 +44627,7 @@ struct wow64_IVROverlay_IVROverlay_028_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_028_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_027_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -45281,7 +44635,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -45289,7 +44643,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_028_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_027_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -45297,7 +44651,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -45305,7 +44659,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_028_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_027_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -45313,7 +44667,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -45321,7 +44675,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_028_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_027_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -45329,7 +44683,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -45337,7 +44691,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_028_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_027_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -45346,7 +44700,7 @@ struct IVROverlay_IVROverlay_028_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_028_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_027_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -45355,21 +44709,21 @@ struct wow64_IVROverlay_IVROverlay_028_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_028_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_027_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_028_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_027_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_028_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_027_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -45379,7 +44733,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -45389,7 +44743,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration_params +struct IVROverlay_IVROverlay_027_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; @@ -45399,7 +44753,7 @@ struct IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration_params float fAmplitude; }; -struct wow64_IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration_params +struct wow64_IVROverlay_IVROverlay_027_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; @@ -45409,7 +44763,7 @@ struct wow64_IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration_params float fAmplitude; }; -struct IVROverlay_IVROverlay_028_SetOverlayCursor_params +struct IVROverlay_IVROverlay_027_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -45417,7 +44771,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayCursor_params uint64_t ulCursorHandle; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayCursor_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -45425,7 +44779,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayCursor_params uint64_t ulCursorHandle; }; -struct IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride_params +struct IVROverlay_IVROverlay_027_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; @@ -45433,7 +44787,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride_params const HmdVector2_t *pvCursor; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; @@ -45441,21 +44795,21 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride_params W32_PTR(const HmdVector2_t *pvCursor, pvCursor, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride_params +struct IVROverlay_IVROverlay_027_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride_params +struct wow64_IVROverlay_IVROverlay_027_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_028_SetOverlayTexture_params +struct IVROverlay_IVROverlay_027_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -45463,7 +44817,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -45471,21 +44825,21 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_028_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_027_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_028_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_027_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_028_SetOverlayRaw_params +struct IVROverlay_IVROverlay_027_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -45496,7 +44850,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayRaw_params uint32_t unBytesPerPixel; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -45507,7 +44861,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayRaw_params uint32_t unBytesPerPixel; }; -struct IVROverlay_IVROverlay_028_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_027_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -45515,7 +44869,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -45523,7 +44877,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_028_GetOverlayTexture_params +struct IVROverlay_IVROverlay_027_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -45538,7 +44892,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -45553,7 +44907,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_027_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -45561,7 +44915,7 @@ struct IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_027_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -45569,7 +44923,7 @@ struct wow64_IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_028_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_027_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -45578,7 +44932,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -45587,7 +44941,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_028_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_027_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -45597,7 +44951,7 @@ struct IVROverlay_IVROverlay_028_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_028_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_027_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -45607,33 +44961,33 @@ struct wow64_IVROverlay_IVROverlay_028_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_028_IsDashboardVisible_params +struct IVROverlay_IVROverlay_027_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_028_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_027_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_028_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_027_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_028_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_027_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_027_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -45641,7 +44995,7 @@ struct IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_027_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -45649,7 +45003,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_027_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -45657,7 +45011,7 @@ struct IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_027_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -45665,31 +45019,31 @@ struct wow64_IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_028_ShowDashboard_params +struct IVROverlay_IVROverlay_027_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_028_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_027_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_028_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_027_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_028_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_027_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_028_ShowKeyboard_params +struct IVROverlay_IVROverlay_027_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -45702,7 +45056,7 @@ struct IVROverlay_IVROverlay_028_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_028_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_027_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -45715,7 +45069,7 @@ struct wow64_IVROverlay_IVROverlay_028_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_028_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_027_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -45729,7 +45083,7 @@ struct IVROverlay_IVROverlay_028_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_028_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_027_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -45743,7 +45097,7 @@ struct wow64_IVROverlay_IVROverlay_028_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_028_GetKeyboardText_params +struct IVROverlay_IVROverlay_027_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -45751,7 +45105,7 @@ struct IVROverlay_IVROverlay_028_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_028_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_027_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -45759,45 +45113,45 @@ struct wow64_IVROverlay_IVROverlay_028_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_028_HideKeyboard_params +struct IVROverlay_IVROverlay_027_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_028_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_027_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_027_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_027_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_027_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_027_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_028_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_027_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -45809,7 +45163,7 @@ struct IVROverlay_IVROverlay_028_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_028_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_027_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -45821,1139 +45175,2527 @@ struct wow64_IVROverlay_IVROverlay_028_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_028_CloseMessageOverlay_params +struct IVROverlay_IVROverlay_027_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_028_CloseMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_027_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct IVRRenderModels_IVRRenderModels_001_LoadRenderModel_params +struct IVROverlay_IVROverlay_028_FindOverlay_params { struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - w_RenderModel_t_090 *pRenderModel; + uint32_t _ret; + const char *pchOverlayKey; + uint64_t *pOverlayHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_001_LoadRenderModel_params +struct wow64_IVROverlay_IVROverlay_028_FindOverlay_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(w32_RenderModel_t_090 *pRenderModel, pRenderModel, w32_RenderModel_t_090 *); + uint32_t _ret; + W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); + W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVRRenderModels_IVRRenderModels_001_FreeRenderModel_params +struct IVROverlay_IVROverlay_028_CreateOverlay_params { struct u_iface u_iface; - w_RenderModel_t_090 *pRenderModel; + uint32_t _ret; + const char *pchOverlayKey; + const char *pchOverlayName; + uint64_t *pOverlayHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_001_FreeRenderModel_params +struct wow64_IVROverlay_IVROverlay_028_CreateOverlay_params { struct u_iface u_iface; - W32_PTR(w32_RenderModel_t_090 *pRenderModel, pRenderModel, w32_RenderModel_t_090 *); + uint32_t _ret; + W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); + W32_PTR(const char *pchOverlayName, pchOverlayName, const char *); + W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVRRenderModels_IVRRenderModels_001_GetRenderModelName_params +struct IVROverlay_IVROverlay_028_CreateSubviewOverlay_params { struct u_iface u_iface; uint32_t _ret; - uint32_t unRenderModelIndex; - char *pchRenderModelName; - uint32_t unRenderModelNameLen; + uint64_t parentOverlayHandle; + const char *pchSubviewOverlayKey; + const char *pchSubviewOverlayName; + uint64_t *pSubviewOverlayHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_001_GetRenderModelName_params +struct wow64_IVROverlay_IVROverlay_028_CreateSubviewOverlay_params { struct u_iface u_iface; uint32_t _ret; - uint32_t unRenderModelIndex; - W32_PTR(char *pchRenderModelName, pchRenderModelName, char *); - uint32_t unRenderModelNameLen; + uint64_t parentOverlayHandle; + W32_PTR(const char *pchSubviewOverlayKey, pchSubviewOverlayKey, const char *); + W32_PTR(const char *pchSubviewOverlayName, pchSubviewOverlayName, const char *); + W32_PTR(uint64_t *pSubviewOverlayHandle, pSubviewOverlayHandle, uint64_t *); }; -struct IVRRenderModels_IVRRenderModels_001_GetRenderModelCount_params +struct IVROverlay_IVROverlay_028_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; + uint64_t ulOverlayHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_001_GetRenderModelCount_params +struct wow64_IVROverlay_IVROverlay_028_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; + uint64_t ulOverlayHandle; }; -struct IVRRenderModels_IVRRenderModels_002_LoadRenderModel_params +struct IVROverlay_IVROverlay_028_GetOverlayKey_params { struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - w_RenderModel_t_0912 **ppRenderModel; + uint32_t _ret; + uint64_t ulOverlayHandle; + char *pchValue; + uint32_t unBufferSize; + uint32_t *pError; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_LoadRenderModel_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayKey_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(w32_RenderModel_t_0912 **ppRenderModel, ppRenderModel, w32_RenderModel_t_0912 **); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(char *pchValue, pchValue, char *); + uint32_t unBufferSize; + W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRRenderModels_IVRRenderModels_002_FreeRenderModel_params +struct IVROverlay_IVROverlay_028_GetOverlayName_params { struct u_iface u_iface; - w_RenderModel_t_0912 *pRenderModel; + uint32_t _ret; + uint64_t ulOverlayHandle; + char *pchValue; + uint32_t unBufferSize; + uint32_t *pError; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_FreeRenderModel_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayName_params { struct u_iface u_iface; - W32_PTR(w32_RenderModel_t_0912 *pRenderModel, pRenderModel, w32_RenderModel_t_0912 *); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(char *pchValue, pchValue, char *); + uint32_t unBufferSize; + W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRRenderModels_IVRRenderModels_002_LoadTexture_params +struct IVROverlay_IVROverlay_028_SetOverlayName_params { struct u_iface u_iface; - int8_t _ret; - int32_t textureId; - w_RenderModel_TextureMap_t_090 **ppTexture; + uint32_t _ret; + uint64_t ulOverlayHandle; + const char *pchName; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_LoadTexture_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayName_params { struct u_iface u_iface; - int8_t _ret; - int32_t textureId; - W32_PTR(w32_RenderModel_TextureMap_t_090 **ppTexture, ppTexture, w32_RenderModel_TextureMap_t_090 **); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(const char *pchName, pchName, const char *); }; -struct IVRRenderModels_IVRRenderModels_002_FreeTexture_params +struct IVROverlay_IVROverlay_028_GetOverlayImageData_params { struct u_iface u_iface; - w_RenderModel_TextureMap_t_090 *pTexture; + uint32_t _ret; + uint64_t ulOverlayHandle; + void *pvBuffer; + uint32_t unBufferSize; + uint32_t *punWidth; + uint32_t *punHeight; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_FreeTexture_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayImageData_params { struct u_iface u_iface; - W32_PTR(w32_RenderModel_TextureMap_t_090 *pTexture, pTexture, w32_RenderModel_TextureMap_t_090 *); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(void *pvBuffer, pvBuffer, void *); + uint32_t unBufferSize; + W32_PTR(uint32_t *punWidth, punWidth, uint32_t *); + W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVRRenderModels_IVRRenderModels_002_GetRenderModelName_params +struct IVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t unRenderModelIndex; - char *pchRenderModelName; - uint32_t unRenderModelNameLen; + struct u_buffer _ret; + uint32_t error; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_GetRenderModelName_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t unRenderModelIndex; - W32_PTR(char *pchRenderModelName, pchRenderModelName, char *); - uint32_t unRenderModelNameLen; + struct u_buffer _ret; + uint32_t error; }; -struct IVRRenderModels_IVRRenderModels_002_GetRenderModelCount_params +struct IVROverlay_IVROverlay_028_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t unPID; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_GetRenderModelCount_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t unPID; }; -struct IVRRenderModels_IVRRenderModels_002_GetComponentCount_params +struct IVROverlay_IVROverlay_028_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; + uint64_t ulOverlayHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_GetComponentCount_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + uint64_t ulOverlayHandle; }; -struct IVRRenderModels_IVRRenderModels_002_GetComponentName_params +struct IVROverlay_IVROverlay_028_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - uint32_t unComponentIndex; - char *pchComponentName; - uint32_t unComponentNameLen; + uint64_t ulOverlayHandle; + uint32_t eOverlayFlag; + int8_t bEnabled; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_GetComponentName_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - uint32_t unComponentIndex; - W32_PTR(char *pchComponentName, pchComponentName, char *); - uint32_t unComponentNameLen; + uint64_t ulOverlayHandle; + uint32_t eOverlayFlag; + int8_t bEnabled; }; -struct IVRRenderModels_IVRRenderModels_002_GetComponentButtonMask_params +struct IVROverlay_IVROverlay_028_GetOverlayFlag_params { struct u_iface u_iface; - uint64_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eOverlayFlag; + int8_t *pbEnabled; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_GetComponentButtonMask_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayFlag_params { struct u_iface u_iface; - uint64_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eOverlayFlag; + W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVRRenderModels_IVRRenderModels_002_GetComponentRenderModelName_params +struct IVROverlay_IVROverlay_028_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; - char *pchComponentRenderModelName; - uint32_t unComponentRenderModelNameLen; + uint64_t ulOverlayHandle; + uint32_t *pFlags; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_GetComponentRenderModelName_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); - W32_PTR(char *pchComponentRenderModelName, pchComponentRenderModelName, char *); - uint32_t unComponentRenderModelNameLen; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVRRenderModels_IVRRenderModels_002_GetComponentState_params +struct IVROverlay_IVROverlay_028_SetOverlayColor_params { struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; - const w_VRControllerState001_t *pControllerState; - RenderModel_ComponentState_t *pComponentState; + uint32_t _ret; + uint64_t ulOverlayHandle; + float fRed; + float fGreen; + float fBlue; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_GetComponentState_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayColor_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); - W32_PTR(const w32_VRControllerState001_t *pControllerState, pControllerState, const w32_VRControllerState001_t *); - W32_PTR(RenderModel_ComponentState_t *pComponentState, pComponentState, RenderModel_ComponentState_t *); + uint32_t _ret; + uint64_t ulOverlayHandle; + float fRed; + float fGreen; + float fBlue; }; -struct IVRRenderModels_IVRRenderModels_002_RenderModelHasComponent_params +struct IVROverlay_IVROverlay_028_GetOverlayColor_params { struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; + uint32_t _ret; + uint64_t ulOverlayHandle; + float *pfRed; + float *pfGreen; + float *pfBlue; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_RenderModelHasComponent_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayColor_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(float *pfRed, pfRed, float *); + W32_PTR(float *pfGreen, pfGreen, float *); + W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVRRenderModels_IVRRenderModels_004_LoadRenderModel_Async_params +struct IVROverlay_IVROverlay_028_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - w_RenderModel_t_0912 **ppRenderModel; + uint64_t ulOverlayHandle; + float fAlpha; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_LoadRenderModel_Async_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(w32_RenderModel_t_0912 **ppRenderModel, ppRenderModel, w32_RenderModel_t_0912 **); + uint64_t ulOverlayHandle; + float fAlpha; }; -struct IVRRenderModels_IVRRenderModels_004_FreeRenderModel_params +struct IVROverlay_IVROverlay_028_GetOverlayAlpha_params { struct u_iface u_iface; - w_RenderModel_t_0912 *pRenderModel; + uint32_t _ret; + uint64_t ulOverlayHandle; + float *pfAlpha; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_FreeRenderModel_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayAlpha_params { struct u_iface u_iface; - W32_PTR(w32_RenderModel_t_0912 *pRenderModel, pRenderModel, w32_RenderModel_t_0912 *); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVRRenderModels_IVRRenderModels_004_LoadTexture_Async_params +struct IVROverlay_IVROverlay_028_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - w_RenderModel_TextureMap_t_090 **ppTexture; + uint64_t ulOverlayHandle; + float fTexelAspect; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_LoadTexture_Async_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - W32_PTR(w32_RenderModel_TextureMap_t_090 **ppTexture, ppTexture, w32_RenderModel_TextureMap_t_090 **); + uint64_t ulOverlayHandle; + float fTexelAspect; }; -struct IVRRenderModels_IVRRenderModels_004_FreeTexture_params +struct IVROverlay_IVROverlay_028_GetOverlayTexelAspect_params { struct u_iface u_iface; - w_RenderModel_TextureMap_t_090 *pTexture; + uint32_t _ret; + uint64_t ulOverlayHandle; + float *pfTexelAspect; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_FreeTexture_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTexelAspect_params { struct u_iface u_iface; - W32_PTR(w32_RenderModel_TextureMap_t_090 *pTexture, pTexture, w32_RenderModel_TextureMap_t_090 *); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVRRenderModels_IVRRenderModels_004_LoadTextureD3D11_Async_params +struct IVROverlay_IVROverlay_028_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - void *pD3D11Device; - void **ppD3D11Texture2D; + uint64_t ulOverlayHandle; + uint32_t unSortOrder; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_LoadTextureD3D11_Async_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - W32_PTR(void *pD3D11Device, pD3D11Device, void *); - W32_PTR(void **ppD3D11Texture2D, ppD3D11Texture2D, void **); + uint64_t ulOverlayHandle; + uint32_t unSortOrder; }; -struct IVRRenderModels_IVRRenderModels_004_FreeTextureD3D11_params +struct IVROverlay_IVROverlay_028_GetOverlaySortOrder_params { struct u_iface u_iface; - void *pD3D11Texture2D; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *punSortOrder; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_FreeTextureD3D11_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlaySortOrder_params { struct u_iface u_iface; - W32_PTR(void *pD3D11Texture2D, pD3D11Texture2D, void *); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVRRenderModels_IVRRenderModels_004_GetRenderModelName_params +struct IVROverlay_IVROverlay_028_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; - uint32_t unRenderModelIndex; - char *pchRenderModelName; - uint32_t unRenderModelNameLen; + uint64_t ulOverlayHandle; + float fWidthInMeters; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_GetRenderModelName_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; - uint32_t unRenderModelIndex; - W32_PTR(char *pchRenderModelName, pchRenderModelName, char *); - uint32_t unRenderModelNameLen; + uint64_t ulOverlayHandle; + float fWidthInMeters; }; -struct IVRRenderModels_IVRRenderModels_004_GetRenderModelCount_params +struct IVROverlay_IVROverlay_028_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; + uint64_t ulOverlayHandle; + float *pfWidthInMeters; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_GetRenderModelCount_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVRRenderModels_IVRRenderModels_004_GetComponentCount_params +struct IVROverlay_IVROverlay_028_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; + uint64_t ulOverlayHandle; + float fCurvature; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_GetComponentCount_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + uint64_t ulOverlayHandle; + float fCurvature; }; -struct IVRRenderModels_IVRRenderModels_004_GetComponentName_params +struct IVROverlay_IVROverlay_028_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - uint32_t unComponentIndex; - char *pchComponentName; - uint32_t unComponentNameLen; + uint64_t ulOverlayHandle; + float *pfCurvature; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_GetComponentName_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - uint32_t unComponentIndex; - W32_PTR(char *pchComponentName, pchComponentName, char *); - uint32_t unComponentNameLen; + uint64_t ulOverlayHandle; + W32_PTR(float *pfCurvature, pfCurvature, float *); }; -struct IVRRenderModels_IVRRenderModels_004_GetComponentButtonMask_params +struct IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch_params { struct u_iface u_iface; - uint64_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; + uint32_t _ret; + uint64_t ulOverlayHandle; + float fRadians; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_GetComponentButtonMask_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch_params { struct u_iface u_iface; - uint64_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); + uint32_t _ret; + uint64_t ulOverlayHandle; + float fRadians; }; -struct IVRRenderModels_IVRRenderModels_004_GetComponentRenderModelName_params +struct IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; - char *pchComponentRenderModelName; - uint32_t unComponentRenderModelNameLen; + uint64_t ulOverlayHandle; + float *pfRadians; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_GetComponentRenderModelName_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); - W32_PTR(char *pchComponentRenderModelName, pchComponentRenderModelName, char *); - uint32_t unComponentRenderModelNameLen; + uint64_t ulOverlayHandle; + W32_PTR(float *pfRadians, pfRadians, float *); }; -struct IVRRenderModels_IVRRenderModels_004_GetComponentState_params +struct IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace_params { struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; - const w_VRControllerState001_t *pControllerState; - const RenderModel_ControllerMode_State_t *pState; - RenderModel_ComponentState_t *pComponentState; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eTextureColorSpace; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_GetComponentState_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); - W32_PTR(const w32_VRControllerState001_t *pControllerState, pControllerState, const w32_VRControllerState001_t *); - W32_PTR(const RenderModel_ControllerMode_State_t *pState, pState, const RenderModel_ControllerMode_State_t *); - W32_PTR(RenderModel_ComponentState_t *pComponentState, pComponentState, RenderModel_ComponentState_t *); + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eTextureColorSpace; }; -struct IVRRenderModels_IVRRenderModels_004_RenderModelHasComponent_params +struct IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace_params { struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *peTextureColorSpace; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_RenderModelHasComponent_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVRRenderModels_IVRRenderModels_005_LoadRenderModel_Async_params +struct IVROverlay_IVROverlay_028_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - w_RenderModel_t_0912 **ppRenderModel; + uint64_t ulOverlayHandle; + const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_LoadRenderModel_Async_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(w32_RenderModel_t_0912 **ppRenderModel, ppRenderModel, w32_RenderModel_t_0912 **); + uint64_t ulOverlayHandle; + W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVRRenderModels_IVRRenderModels_005_FreeRenderModel_params +struct IVROverlay_IVROverlay_028_GetOverlayTextureBounds_params { struct u_iface u_iface; - w_RenderModel_t_0912 *pRenderModel; + uint32_t _ret; + uint64_t ulOverlayHandle; + VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_FreeRenderModel_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureBounds_params { struct u_iface u_iface; - W32_PTR(w32_RenderModel_t_0912 *pRenderModel, pRenderModel, w32_RenderModel_t_0912 *); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVRRenderModels_IVRRenderModels_005_LoadTexture_Async_params +struct IVROverlay_IVROverlay_028_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - w_RenderModel_TextureMap_t_090 **ppTexture; + uint64_t ulOverlayHandle; + uint32_t *peTransformType; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_LoadTexture_Async_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - W32_PTR(w32_RenderModel_TextureMap_t_090 **ppTexture, ppTexture, w32_RenderModel_TextureMap_t_090 **); + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVRRenderModels_IVRRenderModels_005_FreeTexture_params +struct IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute_params { struct u_iface u_iface; - w_RenderModel_TextureMap_t_090 *pTexture; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eTrackingOrigin; + const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_FreeTexture_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute_params { struct u_iface u_iface; - W32_PTR(w32_RenderModel_TextureMap_t_090 *pTexture, pTexture, w32_RenderModel_TextureMap_t_090 *); + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eTrackingOrigin; + W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVRRenderModels_IVRRenderModels_005_LoadTextureD3D11_Async_params +struct IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - void *pD3D11Device; - void **ppD3D11Texture2D; + uint64_t ulOverlayHandle; + uint32_t *peTrackingOrigin; + HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_LoadTextureD3D11_Async_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - W32_PTR(void *pD3D11Device, pD3D11Device, void *); - W32_PTR(void **ppD3D11Texture2D, ppD3D11Texture2D, void **); + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *peTrackingOrigin, peTrackingOrigin, uint32_t *); + W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVRRenderModels_IVRRenderModels_005_LoadIntoTextureD3D11_Async_params +struct IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - void *pDstTexture; + uint64_t ulOverlayHandle; + uint32_t unTrackedDevice; + const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_LoadIntoTextureD3D11_Async_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - W32_PTR(void *pDstTexture, pDstTexture, void *); + uint64_t ulOverlayHandle; + uint32_t unTrackedDevice; + W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVRRenderModels_IVRRenderModels_005_FreeTextureD3D11_params +struct IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; - void *pD3D11Texture2D; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *punTrackedDevice; + HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_FreeTextureD3D11_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; - W32_PTR(void *pD3D11Texture2D, pD3D11Texture2D, void *); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *punTrackedDevice, punTrackedDevice, uint32_t *); + W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVRRenderModels_IVRRenderModels_005_GetRenderModelName_params +struct IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; - uint32_t unRenderModelIndex; - char *pchRenderModelName; - uint32_t unRenderModelNameLen; + uint64_t ulOverlayHandle; + uint32_t unDeviceIndex; + const char *pchComponentName; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_GetRenderModelName_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; - uint32_t unRenderModelIndex; - W32_PTR(char *pchRenderModelName, pchRenderModelName, char *); - uint32_t unRenderModelNameLen; + uint64_t ulOverlayHandle; + uint32_t unDeviceIndex; + W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVRRenderModels_IVRRenderModels_005_GetRenderModelCount_params +struct IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *punDeviceIndex; + char *pchComponentName; + uint32_t unComponentNameSize; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_GetRenderModelCount_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *punDeviceIndex, punDeviceIndex, uint32_t *); + W32_PTR(char *pchComponentName, pchComponentName, char *); + uint32_t unComponentNameSize; }; -struct IVRRenderModels_IVRRenderModels_005_GetComponentCount_params +struct IVROverlay_IVROverlay_028_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; + uint64_t ulCursorOverlayHandle; + const HmdVector2_t *pvHotspot; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_GetComponentCount_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + uint64_t ulCursorOverlayHandle; + W32_PTR(const HmdVector2_t *pvHotspot, pvHotspot, const HmdVector2_t *); }; -struct IVRRenderModels_IVRRenderModels_005_GetComponentName_params +struct IVROverlay_IVROverlay_028_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - uint32_t unComponentIndex; - char *pchComponentName; - uint32_t unComponentNameLen; + uint64_t ulOverlayHandle; + HmdVector2_t *pvHotspot; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_GetComponentName_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - uint32_t unComponentIndex; - W32_PTR(char *pchComponentName, pchComponentName, char *); - uint32_t unComponentNameLen; -}; - -struct IVRRenderModels_IVRRenderModels_005_GetComponentButtonMask_params -{ - struct u_iface u_iface; - uint64_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; + uint64_t ulOverlayHandle; + W32_PTR(HmdVector2_t *pvHotspot, pvHotspot, HmdVector2_t *); }; -struct wow64_IVRRenderModels_IVRRenderModels_005_GetComponentButtonMask_params +struct IVROverlay_IVROverlay_028_SetOverlayTransformProjection_params { struct u_iface u_iface; - uint64_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eTrackingOrigin; + const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; + const VROverlayProjection_t *pProjection; + uint32_t eEye; }; -struct IVRRenderModels_IVRRenderModels_005_GetComponentRenderModelName_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformProjection_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; - char *pchComponentRenderModelName; - uint32_t unComponentRenderModelNameLen; + uint64_t ulOverlayHandle; + uint32_t eTrackingOrigin; + W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); + W32_PTR(const VROverlayProjection_t *pProjection, pProjection, const VROverlayProjection_t *); + uint32_t eEye; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_GetComponentRenderModelName_params +struct IVROverlay_IVROverlay_028_SetSubviewPosition_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); - W32_PTR(char *pchComponentRenderModelName, pchComponentRenderModelName, char *); - uint32_t unComponentRenderModelNameLen; + uint64_t ulOverlayHandle; + float fX; + float fY; }; -struct IVRRenderModels_IVRRenderModels_005_GetComponentState_params +struct wow64_IVROverlay_IVROverlay_028_SetSubviewPosition_params { struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; - const w_VRControllerState001_t *pControllerState; - const RenderModel_ControllerMode_State_t *pState; - RenderModel_ComponentState_t *pComponentState; + uint32_t _ret; + uint64_t ulOverlayHandle; + float fX; + float fY; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_GetComponentState_params +struct IVROverlay_IVROverlay_028_ShowOverlay_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); - W32_PTR(const w32_VRControllerState001_t *pControllerState, pControllerState, const w32_VRControllerState001_t *); - W32_PTR(const RenderModel_ControllerMode_State_t *pState, pState, const RenderModel_ControllerMode_State_t *); - W32_PTR(RenderModel_ComponentState_t *pComponentState, pComponentState, RenderModel_ComponentState_t *); + uint32_t _ret; + uint64_t ulOverlayHandle; }; -struct IVRRenderModels_IVRRenderModels_005_RenderModelHasComponent_params +struct wow64_IVROverlay_IVROverlay_028_ShowOverlay_params { struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; + uint32_t _ret; + uint64_t ulOverlayHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_RenderModelHasComponent_params +struct IVROverlay_IVROverlay_028_HideOverlay_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); + uint32_t _ret; + uint64_t ulOverlayHandle; }; -struct IVRRenderModels_IVRRenderModels_005_GetRenderModelThumbnailURL_params +struct wow64_IVROverlay_IVROverlay_028_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - char *pchThumbnailURL; - uint32_t unThumbnailURLLen; - uint32_t *peError; + uint64_t ulOverlayHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_GetRenderModelThumbnailURL_params +struct IVROverlay_IVROverlay_028_IsOverlayVisible_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(char *pchThumbnailURL, pchThumbnailURL, char *); - uint32_t unThumbnailURLLen; - W32_PTR(uint32_t *peError, peError, uint32_t *); + int8_t _ret; + uint64_t ulOverlayHandle; }; -struct IVRRenderModels_IVRRenderModels_005_GetRenderModelOriginalPath_params +struct wow64_IVROverlay_IVROverlay_028_IsOverlayVisible_params { struct u_iface u_iface; - uint32_t _ret; - const char *pchRenderModelName; - char *pchOriginalPath; - uint32_t unOriginalPathLen; - uint32_t *peError; + int8_t _ret; + uint64_t ulOverlayHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_GetRenderModelOriginalPath_params +struct IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(char *pchOriginalPath, pchOriginalPath, char *); - uint32_t unOriginalPathLen; - W32_PTR(uint32_t *peError, peError, uint32_t *); + uint64_t ulOverlayHandle; + uint32_t eTrackingOrigin; + HmdVector2_t coordinatesInOverlay; + HmdMatrix34_t *pmatTransform; }; -struct IVRRenderModels_IVRRenderModels_005_GetRenderModelErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; - struct u_buffer _ret; - uint32_t error; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eTrackingOrigin; + HmdVector2_t coordinatesInOverlay; + W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct wow64_IVRRenderModels_IVRRenderModels_005_GetRenderModelErrorNameFromEnum_params +struct IVROverlay_IVROverlay_028_WaitFrameSync_params { struct u_iface u_iface; - struct u_buffer _ret; - uint32_t error; + uint32_t _ret; + uint32_t nTimeoutMs; }; -struct IVRRenderModels_IVRRenderModels_006_LoadRenderModel_Async_params +struct wow64_IVROverlay_IVROverlay_028_WaitFrameSync_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - w_RenderModel_t_0912 **ppRenderModel; + uint32_t nTimeoutMs; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_LoadRenderModel_Async_params +struct IVROverlay_IVROverlay_028_PollNextOverlayEvent_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(w32_RenderModel_t_0912 **ppRenderModel, ppRenderModel, w32_RenderModel_t_0912 **); + int8_t _ret; + uint64_t ulOverlayHandle; + w_VREvent_t_223 *pEvent; + uint32_t uncbVREvent; }; -struct IVRRenderModels_IVRRenderModels_006_FreeRenderModel_params +struct wow64_IVROverlay_IVROverlay_028_PollNextOverlayEvent_params { struct u_iface u_iface; - w_RenderModel_t_0912 *pRenderModel; + int8_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(w32_VREvent_t_223 *pEvent, pEvent, w32_VREvent_t_223 *); + uint32_t uncbVREvent; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_FreeRenderModel_params +struct IVROverlay_IVROverlay_028_GetOverlayInputMethod_params { struct u_iface u_iface; - W32_PTR(w32_RenderModel_t_0912 *pRenderModel, pRenderModel, w32_RenderModel_t_0912 *); + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *peInputMethod; }; -struct IVRRenderModels_IVRRenderModels_006_LoadTexture_Async_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - w_RenderModel_TextureMap_t_1237 **ppTexture; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct wow64_IVRRenderModels_IVRRenderModels_006_LoadTexture_Async_params +struct IVROverlay_IVROverlay_028_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - W32_PTR(w32_RenderModel_TextureMap_t_1237 **ppTexture, ppTexture, w32_RenderModel_TextureMap_t_1237 **); + uint64_t ulOverlayHandle; + uint32_t eInputMethod; }; -struct IVRRenderModels_IVRRenderModels_006_FreeTexture_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayInputMethod_params { struct u_iface u_iface; - w_RenderModel_TextureMap_t_1237 *pTexture; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eInputMethod; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_FreeTexture_params +struct IVROverlay_IVROverlay_028_GetOverlayMouseScale_params { struct u_iface u_iface; - W32_PTR(w32_RenderModel_TextureMap_t_1237 *pTexture, pTexture, w32_RenderModel_TextureMap_t_1237 *); + uint32_t _ret; + uint64_t ulOverlayHandle; + HmdVector2_t *pvecMouseScale; }; -struct IVRRenderModels_IVRRenderModels_006_LoadTextureD3D11_Async_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - void *pD3D11Device; - void **ppD3D11Texture2D; + uint64_t ulOverlayHandle; + W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct wow64_IVRRenderModels_IVRRenderModels_006_LoadTextureD3D11_Async_params +struct IVROverlay_IVROverlay_028_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - W32_PTR(void *pD3D11Device, pD3D11Device, void *); - W32_PTR(void **ppD3D11Texture2D, ppD3D11Texture2D, void **); + uint64_t ulOverlayHandle; + const HmdVector2_t *pvecMouseScale; }; -struct IVRRenderModels_IVRRenderModels_006_LoadIntoTextureD3D11_Async_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - void *pDstTexture; + uint64_t ulOverlayHandle; + W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct wow64_IVRRenderModels_IVRRenderModels_006_LoadIntoTextureD3D11_Async_params +struct IVROverlay_IVROverlay_028_ComputeOverlayIntersection_params { struct u_iface u_iface; - uint32_t _ret; - int32_t textureId; - W32_PTR(void *pDstTexture, pDstTexture, void *); + int8_t _ret; + uint64_t ulOverlayHandle; + const VROverlayIntersectionParams_t *pParams; + VROverlayIntersectionResults_t *pResults; }; -struct IVRRenderModels_IVRRenderModels_006_FreeTextureD3D11_params +struct wow64_IVROverlay_IVROverlay_028_ComputeOverlayIntersection_params { struct u_iface u_iface; - void *pD3D11Texture2D; + int8_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(const VROverlayIntersectionParams_t *pParams, pParams, const VROverlayIntersectionParams_t *); + W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct wow64_IVRRenderModels_IVRRenderModels_006_FreeTextureD3D11_params +struct IVROverlay_IVROverlay_028_IsHoverTargetOverlay_params { struct u_iface u_iface; - W32_PTR(void *pD3D11Texture2D, pD3D11Texture2D, void *); + int8_t _ret; + uint64_t ulOverlayHandle; }; -struct IVRRenderModels_IVRRenderModels_006_GetRenderModelName_params +struct wow64_IVROverlay_IVROverlay_028_IsHoverTargetOverlay_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t unRenderModelIndex; - char *pchRenderModelName; - uint32_t unRenderModelNameLen; + int8_t _ret; + uint64_t ulOverlayHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_GetRenderModelName_params +struct IVROverlay_IVROverlay_028_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; - uint32_t unRenderModelIndex; - W32_PTR(char *pchRenderModelName, pchRenderModelName, char *); - uint32_t unRenderModelNameLen; + uint64_t ulOverlayHandle; + VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives; + uint32_t unNumMaskPrimitives; + uint32_t unPrimitiveSize; }; -struct IVRRenderModels_IVRRenderModels_006_GetRenderModelCount_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, pMaskPrimitives, VROverlayIntersectionMaskPrimitive_t *); + uint32_t unNumMaskPrimitives; + uint32_t unPrimitiveSize; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_GetRenderModelCount_params +struct IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; + uint64_t ulOverlayHandle; + float fDurationSeconds; + float fFrequency; + float fAmplitude; }; -struct IVRRenderModels_IVRRenderModels_006_GetComponentCount_params +struct wow64_IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; + uint64_t ulOverlayHandle; + float fDurationSeconds; + float fFrequency; + float fAmplitude; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentCount_params +struct IVROverlay_IVROverlay_028_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + uint64_t ulOverlayHandle; + uint64_t ulCursorHandle; }; -struct IVRRenderModels_IVRRenderModels_006_GetComponentName_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - uint32_t unComponentIndex; - char *pchComponentName; - uint32_t unComponentNameLen; + uint64_t ulOverlayHandle; + uint64_t ulCursorHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentName_params +struct IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - uint32_t unComponentIndex; - W32_PTR(char *pchComponentName, pchComponentName, char *); - uint32_t unComponentNameLen; + uint64_t ulOverlayHandle; + const HmdVector2_t *pvCursor; }; -struct IVRRenderModels_IVRRenderModels_006_GetComponentButtonMask_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; - uint64_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(const HmdVector2_t *pvCursor, pvCursor, const HmdVector2_t *); }; -struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentButtonMask_params +struct IVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; - uint64_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); + uint32_t _ret; + uint64_t ulOverlayHandle; }; -struct IVRRenderModels_IVRRenderModels_006_GetComponentRenderModelName_params +struct wow64_IVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; - char *pchComponentRenderModelName; - uint32_t unComponentRenderModelNameLen; + uint64_t ulOverlayHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentRenderModelName_params +struct IVROverlay_IVROverlay_028_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); - W32_PTR(char *pchComponentRenderModelName, pchComponentRenderModelName, char *); - uint32_t unComponentRenderModelNameLen; + uint64_t ulOverlayHandle; + const w_Texture_t *pTexture; }; -struct IVRRenderModels_IVRRenderModels_006_GetComponentStateForDevicePath_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTexture_params { struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; - uint64_t devicePath; - const RenderModel_ControllerMode_State_t *pState; - RenderModel_ComponentState_t *pComponentState; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentStateForDevicePath_params +struct IVROverlay_IVROverlay_028_ClearOverlayTexture_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); - uint64_t devicePath; - W32_PTR(const RenderModel_ControllerMode_State_t *pState, pState, const RenderModel_ControllerMode_State_t *); - W32_PTR(RenderModel_ComponentState_t *pComponentState, pComponentState, RenderModel_ComponentState_t *); + uint32_t _ret; + uint64_t ulOverlayHandle; }; -struct IVRRenderModels_IVRRenderModels_006_GetComponentState_params +struct wow64_IVROverlay_IVROverlay_028_ClearOverlayTexture_params { struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; - const w_VRControllerState001_t *pControllerState; - const RenderModel_ControllerMode_State_t *pState; - RenderModel_ComponentState_t *pComponentState; + uint32_t _ret; + uint64_t ulOverlayHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentState_params +struct IVROverlay_IVROverlay_028_SetOverlayRaw_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); - W32_PTR(const w32_VRControllerState001_t *pControllerState, pControllerState, const w32_VRControllerState001_t *); - W32_PTR(const RenderModel_ControllerMode_State_t *pState, pState, const RenderModel_ControllerMode_State_t *); - W32_PTR(RenderModel_ComponentState_t *pComponentState, pComponentState, RenderModel_ComponentState_t *); + uint32_t _ret; + uint64_t ulOverlayHandle; + void *pvBuffer; + uint32_t unWidth; + uint32_t unHeight; + uint32_t unBytesPerPixel; }; -struct IVRRenderModels_IVRRenderModels_006_RenderModelHasComponent_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayRaw_params { struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(void *pvBuffer, pvBuffer, void *); + uint32_t unWidth; + uint32_t unHeight; + uint32_t unBytesPerPixel; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_RenderModelHasComponent_params +struct IVROverlay_IVROverlay_028_SetOverlayFromFile_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); + uint32_t _ret; + uint64_t ulOverlayHandle; + const char *pchFilePath; }; -struct IVRRenderModels_IVRRenderModels_006_GetRenderModelThumbnailURL_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - char *pchThumbnailURL; - uint32_t unThumbnailURLLen; - uint32_t *peError; + uint64_t ulOverlayHandle; + W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct wow64_IVRRenderModels_IVRRenderModels_006_GetRenderModelThumbnailURL_params +struct IVROverlay_IVROverlay_028_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(char *pchThumbnailURL, pchThumbnailURL, char *); - uint32_t unThumbnailURLLen; - W32_PTR(uint32_t *peError, peError, uint32_t *); + uint64_t ulOverlayHandle; + void **pNativeTextureHandle; + void *pNativeTextureRef; + uint32_t *pWidth; + uint32_t *pHeight; + uint32_t *pNativeFormat; + uint32_t *pAPIType; + uint32_t *pColorSpace; + VRTextureBounds_t *pTextureBounds; }; -struct IVRRenderModels_IVRRenderModels_006_GetRenderModelOriginalPath_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - char *pchOriginalPath; - uint32_t unOriginalPathLen; - uint32_t *peError; + uint64_t ulOverlayHandle; + W32_PTR(void **pNativeTextureHandle, pNativeTextureHandle, void **); + W32_PTR(void *pNativeTextureRef, pNativeTextureRef, void *); + W32_PTR(uint32_t *pWidth, pWidth, uint32_t *); + W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); + W32_PTR(uint32_t *pNativeFormat, pNativeFormat, uint32_t *); + W32_PTR(uint32_t *pAPIType, pAPIType, uint32_t *); + W32_PTR(uint32_t *pColorSpace, pColorSpace, uint32_t *); + W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct wow64_IVRRenderModels_IVRRenderModels_006_GetRenderModelOriginalPath_params +struct IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(char *pchOriginalPath, pchOriginalPath, char *); - uint32_t unOriginalPathLen; - W32_PTR(uint32_t *peError, peError, uint32_t *); + uint64_t ulOverlayHandle; + void *pNativeTextureHandle; }; -struct IVRRenderModels_IVRRenderModels_006_GetRenderModelErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; - struct u_buffer _ret; - uint32_t error; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct wow64_IVRRenderModels_IVRRenderModels_006_GetRenderModelErrorNameFromEnum_params +struct IVROverlay_IVROverlay_028_GetOverlayTextureSize_params { struct u_iface u_iface; - struct u_buffer _ret; - uint32_t error; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *pWidth; + uint32_t *pHeight; }; -struct IVRResources_IVRResources_001_LoadSharedResource_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; - const char *pchResourceName; - char *pchBuffer; - uint32_t unBufferLen; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *pWidth, pWidth, uint32_t *); + W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct wow64_IVRResources_IVRResources_001_LoadSharedResource_params +struct IVROverlay_IVROverlay_028_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchResourceName, pchResourceName, const char *); - W32_PTR(char *pchBuffer, pchBuffer, char *); - uint32_t unBufferLen; + const char *pchOverlayKey; + const char *pchOverlayFriendlyName; + uint64_t *pMainHandle; + uint64_t *pThumbnailHandle; }; -struct IVRResources_IVRResources_001_GetResourceFullPath_params +struct wow64_IVROverlay_IVROverlay_028_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; - const char *pchResourceName; - const char *pchResourceTypeDirectory; - char *pchPathBuffer; - uint32_t unBufferLen; + W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); + W32_PTR(const char *pchOverlayFriendlyName, pchOverlayFriendlyName, const char *); + W32_PTR(uint64_t *pMainHandle, pMainHandle, uint64_t *); + W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct wow64_IVRResources_IVRResources_001_GetResourceFullPath_params +struct IVROverlay_IVROverlay_028_IsDashboardVisible_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(const char *pchResourceName, pchResourceName, const char *); - W32_PTR(const char *pchResourceTypeDirectory, pchResourceTypeDirectory, const char *); - W32_PTR(char *pchPathBuffer, pchPathBuffer, char *); - uint32_t unBufferLen; + int8_t _ret; }; -struct IVRScreenshots_IVRScreenshots_001_RequestScreenshot_params +struct wow64_IVROverlay_IVROverlay_028_IsDashboardVisible_params +{ + struct u_iface u_iface; + int8_t _ret; +}; + +struct IVROverlay_IVROverlay_028_IsActiveDashboardOverlay_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; +}; + +struct wow64_IVROverlay_IVROverlay_028_IsActiveDashboardOverlay_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; +}; + +struct IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t unProcessId; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t unProcessId; +}; + +struct IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *punProcessId; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); +}; + +struct IVROverlay_IVROverlay_028_ShowDashboard_params +{ + struct u_iface u_iface; + const char *pchOverlayToShow; +}; + +struct wow64_IVROverlay_IVROverlay_028_ShowDashboard_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); +}; + +struct IVROverlay_IVROverlay_028_GetPrimaryDashboardDevice_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetPrimaryDashboardDevice_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct IVROverlay_IVROverlay_028_ShowKeyboard_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t eInputMode; + uint32_t eLineInputMode; + uint32_t unFlags; + const char *pchDescription; + uint32_t unCharMax; + const char *pchExistingText; + uint64_t uUserValue; +}; + +struct wow64_IVROverlay_IVROverlay_028_ShowKeyboard_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t eInputMode; + uint32_t eLineInputMode; + uint32_t unFlags; + W32_PTR(const char *pchDescription, pchDescription, const char *); + uint32_t unCharMax; + W32_PTR(const char *pchExistingText, pchExistingText, const char *); + uint64_t uUserValue; +}; + +struct IVROverlay_IVROverlay_028_ShowKeyboardForOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eInputMode; + uint32_t eLineInputMode; + uint32_t unFlags; + const char *pchDescription; + uint32_t unCharMax; + const char *pchExistingText; + uint64_t uUserValue; +}; + +struct wow64_IVROverlay_IVROverlay_028_ShowKeyboardForOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eInputMode; + uint32_t eLineInputMode; + uint32_t unFlags; + W32_PTR(const char *pchDescription, pchDescription, const char *); + uint32_t unCharMax; + W32_PTR(const char *pchExistingText, pchExistingText, const char *); + uint64_t uUserValue; +}; + +struct IVROverlay_IVROverlay_028_GetKeyboardText_params +{ + struct u_iface u_iface; + uint32_t _ret; + char *pchText; + uint32_t cchText; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetKeyboardText_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(char *pchText, pchText, char *); + uint32_t cchText; +}; + +struct IVROverlay_IVROverlay_028_HideKeyboard_params +{ + struct u_iface u_iface; +}; + +struct wow64_IVROverlay_IVROverlay_028_HideKeyboard_params +{ + struct u_iface u_iface; +}; + +struct IVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute_params +{ + struct u_iface u_iface; + uint32_t eTrackingOrigin; + const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute_params +{ + struct u_iface u_iface; + uint32_t eTrackingOrigin; + W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); +}; + +struct IVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay_params +{ + struct u_iface u_iface; + uint64_t ulOverlayHandle; + HmdRect2_t avoidRect; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay_params +{ + struct u_iface u_iface; + uint64_t ulOverlayHandle; + HmdRect2_t avoidRect; +}; + +struct IVROverlay_IVROverlay_028_ShowMessageOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchText; + const char *pchCaption; + const char *pchButton0Text; + const char *pchButton1Text; + const char *pchButton2Text; + const char *pchButton3Text; +}; + +struct wow64_IVROverlay_IVROverlay_028_ShowMessageOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchText, pchText, const char *); + W32_PTR(const char *pchCaption, pchCaption, const char *); + W32_PTR(const char *pchButton0Text, pchButton0Text, const char *); + W32_PTR(const char *pchButton1Text, pchButton1Text, const char *); + W32_PTR(const char *pchButton2Text, pchButton2Text, const char *); + W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); +}; + +struct IVROverlay_IVROverlay_028_CloseMessageOverlay_params +{ + struct u_iface u_iface; +}; + +struct wow64_IVROverlay_IVROverlay_028_CloseMessageOverlay_params +{ + struct u_iface u_iface; +}; + +struct IVRRenderModels_IVRRenderModels_001_LoadRenderModel_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + w_RenderModel_t_090 *pRenderModel; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_001_LoadRenderModel_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(w32_RenderModel_t_090 *pRenderModel, pRenderModel, w32_RenderModel_t_090 *); +}; + +struct IVRRenderModels_IVRRenderModels_001_FreeRenderModel_params +{ + struct u_iface u_iface; + w_RenderModel_t_090 *pRenderModel; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_001_FreeRenderModel_params +{ + struct u_iface u_iface; + W32_PTR(w32_RenderModel_t_090 *pRenderModel, pRenderModel, w32_RenderModel_t_090 *); +}; + +struct IVRRenderModels_IVRRenderModels_001_GetRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unRenderModelIndex; + char *pchRenderModelName; + uint32_t unRenderModelNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_001_GetRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unRenderModelIndex; + W32_PTR(char *pchRenderModelName, pchRenderModelName, char *); + uint32_t unRenderModelNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_001_GetRenderModelCount_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_001_GetRenderModelCount_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct IVRRenderModels_IVRRenderModels_002_LoadRenderModel_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + w_RenderModel_t_0912 **ppRenderModel; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_LoadRenderModel_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(w32_RenderModel_t_0912 **ppRenderModel, ppRenderModel, w32_RenderModel_t_0912 **); +}; + +struct IVRRenderModels_IVRRenderModels_002_FreeRenderModel_params +{ + struct u_iface u_iface; + w_RenderModel_t_0912 *pRenderModel; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_FreeRenderModel_params +{ + struct u_iface u_iface; + W32_PTR(w32_RenderModel_t_0912 *pRenderModel, pRenderModel, w32_RenderModel_t_0912 *); +}; + +struct IVRRenderModels_IVRRenderModels_002_LoadTexture_params +{ + struct u_iface u_iface; + int8_t _ret; + int32_t textureId; + w_RenderModel_TextureMap_t_090 **ppTexture; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_LoadTexture_params +{ + struct u_iface u_iface; + int8_t _ret; + int32_t textureId; + W32_PTR(w32_RenderModel_TextureMap_t_090 **ppTexture, ppTexture, w32_RenderModel_TextureMap_t_090 **); +}; + +struct IVRRenderModels_IVRRenderModels_002_FreeTexture_params +{ + struct u_iface u_iface; + w_RenderModel_TextureMap_t_090 *pTexture; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_FreeTexture_params +{ + struct u_iface u_iface; + W32_PTR(w32_RenderModel_TextureMap_t_090 *pTexture, pTexture, w32_RenderModel_TextureMap_t_090 *); +}; + +struct IVRRenderModels_IVRRenderModels_002_GetRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unRenderModelIndex; + char *pchRenderModelName; + uint32_t unRenderModelNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_GetRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unRenderModelIndex; + W32_PTR(char *pchRenderModelName, pchRenderModelName, char *); + uint32_t unRenderModelNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_002_GetRenderModelCount_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_GetRenderModelCount_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct IVRRenderModels_IVRRenderModels_002_GetComponentCount_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_GetComponentCount_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_002_GetComponentName_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + uint32_t unComponentIndex; + char *pchComponentName; + uint32_t unComponentNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_GetComponentName_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + uint32_t unComponentIndex; + W32_PTR(char *pchComponentName, pchComponentName, char *); + uint32_t unComponentNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_002_GetComponentButtonMask_params +{ + struct u_iface u_iface; + uint64_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_GetComponentButtonMask_params +{ + struct u_iface u_iface; + uint64_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_002_GetComponentRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; + char *pchComponentRenderModelName; + uint32_t unComponentRenderModelNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_GetComponentRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); + W32_PTR(char *pchComponentRenderModelName, pchComponentRenderModelName, char *); + uint32_t unComponentRenderModelNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_002_GetComponentState_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; + const w_VRControllerState001_t *pControllerState; + RenderModel_ComponentState_t *pComponentState; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_GetComponentState_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); + W32_PTR(const w32_VRControllerState001_t *pControllerState, pControllerState, const w32_VRControllerState001_t *); + W32_PTR(RenderModel_ComponentState_t *pComponentState, pComponentState, RenderModel_ComponentState_t *); +}; + +struct IVRRenderModels_IVRRenderModels_002_RenderModelHasComponent_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_RenderModelHasComponent_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_004_LoadRenderModel_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + w_RenderModel_t_0912 **ppRenderModel; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_LoadRenderModel_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(w32_RenderModel_t_0912 **ppRenderModel, ppRenderModel, w32_RenderModel_t_0912 **); +}; + +struct IVRRenderModels_IVRRenderModels_004_FreeRenderModel_params +{ + struct u_iface u_iface; + w_RenderModel_t_0912 *pRenderModel; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_FreeRenderModel_params +{ + struct u_iface u_iface; + W32_PTR(w32_RenderModel_t_0912 *pRenderModel, pRenderModel, w32_RenderModel_t_0912 *); +}; + +struct IVRRenderModels_IVRRenderModels_004_LoadTexture_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + w_RenderModel_TextureMap_t_090 **ppTexture; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_LoadTexture_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + W32_PTR(w32_RenderModel_TextureMap_t_090 **ppTexture, ppTexture, w32_RenderModel_TextureMap_t_090 **); +}; + +struct IVRRenderModels_IVRRenderModels_004_FreeTexture_params +{ + struct u_iface u_iface; + w_RenderModel_TextureMap_t_090 *pTexture; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_FreeTexture_params +{ + struct u_iface u_iface; + W32_PTR(w32_RenderModel_TextureMap_t_090 *pTexture, pTexture, w32_RenderModel_TextureMap_t_090 *); +}; + +struct IVRRenderModels_IVRRenderModels_004_LoadTextureD3D11_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + void *pD3D11Device; + void **ppD3D11Texture2D; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_LoadTextureD3D11_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + W32_PTR(void *pD3D11Device, pD3D11Device, void *); + W32_PTR(void **ppD3D11Texture2D, ppD3D11Texture2D, void **); +}; + +struct IVRRenderModels_IVRRenderModels_004_FreeTextureD3D11_params +{ + struct u_iface u_iface; + void *pD3D11Texture2D; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_FreeTextureD3D11_params +{ + struct u_iface u_iface; + W32_PTR(void *pD3D11Texture2D, pD3D11Texture2D, void *); +}; + +struct IVRRenderModels_IVRRenderModels_004_GetRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unRenderModelIndex; + char *pchRenderModelName; + uint32_t unRenderModelNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_GetRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unRenderModelIndex; + W32_PTR(char *pchRenderModelName, pchRenderModelName, char *); + uint32_t unRenderModelNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_004_GetRenderModelCount_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_GetRenderModelCount_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct IVRRenderModels_IVRRenderModels_004_GetComponentCount_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_GetComponentCount_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_004_GetComponentName_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + uint32_t unComponentIndex; + char *pchComponentName; + uint32_t unComponentNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_GetComponentName_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + uint32_t unComponentIndex; + W32_PTR(char *pchComponentName, pchComponentName, char *); + uint32_t unComponentNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_004_GetComponentButtonMask_params +{ + struct u_iface u_iface; + uint64_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_GetComponentButtonMask_params +{ + struct u_iface u_iface; + uint64_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_004_GetComponentRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; + char *pchComponentRenderModelName; + uint32_t unComponentRenderModelNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_GetComponentRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); + W32_PTR(char *pchComponentRenderModelName, pchComponentRenderModelName, char *); + uint32_t unComponentRenderModelNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_004_GetComponentState_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; + const w_VRControllerState001_t *pControllerState; + const RenderModel_ControllerMode_State_t *pState; + RenderModel_ComponentState_t *pComponentState; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_GetComponentState_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); + W32_PTR(const w32_VRControllerState001_t *pControllerState, pControllerState, const w32_VRControllerState001_t *); + W32_PTR(const RenderModel_ControllerMode_State_t *pState, pState, const RenderModel_ControllerMode_State_t *); + W32_PTR(RenderModel_ComponentState_t *pComponentState, pComponentState, RenderModel_ComponentState_t *); +}; + +struct IVRRenderModels_IVRRenderModels_004_RenderModelHasComponent_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_RenderModelHasComponent_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_005_LoadRenderModel_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + w_RenderModel_t_0912 **ppRenderModel; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_LoadRenderModel_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(w32_RenderModel_t_0912 **ppRenderModel, ppRenderModel, w32_RenderModel_t_0912 **); +}; + +struct IVRRenderModels_IVRRenderModels_005_FreeRenderModel_params +{ + struct u_iface u_iface; + w_RenderModel_t_0912 *pRenderModel; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_FreeRenderModel_params +{ + struct u_iface u_iface; + W32_PTR(w32_RenderModel_t_0912 *pRenderModel, pRenderModel, w32_RenderModel_t_0912 *); +}; + +struct IVRRenderModels_IVRRenderModels_005_LoadTexture_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + w_RenderModel_TextureMap_t_090 **ppTexture; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_LoadTexture_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + W32_PTR(w32_RenderModel_TextureMap_t_090 **ppTexture, ppTexture, w32_RenderModel_TextureMap_t_090 **); +}; + +struct IVRRenderModels_IVRRenderModels_005_FreeTexture_params +{ + struct u_iface u_iface; + w_RenderModel_TextureMap_t_090 *pTexture; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_FreeTexture_params +{ + struct u_iface u_iface; + W32_PTR(w32_RenderModel_TextureMap_t_090 *pTexture, pTexture, w32_RenderModel_TextureMap_t_090 *); +}; + +struct IVRRenderModels_IVRRenderModels_005_LoadTextureD3D11_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + void *pD3D11Device; + void **ppD3D11Texture2D; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_LoadTextureD3D11_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + W32_PTR(void *pD3D11Device, pD3D11Device, void *); + W32_PTR(void **ppD3D11Texture2D, ppD3D11Texture2D, void **); +}; + +struct IVRRenderModels_IVRRenderModels_005_LoadIntoTextureD3D11_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + void *pDstTexture; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_LoadIntoTextureD3D11_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + W32_PTR(void *pDstTexture, pDstTexture, void *); +}; + +struct IVRRenderModels_IVRRenderModels_005_FreeTextureD3D11_params +{ + struct u_iface u_iface; + void *pD3D11Texture2D; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_FreeTextureD3D11_params +{ + struct u_iface u_iface; + W32_PTR(void *pD3D11Texture2D, pD3D11Texture2D, void *); +}; + +struct IVRRenderModels_IVRRenderModels_005_GetRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unRenderModelIndex; + char *pchRenderModelName; + uint32_t unRenderModelNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_GetRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unRenderModelIndex; + W32_PTR(char *pchRenderModelName, pchRenderModelName, char *); + uint32_t unRenderModelNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_005_GetRenderModelCount_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_GetRenderModelCount_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct IVRRenderModels_IVRRenderModels_005_GetComponentCount_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_GetComponentCount_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_005_GetComponentName_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + uint32_t unComponentIndex; + char *pchComponentName; + uint32_t unComponentNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_GetComponentName_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + uint32_t unComponentIndex; + W32_PTR(char *pchComponentName, pchComponentName, char *); + uint32_t unComponentNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_005_GetComponentButtonMask_params +{ + struct u_iface u_iface; + uint64_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_GetComponentButtonMask_params +{ + struct u_iface u_iface; + uint64_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_005_GetComponentRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; + char *pchComponentRenderModelName; + uint32_t unComponentRenderModelNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_GetComponentRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); + W32_PTR(char *pchComponentRenderModelName, pchComponentRenderModelName, char *); + uint32_t unComponentRenderModelNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_005_GetComponentState_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; + const w_VRControllerState001_t *pControllerState; + const RenderModel_ControllerMode_State_t *pState; + RenderModel_ComponentState_t *pComponentState; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_GetComponentState_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); + W32_PTR(const w32_VRControllerState001_t *pControllerState, pControllerState, const w32_VRControllerState001_t *); + W32_PTR(const RenderModel_ControllerMode_State_t *pState, pState, const RenderModel_ControllerMode_State_t *); + W32_PTR(RenderModel_ComponentState_t *pComponentState, pComponentState, RenderModel_ComponentState_t *); +}; + +struct IVRRenderModels_IVRRenderModels_005_RenderModelHasComponent_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_RenderModelHasComponent_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_005_GetRenderModelThumbnailURL_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + char *pchThumbnailURL; + uint32_t unThumbnailURLLen; + uint32_t *peError; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_GetRenderModelThumbnailURL_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(char *pchThumbnailURL, pchThumbnailURL, char *); + uint32_t unThumbnailURLLen; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRRenderModels_IVRRenderModels_005_GetRenderModelOriginalPath_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + char *pchOriginalPath; + uint32_t unOriginalPathLen; + uint32_t *peError; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_GetRenderModelOriginalPath_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(char *pchOriginalPath, pchOriginalPath, char *); + uint32_t unOriginalPathLen; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRRenderModels_IVRRenderModels_005_GetRenderModelErrorNameFromEnum_params +{ + struct u_iface u_iface; + struct u_buffer _ret; + uint32_t error; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_GetRenderModelErrorNameFromEnum_params +{ + struct u_iface u_iface; + struct u_buffer _ret; + uint32_t error; +}; + +struct IVRRenderModels_IVRRenderModels_006_LoadRenderModel_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + w_RenderModel_t_0912 **ppRenderModel; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_LoadRenderModel_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(w32_RenderModel_t_0912 **ppRenderModel, ppRenderModel, w32_RenderModel_t_0912 **); +}; + +struct IVRRenderModels_IVRRenderModels_006_FreeRenderModel_params +{ + struct u_iface u_iface; + w_RenderModel_t_0912 *pRenderModel; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_FreeRenderModel_params +{ + struct u_iface u_iface; + W32_PTR(w32_RenderModel_t_0912 *pRenderModel, pRenderModel, w32_RenderModel_t_0912 *); +}; + +struct IVRRenderModels_IVRRenderModels_006_LoadTexture_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + w_RenderModel_TextureMap_t_1237 **ppTexture; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_LoadTexture_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + W32_PTR(w32_RenderModel_TextureMap_t_1237 **ppTexture, ppTexture, w32_RenderModel_TextureMap_t_1237 **); +}; + +struct IVRRenderModels_IVRRenderModels_006_FreeTexture_params +{ + struct u_iface u_iface; + w_RenderModel_TextureMap_t_1237 *pTexture; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_FreeTexture_params +{ + struct u_iface u_iface; + W32_PTR(w32_RenderModel_TextureMap_t_1237 *pTexture, pTexture, w32_RenderModel_TextureMap_t_1237 *); +}; + +struct IVRRenderModels_IVRRenderModels_006_LoadTextureD3D11_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + void *pD3D11Device; + void **ppD3D11Texture2D; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_LoadTextureD3D11_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + W32_PTR(void *pD3D11Device, pD3D11Device, void *); + W32_PTR(void **ppD3D11Texture2D, ppD3D11Texture2D, void **); +}; + +struct IVRRenderModels_IVRRenderModels_006_LoadIntoTextureD3D11_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + void *pDstTexture; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_LoadIntoTextureD3D11_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + W32_PTR(void *pDstTexture, pDstTexture, void *); +}; + +struct IVRRenderModels_IVRRenderModels_006_FreeTextureD3D11_params +{ + struct u_iface u_iface; + void *pD3D11Texture2D; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_FreeTextureD3D11_params +{ + struct u_iface u_iface; + W32_PTR(void *pD3D11Texture2D, pD3D11Texture2D, void *); +}; + +struct IVRRenderModels_IVRRenderModels_006_GetRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unRenderModelIndex; + char *pchRenderModelName; + uint32_t unRenderModelNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_GetRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unRenderModelIndex; + W32_PTR(char *pchRenderModelName, pchRenderModelName, char *); + uint32_t unRenderModelNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_006_GetRenderModelCount_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_GetRenderModelCount_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct IVRRenderModels_IVRRenderModels_006_GetComponentCount_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentCount_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_006_GetComponentName_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + uint32_t unComponentIndex; + char *pchComponentName; + uint32_t unComponentNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentName_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + uint32_t unComponentIndex; + W32_PTR(char *pchComponentName, pchComponentName, char *); + uint32_t unComponentNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_006_GetComponentButtonMask_params +{ + struct u_iface u_iface; + uint64_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentButtonMask_params +{ + struct u_iface u_iface; + uint64_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_006_GetComponentRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; + char *pchComponentRenderModelName; + uint32_t unComponentRenderModelNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); + W32_PTR(char *pchComponentRenderModelName, pchComponentRenderModelName, char *); + uint32_t unComponentRenderModelNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_006_GetComponentStateForDevicePath_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; + uint64_t devicePath; + const RenderModel_ControllerMode_State_t *pState; + RenderModel_ComponentState_t *pComponentState; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentStateForDevicePath_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); + uint64_t devicePath; + W32_PTR(const RenderModel_ControllerMode_State_t *pState, pState, const RenderModel_ControllerMode_State_t *); + W32_PTR(RenderModel_ComponentState_t *pComponentState, pComponentState, RenderModel_ComponentState_t *); +}; + +struct IVRRenderModels_IVRRenderModels_006_GetComponentState_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; + const w_VRControllerState001_t *pControllerState; + const RenderModel_ControllerMode_State_t *pState; + RenderModel_ComponentState_t *pComponentState; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentState_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); + W32_PTR(const w32_VRControllerState001_t *pControllerState, pControllerState, const w32_VRControllerState001_t *); + W32_PTR(const RenderModel_ControllerMode_State_t *pState, pState, const RenderModel_ControllerMode_State_t *); + W32_PTR(RenderModel_ComponentState_t *pComponentState, pComponentState, RenderModel_ComponentState_t *); +}; + +struct IVRRenderModels_IVRRenderModels_006_RenderModelHasComponent_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_RenderModelHasComponent_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_006_GetRenderModelThumbnailURL_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + char *pchThumbnailURL; + uint32_t unThumbnailURLLen; + uint32_t *peError; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_GetRenderModelThumbnailURL_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(char *pchThumbnailURL, pchThumbnailURL, char *); + uint32_t unThumbnailURLLen; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRRenderModels_IVRRenderModels_006_GetRenderModelOriginalPath_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + char *pchOriginalPath; + uint32_t unOriginalPathLen; + uint32_t *peError; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_GetRenderModelOriginalPath_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(char *pchOriginalPath, pchOriginalPath, char *); + uint32_t unOriginalPathLen; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRRenderModels_IVRRenderModels_006_GetRenderModelErrorNameFromEnum_params +{ + struct u_iface u_iface; + struct u_buffer _ret; + uint32_t error; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_GetRenderModelErrorNameFromEnum_params +{ + struct u_iface u_iface; + struct u_buffer _ret; + uint32_t error; +}; + +struct IVRResources_IVRResources_001_LoadSharedResource_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchResourceName; + char *pchBuffer; + uint32_t unBufferLen; +}; + +struct wow64_IVRResources_IVRResources_001_LoadSharedResource_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchResourceName, pchResourceName, const char *); + W32_PTR(char *pchBuffer, pchBuffer, char *); + uint32_t unBufferLen; +}; + +struct IVRResources_IVRResources_001_GetResourceFullPath_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchResourceName; + const char *pchResourceTypeDirectory; + char *pchPathBuffer; + uint32_t unBufferLen; +}; + +struct wow64_IVRResources_IVRResources_001_GetResourceFullPath_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchResourceName, pchResourceName, const char *); + W32_PTR(const char *pchResourceTypeDirectory, pchResourceTypeDirectory, const char *); + W32_PTR(char *pchPathBuffer, pchPathBuffer, char *); + uint32_t unBufferLen; +}; + +struct IVRScreenshots_IVRScreenshots_001_RequestScreenshot_params { struct u_iface u_iface; uint32_t _ret; @@ -46963,735 +47705,1333 @@ struct IVRScreenshots_IVRScreenshots_001_RequestScreenshot_params const char *pchVRFilename; }; -struct wow64_IVRScreenshots_IVRScreenshots_001_RequestScreenshot_params +struct wow64_IVRScreenshots_IVRScreenshots_001_RequestScreenshot_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(uint32_t *pOutScreenshotHandle, pOutScreenshotHandle, uint32_t *); + uint32_t type; + W32_PTR(const char *pchPreviewFilename, pchPreviewFilename, const char *); + W32_PTR(const char *pchVRFilename, pchVRFilename, const char *); +}; + +struct IVRScreenshots_IVRScreenshots_001_HookScreenshot_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t *pSupportedTypes; + int32_t numTypes; +}; + +struct wow64_IVRScreenshots_IVRScreenshots_001_HookScreenshot_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(uint32_t *pSupportedTypes, pSupportedTypes, uint32_t *); + int32_t numTypes; +}; + +struct IVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyType_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t screenshotHandle; + uint32_t *pError; +}; + +struct wow64_IVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyType_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t screenshotHandle; + W32_PTR(uint32_t *pError, pError, uint32_t *); +}; + +struct IVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyFilename_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t screenshotHandle; + uint32_t filenameType; + char *pchFilename; + uint32_t cchFilename; + uint32_t *pError; +}; + +struct wow64_IVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyFilename_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t screenshotHandle; + uint32_t filenameType; + W32_PTR(char *pchFilename, pchFilename, char *); + uint32_t cchFilename; + W32_PTR(uint32_t *pError, pError, uint32_t *); +}; + +struct IVRScreenshots_IVRScreenshots_001_UpdateScreenshotProgress_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t screenshotHandle; + float flProgress; +}; + +struct wow64_IVRScreenshots_IVRScreenshots_001_UpdateScreenshotProgress_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t screenshotHandle; + float flProgress; +}; + +struct IVRScreenshots_IVRScreenshots_001_TakeStereoScreenshot_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t *pOutScreenshotHandle; + const char *pchPreviewFilename; + const char *pchVRFilename; +}; + +struct wow64_IVRScreenshots_IVRScreenshots_001_TakeStereoScreenshot_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(uint32_t *pOutScreenshotHandle, pOutScreenshotHandle, uint32_t *); + W32_PTR(const char *pchPreviewFilename, pchPreviewFilename, const char *); + W32_PTR(const char *pchVRFilename, pchVRFilename, const char *); +}; + +struct IVRScreenshots_IVRScreenshots_001_SubmitScreenshot_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t screenshotHandle; + uint32_t type; + const char *pchSourcePreviewFilename; + const char *pchSourceVRFilename; +}; + +struct wow64_IVRScreenshots_IVRScreenshots_001_SubmitScreenshot_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t screenshotHandle; + uint32_t type; + W32_PTR(const char *pchSourcePreviewFilename, pchSourcePreviewFilename, const char *); + W32_PTR(const char *pchSourceVRFilename, pchSourceVRFilename, const char *); +}; + +struct IVRSettings_IVRSettings_001_GetSettingsErrorNameFromEnum_params +{ + struct u_iface u_iface; + struct u_buffer _ret; + uint32_t eError; +}; + +struct wow64_IVRSettings_IVRSettings_001_GetSettingsErrorNameFromEnum_params +{ + struct u_iface u_iface; + struct u_buffer _ret; + uint32_t eError; +}; + +struct IVRSettings_IVRSettings_001_Sync_params +{ + struct u_iface u_iface; + int8_t _ret; + int8_t bForce; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_001_Sync_params +{ + struct u_iface u_iface; + int8_t _ret; + int8_t bForce; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_001_GetBool_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchSection; + const char *pchSettingsKey; + int8_t bDefaultValue; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_001_GetBool_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + int8_t bDefaultValue; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_001_SetBool_params +{ + struct u_iface u_iface; + const char *pchSection; + const char *pchSettingsKey; + int8_t bValue; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_001_SetBool_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + int8_t bValue; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_001_GetInt32_params +{ + struct u_iface u_iface; + int32_t _ret; + const char *pchSection; + const char *pchSettingsKey; + int32_t nDefaultValue; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_001_GetInt32_params +{ + struct u_iface u_iface; + int32_t _ret; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + int32_t nDefaultValue; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_001_SetInt32_params +{ + struct u_iface u_iface; + const char *pchSection; + const char *pchSettingsKey; + int32_t nValue; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_001_SetInt32_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + int32_t nValue; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_001_GetFloat_params +{ + struct u_iface u_iface; + float _ret; + const char *pchSection; + const char *pchSettingsKey; + float flDefaultValue; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_001_GetFloat_params +{ + struct u_iface u_iface; + float _ret; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + float flDefaultValue; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_001_SetFloat_params +{ + struct u_iface u_iface; + const char *pchSection; + const char *pchSettingsKey; + float flValue; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_001_SetFloat_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + float flValue; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_001_GetString_params +{ + struct u_iface u_iface; + const char *pchSection; + const char *pchSettingsKey; + char *pchValue; + uint32_t unValueLen; + const char *pchDefaultValue; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_001_GetString_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + W32_PTR(char *pchValue, pchValue, char *); + uint32_t unValueLen; + W32_PTR(const char *pchDefaultValue, pchDefaultValue, const char *); + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_001_SetString_params +{ + struct u_iface u_iface; + const char *pchSection; + const char *pchSettingsKey; + const char *pchValue; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_001_SetString_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + W32_PTR(const char *pchValue, pchValue, const char *); + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_001_RemoveSection_params +{ + struct u_iface u_iface; + const char *pchSection; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_001_RemoveSection_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_001_RemoveKeyInSection_params +{ + struct u_iface u_iface; + const char *pchSection; + const char *pchSettingsKey; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_001_RemoveKeyInSection_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_002_GetSettingsErrorNameFromEnum_params +{ + struct u_iface u_iface; + struct u_buffer _ret; + uint32_t eError; +}; + +struct wow64_IVRSettings_IVRSettings_002_GetSettingsErrorNameFromEnum_params +{ + struct u_iface u_iface; + struct u_buffer _ret; + uint32_t eError; +}; + +struct IVRSettings_IVRSettings_002_Sync_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(uint32_t *pOutScreenshotHandle, pOutScreenshotHandle, uint32_t *); - uint32_t type; - W32_PTR(const char *pchPreviewFilename, pchPreviewFilename, const char *); - W32_PTR(const char *pchVRFilename, pchVRFilename, const char *); + int8_t _ret; + int8_t bForce; + uint32_t *peError; }; -struct IVRScreenshots_IVRScreenshots_001_HookScreenshot_params +struct wow64_IVRSettings_IVRSettings_002_Sync_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t *pSupportedTypes; - int32_t numTypes; + int8_t _ret; + int8_t bForce; + W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct wow64_IVRScreenshots_IVRScreenshots_001_HookScreenshot_params +struct IVRSettings_IVRSettings_002_SetBool_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(uint32_t *pSupportedTypes, pSupportedTypes, uint32_t *); - int32_t numTypes; + const char *pchSection; + const char *pchSettingsKey; + int8_t bValue; + uint32_t *peError; }; -struct IVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyType_params +struct wow64_IVRSettings_IVRSettings_002_SetBool_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t screenshotHandle; - uint32_t *pError; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + int8_t bValue; + W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct wow64_IVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyType_params +struct IVRSettings_IVRSettings_002_SetInt32_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t screenshotHandle; - W32_PTR(uint32_t *pError, pError, uint32_t *); + const char *pchSection; + const char *pchSettingsKey; + int32_t nValue; + uint32_t *peError; }; -struct IVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyFilename_params +struct wow64_IVRSettings_IVRSettings_002_SetInt32_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t screenshotHandle; - uint32_t filenameType; - char *pchFilename; - uint32_t cchFilename; - uint32_t *pError; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + int32_t nValue; + W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct wow64_IVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyFilename_params +struct IVRSettings_IVRSettings_002_SetFloat_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t screenshotHandle; - uint32_t filenameType; - W32_PTR(char *pchFilename, pchFilename, char *); - uint32_t cchFilename; - W32_PTR(uint32_t *pError, pError, uint32_t *); + const char *pchSection; + const char *pchSettingsKey; + float flValue; + uint32_t *peError; }; -struct IVRScreenshots_IVRScreenshots_001_UpdateScreenshotProgress_params +struct wow64_IVRSettings_IVRSettings_002_SetFloat_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t screenshotHandle; - float flProgress; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + float flValue; + W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct wow64_IVRScreenshots_IVRScreenshots_001_UpdateScreenshotProgress_params +struct IVRSettings_IVRSettings_002_SetString_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t screenshotHandle; - float flProgress; + const char *pchSection; + const char *pchSettingsKey; + const char *pchValue; + uint32_t *peError; }; -struct IVRScreenshots_IVRScreenshots_001_TakeStereoScreenshot_params +struct wow64_IVRSettings_IVRSettings_002_SetString_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t *pOutScreenshotHandle; - const char *pchPreviewFilename; - const char *pchVRFilename; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + W32_PTR(const char *pchValue, pchValue, const char *); + W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct wow64_IVRScreenshots_IVRScreenshots_001_TakeStereoScreenshot_params +struct IVRSettings_IVRSettings_002_GetBool_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(uint32_t *pOutScreenshotHandle, pOutScreenshotHandle, uint32_t *); - W32_PTR(const char *pchPreviewFilename, pchPreviewFilename, const char *); - W32_PTR(const char *pchVRFilename, pchVRFilename, const char *); + int8_t _ret; + const char *pchSection; + const char *pchSettingsKey; + uint32_t *peError; }; -struct IVRScreenshots_IVRScreenshots_001_SubmitScreenshot_params +struct wow64_IVRSettings_IVRSettings_002_GetBool_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t screenshotHandle; - uint32_t type; - const char *pchSourcePreviewFilename; - const char *pchSourceVRFilename; + int8_t _ret; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct wow64_IVRScreenshots_IVRScreenshots_001_SubmitScreenshot_params +struct IVRSettings_IVRSettings_002_GetInt32_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t screenshotHandle; - uint32_t type; - W32_PTR(const char *pchSourcePreviewFilename, pchSourcePreviewFilename, const char *); - W32_PTR(const char *pchSourceVRFilename, pchSourceVRFilename, const char *); + int32_t _ret; + const char *pchSection; + const char *pchSettingsKey; + uint32_t *peError; }; -struct IVRSettings_IVRSettings_001_GetSettingsErrorNameFromEnum_params +struct wow64_IVRSettings_IVRSettings_002_GetInt32_params +{ + struct u_iface u_iface; + int32_t _ret; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_002_GetFloat_params +{ + struct u_iface u_iface; + float _ret; + const char *pchSection; + const char *pchSettingsKey; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_002_GetFloat_params +{ + struct u_iface u_iface; + float _ret; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_002_GetString_params +{ + struct u_iface u_iface; + const char *pchSection; + const char *pchSettingsKey; + char *pchValue; + uint32_t unValueLen; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_002_GetString_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + W32_PTR(char *pchValue, pchValue, char *); + uint32_t unValueLen; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_002_RemoveSection_params +{ + struct u_iface u_iface; + const char *pchSection; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_002_RemoveSection_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_002_RemoveKeyInSection_params +{ + struct u_iface u_iface; + const char *pchSection; + const char *pchSettingsKey; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_002_RemoveKeyInSection_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_003_GetSettingsErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eError; }; -struct wow64_IVRSettings_IVRSettings_001_GetSettingsErrorNameFromEnum_params +struct wow64_IVRSettings_IVRSettings_003_GetSettingsErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eError; }; -struct IVRSettings_IVRSettings_001_Sync_params +struct IVRSettings_IVRSettings_003_SetBool_params { struct u_iface u_iface; - int8_t _ret; - int8_t bForce; + const char *pchSection; + const char *pchSettingsKey; + int8_t bValue; uint32_t *peError; }; -struct wow64_IVRSettings_IVRSettings_001_Sync_params +struct wow64_IVRSettings_IVRSettings_003_SetBool_params { struct u_iface u_iface; - int8_t _ret; - int8_t bForce; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + int8_t bValue; W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRSettings_IVRSettings_001_GetBool_params +struct IVRSettings_IVRSettings_003_SetInt32_params { struct u_iface u_iface; - int8_t _ret; const char *pchSection; const char *pchSettingsKey; - int8_t bDefaultValue; + int32_t nValue; uint32_t *peError; }; -struct wow64_IVRSettings_IVRSettings_001_GetBool_params +struct wow64_IVRSettings_IVRSettings_003_SetInt32_params { struct u_iface u_iface; - int8_t _ret; W32_PTR(const char *pchSection, pchSection, const char *); W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - int8_t bDefaultValue; + int32_t nValue; W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRSettings_IVRSettings_001_SetBool_params +struct IVRSettings_IVRSettings_003_SetFloat_params { struct u_iface u_iface; const char *pchSection; const char *pchSettingsKey; - int8_t bValue; + float flValue; uint32_t *peError; }; -struct wow64_IVRSettings_IVRSettings_001_SetBool_params +struct wow64_IVRSettings_IVRSettings_003_SetFloat_params { struct u_iface u_iface; W32_PTR(const char *pchSection, pchSection, const char *); W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - int8_t bValue; + float flValue; W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRSettings_IVRSettings_001_GetInt32_params +struct IVRSettings_IVRSettings_003_SetString_params { struct u_iface u_iface; - int32_t _ret; const char *pchSection; const char *pchSettingsKey; - int32_t nDefaultValue; + const char *pchValue; uint32_t *peError; }; -struct wow64_IVRSettings_IVRSettings_001_GetInt32_params +struct wow64_IVRSettings_IVRSettings_003_SetString_params { struct u_iface u_iface; - int32_t _ret; W32_PTR(const char *pchSection, pchSection, const char *); W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - int32_t nDefaultValue; + W32_PTR(const char *pchValue, pchValue, const char *); W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRSettings_IVRSettings_001_SetInt32_params +struct IVRSettings_IVRSettings_003_GetBool_params { struct u_iface u_iface; + int8_t _ret; const char *pchSection; const char *pchSettingsKey; - int32_t nValue; uint32_t *peError; }; -struct wow64_IVRSettings_IVRSettings_001_SetInt32_params +struct wow64_IVRSettings_IVRSettings_003_GetBool_params { struct u_iface u_iface; + int8_t _ret; W32_PTR(const char *pchSection, pchSection, const char *); W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - int32_t nValue; W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRSettings_IVRSettings_001_GetFloat_params +struct IVRSettings_IVRSettings_003_GetInt32_params { struct u_iface u_iface; - float _ret; + int32_t _ret; const char *pchSection; const char *pchSettingsKey; - float flDefaultValue; uint32_t *peError; }; -struct wow64_IVRSettings_IVRSettings_001_GetFloat_params +struct wow64_IVRSettings_IVRSettings_003_GetInt32_params { struct u_iface u_iface; - float _ret; + int32_t _ret; W32_PTR(const char *pchSection, pchSection, const char *); W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - float flDefaultValue; W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRSettings_IVRSettings_001_SetFloat_params +struct IVRSettings_IVRSettings_003_GetFloat_params { struct u_iface u_iface; + float _ret; const char *pchSection; const char *pchSettingsKey; - float flValue; uint32_t *peError; }; -struct wow64_IVRSettings_IVRSettings_001_SetFloat_params +struct wow64_IVRSettings_IVRSettings_003_GetFloat_params { struct u_iface u_iface; + float _ret; W32_PTR(const char *pchSection, pchSection, const char *); W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - float flValue; W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRSettings_IVRSettings_001_GetString_params +struct IVRSettings_IVRSettings_003_GetString_params { struct u_iface u_iface; const char *pchSection; const char *pchSettingsKey; char *pchValue; uint32_t unValueLen; - const char *pchDefaultValue; uint32_t *peError; }; -struct wow64_IVRSettings_IVRSettings_001_GetString_params +struct wow64_IVRSettings_IVRSettings_003_GetString_params { struct u_iface u_iface; W32_PTR(const char *pchSection, pchSection, const char *); W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); W32_PTR(char *pchValue, pchValue, char *); uint32_t unValueLen; - W32_PTR(const char *pchDefaultValue, pchDefaultValue, const char *); W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRSettings_IVRSettings_001_SetString_params +struct IVRSettings_IVRSettings_003_RemoveSection_params +{ + struct u_iface u_iface; + const char *pchSection; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_003_RemoveSection_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_003_RemoveKeyInSection_params +{ + struct u_iface u_iface; + const char *pchSection; + const char *pchSettingsKey; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_003_RemoveKeyInSection_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSystem_IVRSystem_003_GetWindowBounds_params +{ + struct u_iface u_iface; + int32_t *pnX; + int32_t *pnY; + uint32_t *pnWidth; + uint32_t *pnHeight; +}; + +struct wow64_IVRSystem_IVRSystem_003_GetWindowBounds_params +{ + struct u_iface u_iface; + W32_PTR(int32_t *pnX, pnX, int32_t *); + W32_PTR(int32_t *pnY, pnY, int32_t *); + W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); + W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); +}; + +struct IVRSystem_IVRSystem_003_GetRecommendedRenderTargetSize_params +{ + struct u_iface u_iface; + uint32_t *pnWidth; + uint32_t *pnHeight; +}; + +struct wow64_IVRSystem_IVRSystem_003_GetRecommendedRenderTargetSize_params +{ + struct u_iface u_iface; + W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); + W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); +}; + +struct IVRSystem_IVRSystem_003_GetEyeOutputViewport_params +{ + struct u_iface u_iface; + uint32_t eEye; + uint32_t *pnX; + uint32_t *pnY; + uint32_t *pnWidth; + uint32_t *pnHeight; +}; + +struct wow64_IVRSystem_IVRSystem_003_GetEyeOutputViewport_params +{ + struct u_iface u_iface; + uint32_t eEye; + W32_PTR(uint32_t *pnX, pnX, uint32_t *); + W32_PTR(uint32_t *pnY, pnY, uint32_t *); + W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); + W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); +}; + +struct IVRSystem_IVRSystem_003_GetProjectionMatrix_params +{ + struct u_iface u_iface; + HmdMatrix44_t *_ret; + uint32_t eEye; + float fNearZ; + float fFarZ; + uint32_t eProjType; +}; + +struct wow64_IVRSystem_IVRSystem_003_GetProjectionMatrix_params +{ + struct u_iface u_iface; + W32_PTR(HmdMatrix44_t *_ret, _ret, HmdMatrix44_t *); + uint32_t eEye; + float fNearZ; + float fFarZ; + uint32_t eProjType; +}; + +struct IVRSystem_IVRSystem_003_GetProjectionRaw_params +{ + struct u_iface u_iface; + uint32_t eEye; + float *pfLeft; + float *pfRight; + float *pfTop; + float *pfBottom; +}; + +struct wow64_IVRSystem_IVRSystem_003_GetProjectionRaw_params +{ + struct u_iface u_iface; + uint32_t eEye; + W32_PTR(float *pfLeft, pfLeft, float *); + W32_PTR(float *pfRight, pfRight, float *); + W32_PTR(float *pfTop, pfTop, float *); + W32_PTR(float *pfBottom, pfBottom, float *); +}; + +struct IVRSystem_IVRSystem_003_ComputeDistortion_params +{ + struct u_iface u_iface; + DistortionCoordinates_t *_ret; + uint32_t eEye; + float fU; + float fV; +}; + +struct wow64_IVRSystem_IVRSystem_003_ComputeDistortion_params +{ + struct u_iface u_iface; + W32_PTR(DistortionCoordinates_t *_ret, _ret, DistortionCoordinates_t *); + uint32_t eEye; + float fU; + float fV; +}; + +struct IVRSystem_IVRSystem_003_GetEyeToHeadTransform_params +{ + struct u_iface u_iface; + HmdMatrix34_t *_ret; + uint32_t eEye; +}; + +struct wow64_IVRSystem_IVRSystem_003_GetEyeToHeadTransform_params +{ + struct u_iface u_iface; + W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); + uint32_t eEye; +}; + +struct IVRSystem_IVRSystem_003_GetTimeSinceLastVsync_params +{ + struct u_iface u_iface; + int8_t _ret; + float *pfSecondsSinceLastVsync; + uint64_t *pulFrameCounter; +}; + +struct wow64_IVRSystem_IVRSystem_003_GetTimeSinceLastVsync_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(float *pfSecondsSinceLastVsync, pfSecondsSinceLastVsync, float *); + W32_PTR(uint64_t *pulFrameCounter, pulFrameCounter, uint64_t *); +}; + +struct IVRSystem_IVRSystem_003_GetD3D9AdapterIndex_params +{ + struct u_iface u_iface; + int32_t _ret; +}; + +struct wow64_IVRSystem_IVRSystem_003_GetD3D9AdapterIndex_params +{ + struct u_iface u_iface; + int32_t _ret; +}; + +struct IVRSystem_IVRSystem_003_GetDXGIOutputInfo_params +{ + struct u_iface u_iface; + int32_t *pnAdapterIndex; + int32_t *pnAdapterOutputIndex; +}; + +struct wow64_IVRSystem_IVRSystem_003_GetDXGIOutputInfo_params +{ + struct u_iface u_iface; + W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); + W32_PTR(int32_t *pnAdapterOutputIndex, pnAdapterOutputIndex, int32_t *); +}; + +struct IVRSystem_IVRSystem_003_AttachToWindow_params +{ + struct u_iface u_iface; + int8_t _ret; + void *hWnd; +}; + +struct wow64_IVRSystem_IVRSystem_003_AttachToWindow_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(void *hWnd, hWnd, void *); +}; + +struct IVRSystem_IVRSystem_003_GetDeviceToAbsoluteTrackingPose_params +{ + struct u_iface u_iface; + uint32_t eOrigin; + float fPredictedSecondsToPhotonsFromNow; + TrackedDevicePose_t *pTrackedDevicePoseArray; + uint32_t unTrackedDevicePoseArrayCount; +}; + +struct wow64_IVRSystem_IVRSystem_003_GetDeviceToAbsoluteTrackingPose_params +{ + struct u_iface u_iface; + uint32_t eOrigin; + float fPredictedSecondsToPhotonsFromNow; + W32_PTR(TrackedDevicePose_t *pTrackedDevicePoseArray, pTrackedDevicePoseArray, TrackedDevicePose_t *); + uint32_t unTrackedDevicePoseArrayCount; +}; + +struct IVRSystem_IVRSystem_003_ResetSeatedZeroPose_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - const char *pchValue; - uint32_t *peError; }; -struct wow64_IVRSettings_IVRSettings_001_SetString_params +struct wow64_IVRSystem_IVRSystem_003_ResetSeatedZeroPose_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(const char *pchValue, pchValue, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRSettings_IVRSettings_001_RemoveSection_params +struct IVRSystem_IVRSystem_003_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; - const char *pchSection; - uint32_t *peError; + HmdMatrix34_t *_ret; }; -struct wow64_IVRSettings_IVRSettings_001_RemoveSection_params +struct wow64_IVRSystem_IVRSystem_003_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSettings_IVRSettings_001_RemoveKeyInSection_params +struct IVRSystem_IVRSystem_003_LoadRenderModel_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - uint32_t *peError; + int8_t _ret; + const char *pchRenderModelName; + w_RenderModel_t_090 *pRenderModel; }; -struct wow64_IVRSettings_IVRSettings_001_RemoveKeyInSection_params +struct wow64_IVRSystem_IVRSystem_003_LoadRenderModel_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(w32_RenderModel_t_090 *pRenderModel, pRenderModel, w32_RenderModel_t_090 *); }; -struct IVRSettings_IVRSettings_002_GetSettingsErrorNameFromEnum_params +struct IVRSystem_IVRSystem_003_FreeRenderModel_params { struct u_iface u_iface; - struct u_buffer _ret; - uint32_t eError; + w_RenderModel_t_090 *pRenderModel; }; -struct wow64_IVRSettings_IVRSettings_002_GetSettingsErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_003_FreeRenderModel_params { struct u_iface u_iface; - struct u_buffer _ret; - uint32_t eError; + W32_PTR(w32_RenderModel_t_090 *pRenderModel, pRenderModel, w32_RenderModel_t_090 *); }; -struct IVRSettings_IVRSettings_002_Sync_params +struct IVRSystem_IVRSystem_003_GetTrackedDeviceClass_params { struct u_iface u_iface; - int8_t _ret; - int8_t bForce; - uint32_t *peError; + uint32_t _ret; + uint32_t unDeviceIndex; }; -struct wow64_IVRSettings_IVRSettings_002_Sync_params +struct wow64_IVRSystem_IVRSystem_003_GetTrackedDeviceClass_params { struct u_iface u_iface; - int8_t _ret; - int8_t bForce; - W32_PTR(uint32_t *peError, peError, uint32_t *); + uint32_t _ret; + uint32_t unDeviceIndex; }; -struct IVRSettings_IVRSettings_002_SetBool_params +struct IVRSystem_IVRSystem_003_IsTrackedDeviceConnected_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - int8_t bValue; - uint32_t *peError; + int8_t _ret; + uint32_t unDeviceIndex; }; -struct wow64_IVRSettings_IVRSettings_002_SetBool_params +struct wow64_IVRSystem_IVRSystem_003_IsTrackedDeviceConnected_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - int8_t bValue; - W32_PTR(uint32_t *peError, peError, uint32_t *); + int8_t _ret; + uint32_t unDeviceIndex; }; -struct IVRSettings_IVRSettings_002_SetInt32_params +struct IVRSystem_IVRSystem_003_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - int32_t nValue; - uint32_t *peError; + int8_t _ret; + uint32_t unDeviceIndex; + uint32_t prop; + uint32_t *pError; }; -struct wow64_IVRSettings_IVRSettings_002_SetInt32_params +struct wow64_IVRSystem_IVRSystem_003_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - int32_t nValue; - W32_PTR(uint32_t *peError, peError, uint32_t *); + int8_t _ret; + uint32_t unDeviceIndex; + uint32_t prop; + W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSettings_IVRSettings_002_SetFloat_params +struct IVRSystem_IVRSystem_003_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - float flValue; - uint32_t *peError; + float _ret; + uint32_t unDeviceIndex; + uint32_t prop; + uint32_t *pError; }; -struct wow64_IVRSettings_IVRSettings_002_SetFloat_params +struct wow64_IVRSystem_IVRSystem_003_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - float flValue; - W32_PTR(uint32_t *peError, peError, uint32_t *); + float _ret; + uint32_t unDeviceIndex; + uint32_t prop; + W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSettings_IVRSettings_002_SetString_params +struct IVRSystem_IVRSystem_003_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - const char *pchValue; - uint32_t *peError; + int32_t _ret; + uint32_t unDeviceIndex; + uint32_t prop; + uint32_t *pError; }; -struct wow64_IVRSettings_IVRSettings_002_SetString_params +struct wow64_IVRSystem_IVRSystem_003_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(const char *pchValue, pchValue, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + int32_t _ret; + uint32_t unDeviceIndex; + uint32_t prop; + W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSettings_IVRSettings_002_GetBool_params +struct IVRSystem_IVRSystem_003_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; - int8_t _ret; - const char *pchSection; - const char *pchSettingsKey; - uint32_t *peError; + uint64_t _ret; + uint32_t unDeviceIndex; + uint32_t prop; + uint32_t *pError; }; -struct wow64_IVRSettings_IVRSettings_002_GetBool_params +struct wow64_IVRSystem_IVRSystem_003_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + uint64_t _ret; + uint32_t unDeviceIndex; + uint32_t prop; + W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSettings_IVRSettings_002_GetInt32_params +struct IVRSystem_IVRSystem_003_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; - int32_t _ret; - const char *pchSection; - const char *pchSettingsKey; - uint32_t *peError; + HmdMatrix34_t *_ret; + uint32_t unDeviceIndex; + uint32_t prop; + uint32_t *pError; }; -struct wow64_IVRSettings_IVRSettings_002_GetInt32_params +struct wow64_IVRSystem_IVRSystem_003_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; - int32_t _ret; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); + uint32_t unDeviceIndex; + uint32_t prop; + W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSettings_IVRSettings_002_GetFloat_params +struct IVRSystem_IVRSystem_003_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; - float _ret; - const char *pchSection; - const char *pchSettingsKey; - uint32_t *peError; + uint32_t _ret; + uint32_t unDeviceIndex; + uint32_t prop; + char *pchValue; + uint32_t unBufferSize; + uint32_t *pError; }; -struct wow64_IVRSettings_IVRSettings_002_GetFloat_params +struct wow64_IVRSystem_IVRSystem_003_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; - float _ret; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + uint32_t _ret; + uint32_t unDeviceIndex; + uint32_t prop; + W32_PTR(char *pchValue, pchValue, char *); + uint32_t unBufferSize; + W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSettings_IVRSettings_002_GetString_params +struct IVRSystem_IVRSystem_003_GetPropErrorNameFromEnum_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - char *pchValue; - uint32_t unValueLen; - uint32_t *peError; + struct u_buffer _ret; + uint32_t error; }; -struct wow64_IVRSettings_IVRSettings_002_GetString_params +struct wow64_IVRSystem_IVRSystem_003_GetPropErrorNameFromEnum_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(char *pchValue, pchValue, char *); - uint32_t unValueLen; - W32_PTR(uint32_t *peError, peError, uint32_t *); + struct u_buffer _ret; + uint32_t error; }; -struct IVRSettings_IVRSettings_002_RemoveSection_params +struct IVRSystem_IVRSystem_003_PollNextEvent_params { struct u_iface u_iface; - const char *pchSection; - uint32_t *peError; + int8_t _ret; + w_VREvent_t_090 *pEvent; }; -struct wow64_IVRSettings_IVRSettings_002_RemoveSection_params +struct wow64_IVRSystem_IVRSystem_003_PollNextEvent_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + int8_t _ret; + W32_PTR(w32_VREvent_t_090 *pEvent, pEvent, w32_VREvent_t_090 *); }; -struct IVRSettings_IVRSettings_002_RemoveKeyInSection_params +struct IVRSystem_IVRSystem_003_PollNextEventWithPose_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - uint32_t *peError; + int8_t _ret; + uint32_t eOrigin; + w_VREvent_t_090 *pEvent; + TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSettings_IVRSettings_002_RemoveKeyInSection_params +struct wow64_IVRSystem_IVRSystem_003_PollNextEventWithPose_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + int8_t _ret; + uint32_t eOrigin; + W32_PTR(w32_VREvent_t_090 *pEvent, pEvent, w32_VREvent_t_090 *); + W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSettings_IVRSettings_003_GetSettingsErrorNameFromEnum_params +struct IVRSystem_IVRSystem_003_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; - uint32_t eError; + uint32_t eType; }; -struct wow64_IVRSettings_IVRSettings_003_GetSettingsErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_003_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; - uint32_t eError; + uint32_t eType; }; -struct IVRSettings_IVRSettings_003_SetBool_params +struct IVRSystem_IVRSystem_003_GetHiddenAreaMesh_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - int8_t bValue; - uint32_t *peError; + w_HiddenAreaMesh_t *_ret; + uint32_t eEye; }; -struct wow64_IVRSettings_IVRSettings_003_SetBool_params +struct wow64_IVRSystem_IVRSystem_003_GetHiddenAreaMesh_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - int8_t bValue; - W32_PTR(uint32_t *peError, peError, uint32_t *); + W32_PTR(w32_HiddenAreaMesh_t *_ret, _ret, w32_HiddenAreaMesh_t *); + uint32_t eEye; }; -struct IVRSettings_IVRSettings_003_SetInt32_params +struct IVRSystem_IVRSystem_003_GetControllerState_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - int32_t nValue; - uint32_t *peError; + int8_t _ret; + uint32_t unControllerDeviceIndex; + w_VRControllerState001_t *pControllerState; }; -struct wow64_IVRSettings_IVRSettings_003_SetInt32_params +struct wow64_IVRSystem_IVRSystem_003_GetControllerState_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - int32_t nValue; - W32_PTR(uint32_t *peError, peError, uint32_t *); + int8_t _ret; + uint32_t unControllerDeviceIndex; + W32_PTR(w32_VRControllerState001_t *pControllerState, pControllerState, w32_VRControllerState001_t *); }; -struct IVRSettings_IVRSettings_003_SetFloat_params +struct IVRSystem_IVRSystem_003_GetControllerStateWithPose_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - float flValue; - uint32_t *peError; + int8_t _ret; + uint32_t eOrigin; + uint32_t unControllerDeviceIndex; + w_VRControllerState001_t *pControllerState; + TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSettings_IVRSettings_003_SetFloat_params +struct wow64_IVRSystem_IVRSystem_003_GetControllerStateWithPose_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - float flValue; - W32_PTR(uint32_t *peError, peError, uint32_t *); + int8_t _ret; + uint32_t eOrigin; + uint32_t unControllerDeviceIndex; + W32_PTR(w32_VRControllerState001_t *pControllerState, pControllerState, w32_VRControllerState001_t *); + W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSettings_IVRSettings_003_SetString_params +struct IVRSystem_IVRSystem_003_TriggerHapticPulse_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - const char *pchValue; - uint32_t *peError; + uint32_t unControllerDeviceIndex; + uint32_t unAxisId; + uint16_t usDurationMicroSec; }; -struct wow64_IVRSettings_IVRSettings_003_SetString_params +struct wow64_IVRSystem_IVRSystem_003_TriggerHapticPulse_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(const char *pchValue, pchValue, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + uint32_t unControllerDeviceIndex; + uint32_t unAxisId; + uint16_t usDurationMicroSec; }; -struct IVRSettings_IVRSettings_003_GetBool_params +struct IVRSystem_IVRSystem_003_GetButtonIdNameFromEnum_params { struct u_iface u_iface; - int8_t _ret; - const char *pchSection; - const char *pchSettingsKey; - uint32_t *peError; + struct u_buffer _ret; + uint32_t eButtonId; }; -struct wow64_IVRSettings_IVRSettings_003_GetBool_params +struct wow64_IVRSystem_IVRSystem_003_GetButtonIdNameFromEnum_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + struct u_buffer _ret; + uint32_t eButtonId; }; -struct IVRSettings_IVRSettings_003_GetInt32_params +struct IVRSystem_IVRSystem_003_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; - int32_t _ret; - const char *pchSection; - const char *pchSettingsKey; - uint32_t *peError; + struct u_buffer _ret; + uint32_t eAxisType; }; -struct wow64_IVRSettings_IVRSettings_003_GetInt32_params +struct wow64_IVRSystem_IVRSystem_003_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; - int32_t _ret; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + struct u_buffer _ret; + uint32_t eAxisType; }; -struct IVRSettings_IVRSettings_003_GetFloat_params +struct IVRSystem_IVRSystem_003_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; - float _ret; - const char *pchSection; - const char *pchSettingsKey; - uint32_t *peError; + int8_t _ret; + const Compositor_OverlaySettings *overlaySettings; + HmdVector2_t vecWindowClientPositionOnScreen; + HmdVector2_t vecWindowClientSize; + uint32_t unControllerDeviceIndex; + uint32_t eOutputType; }; -struct wow64_IVRSettings_IVRSettings_003_GetFloat_params +struct wow64_IVRSystem_IVRSystem_003_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; - float _ret; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + int8_t _ret; + W32_PTR(const Compositor_OverlaySettings *overlaySettings, overlaySettings, const Compositor_OverlaySettings *); + HmdVector2_t vecWindowClientPositionOnScreen; + HmdVector2_t vecWindowClientSize; + uint32_t unControllerDeviceIndex; + uint32_t eOutputType; }; -struct IVRSettings_IVRSettings_003_GetString_params +struct IVRSystem_IVRSystem_003_CaptureInputFocus_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - char *pchValue; - uint32_t unValueLen; - uint32_t *peError; + int8_t _ret; }; -struct wow64_IVRSettings_IVRSettings_003_GetString_params +struct wow64_IVRSystem_IVRSystem_003_CaptureInputFocus_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(char *pchValue, pchValue, char *); - uint32_t unValueLen; - W32_PTR(uint32_t *peError, peError, uint32_t *); + int8_t _ret; }; -struct IVRSettings_IVRSettings_003_RemoveSection_params +struct IVRSystem_IVRSystem_003_ReleaseInputFocus_params { struct u_iface u_iface; - const char *pchSection; - uint32_t *peError; }; -struct wow64_IVRSettings_IVRSettings_003_RemoveSection_params +struct wow64_IVRSystem_IVRSystem_003_ReleaseInputFocus_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRSettings_IVRSettings_003_RemoveKeyInSection_params +struct IVRSystem_IVRSystem_003_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - uint32_t *peError; + int8_t _ret; }; -struct wow64_IVRSettings_IVRSettings_003_RemoveKeyInSection_params +struct wow64_IVRSystem_IVRSystem_003_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + int8_t _ret; }; -struct IVRSystem_IVRSystem_003_GetWindowBounds_params +struct IVRSystem_IVRSystem_004_GetWindowBounds_params { struct u_iface u_iface; int32_t *pnX; @@ -47700,7 +49040,7 @@ struct IVRSystem_IVRSystem_003_GetWindowBounds_params uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_003_GetWindowBounds_params +struct wow64_IVRSystem_IVRSystem_004_GetWindowBounds_params { struct u_iface u_iface; W32_PTR(int32_t *pnX, pnX, int32_t *); @@ -47709,21 +49049,21 @@ struct wow64_IVRSystem_IVRSystem_003_GetWindowBounds_params W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_003_GetRecommendedRenderTargetSize_params +struct IVRSystem_IVRSystem_004_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; uint32_t *pnWidth; uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_003_GetRecommendedRenderTargetSize_params +struct wow64_IVRSystem_IVRSystem_004_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_003_GetEyeOutputViewport_params +struct IVRSystem_IVRSystem_004_GetEyeOutputViewport_params { struct u_iface u_iface; uint32_t eEye; @@ -47733,7 +49073,7 @@ struct IVRSystem_IVRSystem_003_GetEyeOutputViewport_params uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_003_GetEyeOutputViewport_params +struct wow64_IVRSystem_IVRSystem_004_GetEyeOutputViewport_params { struct u_iface u_iface; uint32_t eEye; @@ -47743,7 +49083,7 @@ struct wow64_IVRSystem_IVRSystem_003_GetEyeOutputViewport_params W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_003_GetProjectionMatrix_params +struct IVRSystem_IVRSystem_004_GetProjectionMatrix_params { struct u_iface u_iface; HmdMatrix44_t *_ret; @@ -47753,7 +49093,7 @@ struct IVRSystem_IVRSystem_003_GetProjectionMatrix_params uint32_t eProjType; }; -struct wow64_IVRSystem_IVRSystem_003_GetProjectionMatrix_params +struct wow64_IVRSystem_IVRSystem_004_GetProjectionMatrix_params { struct u_iface u_iface; W32_PTR(HmdMatrix44_t *_ret, _ret, HmdMatrix44_t *); @@ -47763,7 +49103,7 @@ struct wow64_IVRSystem_IVRSystem_003_GetProjectionMatrix_params uint32_t eProjType; }; -struct IVRSystem_IVRSystem_003_GetProjectionRaw_params +struct IVRSystem_IVRSystem_004_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -47773,7 +49113,7 @@ struct IVRSystem_IVRSystem_003_GetProjectionRaw_params float *pfBottom; }; -struct wow64_IVRSystem_IVRSystem_003_GetProjectionRaw_params +struct wow64_IVRSystem_IVRSystem_004_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -47783,7 +49123,7 @@ struct wow64_IVRSystem_IVRSystem_003_GetProjectionRaw_params W32_PTR(float *pfBottom, pfBottom, float *); }; -struct IVRSystem_IVRSystem_003_ComputeDistortion_params +struct IVRSystem_IVRSystem_004_ComputeDistortion_params { struct u_iface u_iface; DistortionCoordinates_t *_ret; @@ -47792,7 +49132,7 @@ struct IVRSystem_IVRSystem_003_ComputeDistortion_params float fV; }; -struct wow64_IVRSystem_IVRSystem_003_ComputeDistortion_params +struct wow64_IVRSystem_IVRSystem_004_ComputeDistortion_params { struct u_iface u_iface; W32_PTR(DistortionCoordinates_t *_ret, _ret, DistortionCoordinates_t *); @@ -47801,21 +49141,21 @@ struct wow64_IVRSystem_IVRSystem_003_ComputeDistortion_params float fV; }; -struct IVRSystem_IVRSystem_003_GetEyeToHeadTransform_params +struct IVRSystem_IVRSystem_004_GetEyeToHeadTransform_params { struct u_iface u_iface; HmdMatrix34_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_003_GetEyeToHeadTransform_params +struct wow64_IVRSystem_IVRSystem_004_GetEyeToHeadTransform_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_003_GetTimeSinceLastVsync_params +struct IVRSystem_IVRSystem_004_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -47823,7 +49163,7 @@ struct IVRSystem_IVRSystem_003_GetTimeSinceLastVsync_params uint64_t *pulFrameCounter; }; -struct wow64_IVRSystem_IVRSystem_003_GetTimeSinceLastVsync_params +struct wow64_IVRSystem_IVRSystem_004_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -47831,47 +49171,47 @@ struct wow64_IVRSystem_IVRSystem_003_GetTimeSinceLastVsync_params W32_PTR(uint64_t *pulFrameCounter, pulFrameCounter, uint64_t *); }; -struct IVRSystem_IVRSystem_003_GetD3D9AdapterIndex_params +struct IVRSystem_IVRSystem_004_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct wow64_IVRSystem_IVRSystem_003_GetD3D9AdapterIndex_params +struct wow64_IVRSystem_IVRSystem_004_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct IVRSystem_IVRSystem_003_GetDXGIOutputInfo_params +struct IVRSystem_IVRSystem_004_GetDXGIOutputInfo_params { struct u_iface u_iface; int32_t *pnAdapterIndex; int32_t *pnAdapterOutputIndex; }; -struct wow64_IVRSystem_IVRSystem_003_GetDXGIOutputInfo_params +struct wow64_IVRSystem_IVRSystem_004_GetDXGIOutputInfo_params { struct u_iface u_iface; W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); W32_PTR(int32_t *pnAdapterOutputIndex, pnAdapterOutputIndex, int32_t *); }; -struct IVRSystem_IVRSystem_003_AttachToWindow_params +struct IVRSystem_IVRSystem_004_AttachToWindow_params { struct u_iface u_iface; int8_t _ret; void *hWnd; }; -struct wow64_IVRSystem_IVRSystem_003_AttachToWindow_params +struct wow64_IVRSystem_IVRSystem_004_AttachToWindow_params { struct u_iface u_iface; int8_t _ret; W32_PTR(void *hWnd, hWnd, void *); }; -struct IVRSystem_IVRSystem_003_GetDeviceToAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_004_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -47880,7 +49220,7 @@ struct IVRSystem_IVRSystem_003_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct wow64_IVRSystem_IVRSystem_003_GetDeviceToAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_004_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -47889,85 +49229,57 @@ struct wow64_IVRSystem_IVRSystem_003_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct IVRSystem_IVRSystem_003_ResetSeatedZeroPose_params +struct IVRSystem_IVRSystem_004_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_003_ResetSeatedZeroPose_params +struct wow64_IVRSystem_IVRSystem_004_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_003_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_004_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_003_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_004_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_003_LoadRenderModel_params -{ - struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - w_RenderModel_t_090 *pRenderModel; -}; - -struct wow64_IVRSystem_IVRSystem_003_LoadRenderModel_params -{ - struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(w32_RenderModel_t_090 *pRenderModel, pRenderModel, w32_RenderModel_t_090 *); -}; - -struct IVRSystem_IVRSystem_003_FreeRenderModel_params -{ - struct u_iface u_iface; - w_RenderModel_t_090 *pRenderModel; -}; - -struct wow64_IVRSystem_IVRSystem_003_FreeRenderModel_params -{ - struct u_iface u_iface; - W32_PTR(w32_RenderModel_t_090 *pRenderModel, pRenderModel, w32_RenderModel_t_090 *); -}; - -struct IVRSystem_IVRSystem_003_GetTrackedDeviceClass_params +struct IVRSystem_IVRSystem_004_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_003_GetTrackedDeviceClass_params +struct wow64_IVRSystem_IVRSystem_004_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_003_IsTrackedDeviceConnected_params +struct IVRSystem_IVRSystem_004_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_003_IsTrackedDeviceConnected_params +struct wow64_IVRSystem_IVRSystem_004_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_003_GetBoolTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_004_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -47976,7 +49288,7 @@ struct IVRSystem_IVRSystem_003_GetBoolTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_003_GetBoolTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_004_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -47985,7 +49297,7 @@ struct wow64_IVRSystem_IVRSystem_003_GetBoolTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_003_GetFloatTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_004_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -47994,7 +49306,7 @@ struct IVRSystem_IVRSystem_003_GetFloatTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_003_GetFloatTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_004_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -48003,7 +49315,7 @@ struct wow64_IVRSystem_IVRSystem_003_GetFloatTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_003_GetInt32TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_004_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -48012,7 +49324,7 @@ struct IVRSystem_IVRSystem_003_GetInt32TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_003_GetInt32TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_004_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -48021,7 +49333,7 @@ struct wow64_IVRSystem_IVRSystem_003_GetInt32TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_003_GetUint64TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_004_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -48030,7 +49342,7 @@ struct IVRSystem_IVRSystem_003_GetUint64TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_003_GetUint64TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_004_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -48039,7 +49351,7 @@ struct wow64_IVRSystem_IVRSystem_003_GetUint64TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_003_GetMatrix34TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_004_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; HmdMatrix34_t *_ret; @@ -48048,7 +49360,7 @@ struct IVRSystem_IVRSystem_003_GetMatrix34TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_003_GetMatrix34TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_004_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); @@ -48057,7 +49369,7 @@ struct wow64_IVRSystem_IVRSystem_003_GetMatrix34TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_003_GetStringTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_004_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -48068,7 +49380,7 @@ struct IVRSystem_IVRSystem_003_GetStringTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_003_GetStringTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_004_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -48079,81 +49391,81 @@ struct wow64_IVRSystem_IVRSystem_003_GetStringTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_003_GetPropErrorNameFromEnum_params +struct IVRSystem_IVRSystem_004_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVRSystem_IVRSystem_003_GetPropErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_004_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVRSystem_IVRSystem_003_PollNextEvent_params +struct IVRSystem_IVRSystem_004_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - w_VREvent_t_090 *pEvent; + w_VREvent_t_092 *pEvent; }; -struct wow64_IVRSystem_IVRSystem_003_PollNextEvent_params +struct wow64_IVRSystem_IVRSystem_004_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - W32_PTR(w32_VREvent_t_090 *pEvent, pEvent, w32_VREvent_t_090 *); + W32_PTR(w32_VREvent_t_092 *pEvent, pEvent, w32_VREvent_t_092 *); }; -struct IVRSystem_IVRSystem_003_PollNextEventWithPose_params +struct IVRSystem_IVRSystem_004_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - w_VREvent_t_090 *pEvent; + w_VREvent_t_092 *pEvent; TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_003_PollNextEventWithPose_params +struct wow64_IVRSystem_IVRSystem_004_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - W32_PTR(w32_VREvent_t_090 *pEvent, pEvent, w32_VREvent_t_090 *); + W32_PTR(w32_VREvent_t_092 *pEvent, pEvent, w32_VREvent_t_092 *); W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_003_GetEventTypeNameFromEnum_params +struct IVRSystem_IVRSystem_004_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct wow64_IVRSystem_IVRSystem_003_GetEventTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_004_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct IVRSystem_IVRSystem_003_GetHiddenAreaMesh_params +struct IVRSystem_IVRSystem_004_GetHiddenAreaMesh_params { struct u_iface u_iface; w_HiddenAreaMesh_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_003_GetHiddenAreaMesh_params +struct wow64_IVRSystem_IVRSystem_004_GetHiddenAreaMesh_params { struct u_iface u_iface; W32_PTR(w32_HiddenAreaMesh_t *_ret, _ret, w32_HiddenAreaMesh_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_003_GetControllerState_params +struct IVRSystem_IVRSystem_004_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -48161,7 +49473,7 @@ struct IVRSystem_IVRSystem_003_GetControllerState_params w_VRControllerState001_t *pControllerState; }; -struct wow64_IVRSystem_IVRSystem_003_GetControllerState_params +struct wow64_IVRSystem_IVRSystem_004_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -48169,7 +49481,7 @@ struct wow64_IVRSystem_IVRSystem_003_GetControllerState_params W32_PTR(w32_VRControllerState001_t *pControllerState, pControllerState, w32_VRControllerState001_t *); }; -struct IVRSystem_IVRSystem_003_GetControllerStateWithPose_params +struct IVRSystem_IVRSystem_004_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -48179,7 +49491,7 @@ struct IVRSystem_IVRSystem_003_GetControllerStateWithPose_params TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_003_GetControllerStateWithPose_params +struct wow64_IVRSystem_IVRSystem_004_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -48189,7 +49501,7 @@ struct wow64_IVRSystem_IVRSystem_003_GetControllerStateWithPose_params W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_003_TriggerHapticPulse_params +struct IVRSystem_IVRSystem_004_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -48197,7 +49509,7 @@ struct IVRSystem_IVRSystem_003_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct wow64_IVRSystem_IVRSystem_003_TriggerHapticPulse_params +struct wow64_IVRSystem_IVRSystem_004_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -48205,91 +49517,89 @@ struct wow64_IVRSystem_IVRSystem_003_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct IVRSystem_IVRSystem_003_GetButtonIdNameFromEnum_params +struct IVRSystem_IVRSystem_004_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct wow64_IVRSystem_IVRSystem_003_GetButtonIdNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_004_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct IVRSystem_IVRSystem_003_GetControllerAxisTypeNameFromEnum_params +struct IVRSystem_IVRSystem_004_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct wow64_IVRSystem_IVRSystem_003_GetControllerAxisTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_004_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct IVRSystem_IVRSystem_003_HandleControllerOverlayInteractionAsMouse_params +struct IVRSystem_IVRSystem_004_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; - const Compositor_OverlaySettings *overlaySettings; - HmdVector2_t vecWindowClientPositionOnScreen; - HmdVector2_t vecWindowClientSize; - uint32_t unControllerDeviceIndex; - uint32_t eOutputType; }; -struct wow64_IVRSystem_IVRSystem_003_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVRSystem_IVRSystem_004_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; - W32_PTR(const Compositor_OverlaySettings *overlaySettings, overlaySettings, const Compositor_OverlaySettings *); - HmdVector2_t vecWindowClientPositionOnScreen; - HmdVector2_t vecWindowClientSize; - uint32_t unControllerDeviceIndex; - uint32_t eOutputType; }; -struct IVRSystem_IVRSystem_003_CaptureInputFocus_params +struct IVRSystem_IVRSystem_004_ReleaseInputFocus_params { struct u_iface u_iface; - int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_003_CaptureInputFocus_params +struct wow64_IVRSystem_IVRSystem_004_ReleaseInputFocus_params { struct u_iface u_iface; - int8_t _ret; }; -struct IVRSystem_IVRSystem_003_ReleaseInputFocus_params +struct IVRSystem_IVRSystem_004_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; + int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_003_ReleaseInputFocus_params +struct wow64_IVRSystem_IVRSystem_004_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; + int8_t _ret; }; -struct IVRSystem_IVRSystem_003_IsInputFocusCapturedByAnotherProcess_params +struct IVRSystem_IVRSystem_004_DriverDebugRequest_params { struct u_iface u_iface; - int8_t _ret; + uint32_t _ret; + uint32_t unDeviceIndex; + const char *pchRequest; + char *pchResponseBuffer; + uint32_t unResponseBufferSize; }; -struct wow64_IVRSystem_IVRSystem_003_IsInputFocusCapturedByAnotherProcess_params +struct wow64_IVRSystem_IVRSystem_004_DriverDebugRequest_params { struct u_iface u_iface; - int8_t _ret; + uint32_t _ret; + uint32_t unDeviceIndex; + W32_PTR(const char *pchRequest, pchRequest, const char *); + W32_PTR(char *pchResponseBuffer, pchResponseBuffer, char *); + uint32_t unResponseBufferSize; }; -struct IVRSystem_IVRSystem_004_GetWindowBounds_params +struct IVRSystem_IVRSystem_005_GetWindowBounds_params { struct u_iface u_iface; int32_t *pnX; @@ -48298,7 +49608,7 @@ struct IVRSystem_IVRSystem_004_GetWindowBounds_params uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_004_GetWindowBounds_params +struct wow64_IVRSystem_IVRSystem_005_GetWindowBounds_params { struct u_iface u_iface; W32_PTR(int32_t *pnX, pnX, int32_t *); @@ -48307,21 +49617,21 @@ struct wow64_IVRSystem_IVRSystem_004_GetWindowBounds_params W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_004_GetRecommendedRenderTargetSize_params +struct IVRSystem_IVRSystem_005_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; uint32_t *pnWidth; uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_004_GetRecommendedRenderTargetSize_params +struct wow64_IVRSystem_IVRSystem_005_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_004_GetEyeOutputViewport_params +struct IVRSystem_IVRSystem_005_GetEyeOutputViewport_params { struct u_iface u_iface; uint32_t eEye; @@ -48331,7 +49641,7 @@ struct IVRSystem_IVRSystem_004_GetEyeOutputViewport_params uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_004_GetEyeOutputViewport_params +struct wow64_IVRSystem_IVRSystem_005_GetEyeOutputViewport_params { struct u_iface u_iface; uint32_t eEye; @@ -48341,7 +49651,7 @@ struct wow64_IVRSystem_IVRSystem_004_GetEyeOutputViewport_params W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_004_GetProjectionMatrix_params +struct IVRSystem_IVRSystem_005_GetProjectionMatrix_params { struct u_iface u_iface; HmdMatrix44_t *_ret; @@ -48351,7 +49661,7 @@ struct IVRSystem_IVRSystem_004_GetProjectionMatrix_params uint32_t eProjType; }; -struct wow64_IVRSystem_IVRSystem_004_GetProjectionMatrix_params +struct wow64_IVRSystem_IVRSystem_005_GetProjectionMatrix_params { struct u_iface u_iface; W32_PTR(HmdMatrix44_t *_ret, _ret, HmdMatrix44_t *); @@ -48361,7 +49671,7 @@ struct wow64_IVRSystem_IVRSystem_004_GetProjectionMatrix_params uint32_t eProjType; }; -struct IVRSystem_IVRSystem_004_GetProjectionRaw_params +struct IVRSystem_IVRSystem_005_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -48371,7 +49681,7 @@ struct IVRSystem_IVRSystem_004_GetProjectionRaw_params float *pfBottom; }; -struct wow64_IVRSystem_IVRSystem_004_GetProjectionRaw_params +struct wow64_IVRSystem_IVRSystem_005_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -48381,7 +49691,7 @@ struct wow64_IVRSystem_IVRSystem_004_GetProjectionRaw_params W32_PTR(float *pfBottom, pfBottom, float *); }; -struct IVRSystem_IVRSystem_004_ComputeDistortion_params +struct IVRSystem_IVRSystem_005_ComputeDistortion_params { struct u_iface u_iface; DistortionCoordinates_t *_ret; @@ -48390,7 +49700,7 @@ struct IVRSystem_IVRSystem_004_ComputeDistortion_params float fV; }; -struct wow64_IVRSystem_IVRSystem_004_ComputeDistortion_params +struct wow64_IVRSystem_IVRSystem_005_ComputeDistortion_params { struct u_iface u_iface; W32_PTR(DistortionCoordinates_t *_ret, _ret, DistortionCoordinates_t *); @@ -48399,21 +49709,21 @@ struct wow64_IVRSystem_IVRSystem_004_ComputeDistortion_params float fV; }; -struct IVRSystem_IVRSystem_004_GetEyeToHeadTransform_params +struct IVRSystem_IVRSystem_005_GetEyeToHeadTransform_params { struct u_iface u_iface; HmdMatrix34_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_004_GetEyeToHeadTransform_params +struct wow64_IVRSystem_IVRSystem_005_GetEyeToHeadTransform_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_004_GetTimeSinceLastVsync_params +struct IVRSystem_IVRSystem_005_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -48421,7 +49731,7 @@ struct IVRSystem_IVRSystem_004_GetTimeSinceLastVsync_params uint64_t *pulFrameCounter; }; -struct wow64_IVRSystem_IVRSystem_004_GetTimeSinceLastVsync_params +struct wow64_IVRSystem_IVRSystem_005_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -48429,47 +49739,47 @@ struct wow64_IVRSystem_IVRSystem_004_GetTimeSinceLastVsync_params W32_PTR(uint64_t *pulFrameCounter, pulFrameCounter, uint64_t *); }; -struct IVRSystem_IVRSystem_004_GetD3D9AdapterIndex_params +struct IVRSystem_IVRSystem_005_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct wow64_IVRSystem_IVRSystem_004_GetD3D9AdapterIndex_params +struct wow64_IVRSystem_IVRSystem_005_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct IVRSystem_IVRSystem_004_GetDXGIOutputInfo_params +struct IVRSystem_IVRSystem_005_GetDXGIOutputInfo_params { struct u_iface u_iface; int32_t *pnAdapterIndex; int32_t *pnAdapterOutputIndex; }; -struct wow64_IVRSystem_IVRSystem_004_GetDXGIOutputInfo_params +struct wow64_IVRSystem_IVRSystem_005_GetDXGIOutputInfo_params { struct u_iface u_iface; W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); W32_PTR(int32_t *pnAdapterOutputIndex, pnAdapterOutputIndex, int32_t *); }; -struct IVRSystem_IVRSystem_004_AttachToWindow_params +struct IVRSystem_IVRSystem_005_AttachToWindow_params { struct u_iface u_iface; int8_t _ret; void *hWnd; }; -struct wow64_IVRSystem_IVRSystem_004_AttachToWindow_params +struct wow64_IVRSystem_IVRSystem_005_AttachToWindow_params { struct u_iface u_iface; int8_t _ret; W32_PTR(void *hWnd, hWnd, void *); }; -struct IVRSystem_IVRSystem_004_GetDeviceToAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_005_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -48478,7 +49788,7 @@ struct IVRSystem_IVRSystem_004_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct wow64_IVRSystem_IVRSystem_004_GetDeviceToAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_005_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -48487,57 +49797,77 @@ struct wow64_IVRSystem_IVRSystem_004_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct IVRSystem_IVRSystem_004_ResetSeatedZeroPose_params +struct IVRSystem_IVRSystem_005_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_004_ResetSeatedZeroPose_params +struct wow64_IVRSystem_IVRSystem_005_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_004_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_005_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_004_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_005_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_004_GetTrackedDeviceClass_params +struct IVRSystem_IVRSystem_005_GetSortedTrackedDeviceIndicesOfClass_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t eTrackedDeviceClass; + uint32_t *punTrackedDeviceIndexArray; + uint32_t unTrackedDeviceIndexArrayCount; + uint32_t unRelativeToTrackedDeviceIndex; +}; + +struct wow64_IVRSystem_IVRSystem_005_GetSortedTrackedDeviceIndicesOfClass_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t eTrackedDeviceClass; + W32_PTR(uint32_t *punTrackedDeviceIndexArray, punTrackedDeviceIndexArray, uint32_t *); + uint32_t unTrackedDeviceIndexArrayCount; + uint32_t unRelativeToTrackedDeviceIndex; +}; + +struct IVRSystem_IVRSystem_005_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_004_GetTrackedDeviceClass_params +struct wow64_IVRSystem_IVRSystem_005_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_004_IsTrackedDeviceConnected_params +struct IVRSystem_IVRSystem_005_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_004_IsTrackedDeviceConnected_params +struct wow64_IVRSystem_IVRSystem_005_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_004_GetBoolTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_005_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -48546,7 +49876,7 @@ struct IVRSystem_IVRSystem_004_GetBoolTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_004_GetBoolTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_005_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -48555,7 +49885,7 @@ struct wow64_IVRSystem_IVRSystem_004_GetBoolTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_004_GetFloatTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_005_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -48564,7 +49894,7 @@ struct IVRSystem_IVRSystem_004_GetFloatTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_004_GetFloatTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_005_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -48573,7 +49903,7 @@ struct wow64_IVRSystem_IVRSystem_004_GetFloatTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_004_GetInt32TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_005_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -48582,7 +49912,7 @@ struct IVRSystem_IVRSystem_004_GetInt32TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_004_GetInt32TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_005_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -48591,7 +49921,7 @@ struct wow64_IVRSystem_IVRSystem_004_GetInt32TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_004_GetUint64TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_005_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -48600,7 +49930,7 @@ struct IVRSystem_IVRSystem_004_GetUint64TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_004_GetUint64TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_005_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -48609,7 +49939,7 @@ struct wow64_IVRSystem_IVRSystem_004_GetUint64TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_004_GetMatrix34TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_005_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; HmdMatrix34_t *_ret; @@ -48618,7 +49948,7 @@ struct IVRSystem_IVRSystem_004_GetMatrix34TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_004_GetMatrix34TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_005_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); @@ -48627,7 +49957,7 @@ struct wow64_IVRSystem_IVRSystem_004_GetMatrix34TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_004_GetStringTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_005_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -48638,7 +49968,7 @@ struct IVRSystem_IVRSystem_004_GetStringTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_004_GetStringTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_005_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -48649,81 +49979,81 @@ struct wow64_IVRSystem_IVRSystem_004_GetStringTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_004_GetPropErrorNameFromEnum_params +struct IVRSystem_IVRSystem_005_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVRSystem_IVRSystem_004_GetPropErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_005_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVRSystem_IVRSystem_004_PollNextEvent_params +struct IVRSystem_IVRSystem_005_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - w_VREvent_t_092 *pEvent; + w_VREvent_t_097 *pEvent; }; -struct wow64_IVRSystem_IVRSystem_004_PollNextEvent_params +struct wow64_IVRSystem_IVRSystem_005_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - W32_PTR(w32_VREvent_t_092 *pEvent, pEvent, w32_VREvent_t_092 *); + W32_PTR(w32_VREvent_t_097 *pEvent, pEvent, w32_VREvent_t_097 *); }; -struct IVRSystem_IVRSystem_004_PollNextEventWithPose_params +struct IVRSystem_IVRSystem_005_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - w_VREvent_t_092 *pEvent; + w_VREvent_t_097 *pEvent; TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_004_PollNextEventWithPose_params +struct wow64_IVRSystem_IVRSystem_005_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - W32_PTR(w32_VREvent_t_092 *pEvent, pEvent, w32_VREvent_t_092 *); + W32_PTR(w32_VREvent_t_097 *pEvent, pEvent, w32_VREvent_t_097 *); W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_004_GetEventTypeNameFromEnum_params +struct IVRSystem_IVRSystem_005_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct wow64_IVRSystem_IVRSystem_004_GetEventTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_005_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct IVRSystem_IVRSystem_004_GetHiddenAreaMesh_params +struct IVRSystem_IVRSystem_005_GetHiddenAreaMesh_params { struct u_iface u_iface; w_HiddenAreaMesh_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_004_GetHiddenAreaMesh_params +struct wow64_IVRSystem_IVRSystem_005_GetHiddenAreaMesh_params { struct u_iface u_iface; W32_PTR(w32_HiddenAreaMesh_t *_ret, _ret, w32_HiddenAreaMesh_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_004_GetControllerState_params +struct IVRSystem_IVRSystem_005_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -48731,7 +50061,7 @@ struct IVRSystem_IVRSystem_004_GetControllerState_params w_VRControllerState001_t *pControllerState; }; -struct wow64_IVRSystem_IVRSystem_004_GetControllerState_params +struct wow64_IVRSystem_IVRSystem_005_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -48739,7 +50069,7 @@ struct wow64_IVRSystem_IVRSystem_004_GetControllerState_params W32_PTR(w32_VRControllerState001_t *pControllerState, pControllerState, w32_VRControllerState001_t *); }; -struct IVRSystem_IVRSystem_004_GetControllerStateWithPose_params +struct IVRSystem_IVRSystem_005_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -48749,7 +50079,7 @@ struct IVRSystem_IVRSystem_004_GetControllerStateWithPose_params TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_004_GetControllerStateWithPose_params +struct wow64_IVRSystem_IVRSystem_005_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -48759,7 +50089,7 @@ struct wow64_IVRSystem_IVRSystem_004_GetControllerStateWithPose_params W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_004_TriggerHapticPulse_params +struct IVRSystem_IVRSystem_005_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -48767,7 +50097,7 @@ struct IVRSystem_IVRSystem_004_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct wow64_IVRSystem_IVRSystem_004_TriggerHapticPulse_params +struct wow64_IVRSystem_IVRSystem_005_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -48775,69 +50105,69 @@ struct wow64_IVRSystem_IVRSystem_004_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct IVRSystem_IVRSystem_004_GetButtonIdNameFromEnum_params +struct IVRSystem_IVRSystem_005_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct wow64_IVRSystem_IVRSystem_004_GetButtonIdNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_005_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct IVRSystem_IVRSystem_004_GetControllerAxisTypeNameFromEnum_params +struct IVRSystem_IVRSystem_005_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct wow64_IVRSystem_IVRSystem_004_GetControllerAxisTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_005_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct IVRSystem_IVRSystem_004_CaptureInputFocus_params +struct IVRSystem_IVRSystem_005_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_004_CaptureInputFocus_params +struct wow64_IVRSystem_IVRSystem_005_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_004_ReleaseInputFocus_params +struct IVRSystem_IVRSystem_005_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_004_ReleaseInputFocus_params +struct wow64_IVRSystem_IVRSystem_005_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_004_IsInputFocusCapturedByAnotherProcess_params +struct IVRSystem_IVRSystem_005_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_004_IsInputFocusCapturedByAnotherProcess_params +struct wow64_IVRSystem_IVRSystem_005_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_004_DriverDebugRequest_params +struct IVRSystem_IVRSystem_005_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -48847,7 +50177,7 @@ struct IVRSystem_IVRSystem_004_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct wow64_IVRSystem_IVRSystem_004_DriverDebugRequest_params +struct wow64_IVRSystem_IVRSystem_005_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -48857,7 +50187,7 @@ struct wow64_IVRSystem_IVRSystem_004_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct IVRSystem_IVRSystem_005_GetWindowBounds_params +struct IVRSystem_IVRSystem_006_GetWindowBounds_params { struct u_iface u_iface; int32_t *pnX; @@ -48866,7 +50196,7 @@ struct IVRSystem_IVRSystem_005_GetWindowBounds_params uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_005_GetWindowBounds_params +struct wow64_IVRSystem_IVRSystem_006_GetWindowBounds_params { struct u_iface u_iface; W32_PTR(int32_t *pnX, pnX, int32_t *); @@ -48875,21 +50205,21 @@ struct wow64_IVRSystem_IVRSystem_005_GetWindowBounds_params W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_005_GetRecommendedRenderTargetSize_params +struct IVRSystem_IVRSystem_006_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; uint32_t *pnWidth; uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_005_GetRecommendedRenderTargetSize_params +struct wow64_IVRSystem_IVRSystem_006_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_005_GetEyeOutputViewport_params +struct IVRSystem_IVRSystem_006_GetEyeOutputViewport_params { struct u_iface u_iface; uint32_t eEye; @@ -48899,7 +50229,7 @@ struct IVRSystem_IVRSystem_005_GetEyeOutputViewport_params uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_005_GetEyeOutputViewport_params +struct wow64_IVRSystem_IVRSystem_006_GetEyeOutputViewport_params { struct u_iface u_iface; uint32_t eEye; @@ -48909,7 +50239,7 @@ struct wow64_IVRSystem_IVRSystem_005_GetEyeOutputViewport_params W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_005_GetProjectionMatrix_params +struct IVRSystem_IVRSystem_006_GetProjectionMatrix_params { struct u_iface u_iface; HmdMatrix44_t *_ret; @@ -48919,7 +50249,7 @@ struct IVRSystem_IVRSystem_005_GetProjectionMatrix_params uint32_t eProjType; }; -struct wow64_IVRSystem_IVRSystem_005_GetProjectionMatrix_params +struct wow64_IVRSystem_IVRSystem_006_GetProjectionMatrix_params { struct u_iface u_iface; W32_PTR(HmdMatrix44_t *_ret, _ret, HmdMatrix44_t *); @@ -48929,7 +50259,7 @@ struct wow64_IVRSystem_IVRSystem_005_GetProjectionMatrix_params uint32_t eProjType; }; -struct IVRSystem_IVRSystem_005_GetProjectionRaw_params +struct IVRSystem_IVRSystem_006_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -48939,7 +50269,7 @@ struct IVRSystem_IVRSystem_005_GetProjectionRaw_params float *pfBottom; }; -struct wow64_IVRSystem_IVRSystem_005_GetProjectionRaw_params +struct wow64_IVRSystem_IVRSystem_006_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -48949,7 +50279,7 @@ struct wow64_IVRSystem_IVRSystem_005_GetProjectionRaw_params W32_PTR(float *pfBottom, pfBottom, float *); }; -struct IVRSystem_IVRSystem_005_ComputeDistortion_params +struct IVRSystem_IVRSystem_006_ComputeDistortion_params { struct u_iface u_iface; DistortionCoordinates_t *_ret; @@ -48958,7 +50288,7 @@ struct IVRSystem_IVRSystem_005_ComputeDistortion_params float fV; }; -struct wow64_IVRSystem_IVRSystem_005_ComputeDistortion_params +struct wow64_IVRSystem_IVRSystem_006_ComputeDistortion_params { struct u_iface u_iface; W32_PTR(DistortionCoordinates_t *_ret, _ret, DistortionCoordinates_t *); @@ -48967,21 +50297,21 @@ struct wow64_IVRSystem_IVRSystem_005_ComputeDistortion_params float fV; }; -struct IVRSystem_IVRSystem_005_GetEyeToHeadTransform_params +struct IVRSystem_IVRSystem_006_GetEyeToHeadTransform_params { struct u_iface u_iface; HmdMatrix34_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_005_GetEyeToHeadTransform_params +struct wow64_IVRSystem_IVRSystem_006_GetEyeToHeadTransform_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_005_GetTimeSinceLastVsync_params +struct IVRSystem_IVRSystem_006_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -48989,7 +50319,7 @@ struct IVRSystem_IVRSystem_005_GetTimeSinceLastVsync_params uint64_t *pulFrameCounter; }; -struct wow64_IVRSystem_IVRSystem_005_GetTimeSinceLastVsync_params +struct wow64_IVRSystem_IVRSystem_006_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -48997,47 +50327,47 @@ struct wow64_IVRSystem_IVRSystem_005_GetTimeSinceLastVsync_params W32_PTR(uint64_t *pulFrameCounter, pulFrameCounter, uint64_t *); }; -struct IVRSystem_IVRSystem_005_GetD3D9AdapterIndex_params +struct IVRSystem_IVRSystem_006_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct wow64_IVRSystem_IVRSystem_005_GetD3D9AdapterIndex_params +struct wow64_IVRSystem_IVRSystem_006_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct IVRSystem_IVRSystem_005_GetDXGIOutputInfo_params +struct IVRSystem_IVRSystem_006_GetDXGIOutputInfo_params { struct u_iface u_iface; int32_t *pnAdapterIndex; int32_t *pnAdapterOutputIndex; }; -struct wow64_IVRSystem_IVRSystem_005_GetDXGIOutputInfo_params +struct wow64_IVRSystem_IVRSystem_006_GetDXGIOutputInfo_params { struct u_iface u_iface; W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); W32_PTR(int32_t *pnAdapterOutputIndex, pnAdapterOutputIndex, int32_t *); }; -struct IVRSystem_IVRSystem_005_AttachToWindow_params +struct IVRSystem_IVRSystem_006_AttachToWindow_params { struct u_iface u_iface; int8_t _ret; void *hWnd; }; -struct wow64_IVRSystem_IVRSystem_005_AttachToWindow_params +struct wow64_IVRSystem_IVRSystem_006_AttachToWindow_params { struct u_iface u_iface; int8_t _ret; W32_PTR(void *hWnd, hWnd, void *); }; -struct IVRSystem_IVRSystem_005_GetDeviceToAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_006_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -49046,7 +50376,7 @@ struct IVRSystem_IVRSystem_005_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct wow64_IVRSystem_IVRSystem_005_GetDeviceToAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_006_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -49055,29 +50385,41 @@ struct wow64_IVRSystem_IVRSystem_005_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct IVRSystem_IVRSystem_005_ResetSeatedZeroPose_params +struct IVRSystem_IVRSystem_006_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_005_ResetSeatedZeroPose_params +struct wow64_IVRSystem_IVRSystem_006_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_005_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_006_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_005_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_006_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_005_GetSortedTrackedDeviceIndicesOfClass_params +struct IVRSystem_IVRSystem_006_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +{ + struct u_iface u_iface; + HmdMatrix34_t *_ret; +}; + +struct wow64_IVRSystem_IVRSystem_006_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +{ + struct u_iface u_iface; + W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); +}; + +struct IVRSystem_IVRSystem_006_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -49087,7 +50429,7 @@ struct IVRSystem_IVRSystem_005_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_005_GetSortedTrackedDeviceIndicesOfClass_params +struct wow64_IVRSystem_IVRSystem_006_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -49097,35 +50439,49 @@ struct wow64_IVRSystem_IVRSystem_005_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct IVRSystem_IVRSystem_005_GetTrackedDeviceClass_params +struct IVRSystem_IVRSystem_006_GetTrackedDeviceActivityLevel_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unDeviceId; +}; + +struct wow64_IVRSystem_IVRSystem_006_GetTrackedDeviceActivityLevel_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unDeviceId; +}; + +struct IVRSystem_IVRSystem_006_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_005_GetTrackedDeviceClass_params +struct wow64_IVRSystem_IVRSystem_006_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_005_IsTrackedDeviceConnected_params +struct IVRSystem_IVRSystem_006_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_005_IsTrackedDeviceConnected_params +struct wow64_IVRSystem_IVRSystem_006_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_005_GetBoolTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_006_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -49134,7 +50490,7 @@ struct IVRSystem_IVRSystem_005_GetBoolTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_005_GetBoolTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_006_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -49143,7 +50499,7 @@ struct wow64_IVRSystem_IVRSystem_005_GetBoolTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_005_GetFloatTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_006_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -49152,7 +50508,7 @@ struct IVRSystem_IVRSystem_005_GetFloatTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_005_GetFloatTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_006_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -49161,7 +50517,7 @@ struct wow64_IVRSystem_IVRSystem_005_GetFloatTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_005_GetInt32TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_006_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -49170,7 +50526,7 @@ struct IVRSystem_IVRSystem_005_GetInt32TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_005_GetInt32TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_006_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -49179,7 +50535,7 @@ struct wow64_IVRSystem_IVRSystem_005_GetInt32TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_005_GetUint64TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_006_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -49188,7 +50544,7 @@ struct IVRSystem_IVRSystem_005_GetUint64TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_005_GetUint64TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_006_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -49197,7 +50553,7 @@ struct wow64_IVRSystem_IVRSystem_005_GetUint64TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_005_GetMatrix34TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_006_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; HmdMatrix34_t *_ret; @@ -49206,7 +50562,7 @@ struct IVRSystem_IVRSystem_005_GetMatrix34TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_005_GetMatrix34TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_006_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); @@ -49215,7 +50571,7 @@ struct wow64_IVRSystem_IVRSystem_005_GetMatrix34TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_005_GetStringTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_006_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -49226,7 +50582,7 @@ struct IVRSystem_IVRSystem_005_GetStringTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_005_GetStringTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_006_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -49237,81 +50593,81 @@ struct wow64_IVRSystem_IVRSystem_005_GetStringTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_005_GetPropErrorNameFromEnum_params +struct IVRSystem_IVRSystem_006_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVRSystem_IVRSystem_005_GetPropErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_006_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVRSystem_IVRSystem_005_PollNextEvent_params +struct IVRSystem_IVRSystem_006_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - w_VREvent_t_097 *pEvent; + w_VREvent_t_0910 *pEvent; }; -struct wow64_IVRSystem_IVRSystem_005_PollNextEvent_params +struct wow64_IVRSystem_IVRSystem_006_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - W32_PTR(w32_VREvent_t_097 *pEvent, pEvent, w32_VREvent_t_097 *); + W32_PTR(w32_VREvent_t_0910 *pEvent, pEvent, w32_VREvent_t_0910 *); }; -struct IVRSystem_IVRSystem_005_PollNextEventWithPose_params +struct IVRSystem_IVRSystem_006_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - w_VREvent_t_097 *pEvent; + w_VREvent_t_0910 *pEvent; TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_005_PollNextEventWithPose_params +struct wow64_IVRSystem_IVRSystem_006_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - W32_PTR(w32_VREvent_t_097 *pEvent, pEvent, w32_VREvent_t_097 *); + W32_PTR(w32_VREvent_t_0910 *pEvent, pEvent, w32_VREvent_t_0910 *); W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_005_GetEventTypeNameFromEnum_params +struct IVRSystem_IVRSystem_006_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct wow64_IVRSystem_IVRSystem_005_GetEventTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_006_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct IVRSystem_IVRSystem_005_GetHiddenAreaMesh_params +struct IVRSystem_IVRSystem_006_GetHiddenAreaMesh_params { struct u_iface u_iface; w_HiddenAreaMesh_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_005_GetHiddenAreaMesh_params +struct wow64_IVRSystem_IVRSystem_006_GetHiddenAreaMesh_params { struct u_iface u_iface; W32_PTR(w32_HiddenAreaMesh_t *_ret, _ret, w32_HiddenAreaMesh_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_005_GetControllerState_params +struct IVRSystem_IVRSystem_006_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -49319,7 +50675,7 @@ struct IVRSystem_IVRSystem_005_GetControllerState_params w_VRControllerState001_t *pControllerState; }; -struct wow64_IVRSystem_IVRSystem_005_GetControllerState_params +struct wow64_IVRSystem_IVRSystem_006_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -49327,7 +50683,7 @@ struct wow64_IVRSystem_IVRSystem_005_GetControllerState_params W32_PTR(w32_VRControllerState001_t *pControllerState, pControllerState, w32_VRControllerState001_t *); }; -struct IVRSystem_IVRSystem_005_GetControllerStateWithPose_params +struct IVRSystem_IVRSystem_006_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -49337,7 +50693,7 @@ struct IVRSystem_IVRSystem_005_GetControllerStateWithPose_params TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_005_GetControllerStateWithPose_params +struct wow64_IVRSystem_IVRSystem_006_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -49347,7 +50703,7 @@ struct wow64_IVRSystem_IVRSystem_005_GetControllerStateWithPose_params W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_005_TriggerHapticPulse_params +struct IVRSystem_IVRSystem_006_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -49355,7 +50711,7 @@ struct IVRSystem_IVRSystem_005_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct wow64_IVRSystem_IVRSystem_005_TriggerHapticPulse_params +struct wow64_IVRSystem_IVRSystem_006_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -49363,69 +50719,69 @@ struct wow64_IVRSystem_IVRSystem_005_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct IVRSystem_IVRSystem_005_GetButtonIdNameFromEnum_params +struct IVRSystem_IVRSystem_006_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct wow64_IVRSystem_IVRSystem_005_GetButtonIdNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_006_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct IVRSystem_IVRSystem_005_GetControllerAxisTypeNameFromEnum_params +struct IVRSystem_IVRSystem_006_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct wow64_IVRSystem_IVRSystem_005_GetControllerAxisTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_006_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct IVRSystem_IVRSystem_005_CaptureInputFocus_params +struct IVRSystem_IVRSystem_006_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_005_CaptureInputFocus_params +struct wow64_IVRSystem_IVRSystem_006_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_005_ReleaseInputFocus_params +struct IVRSystem_IVRSystem_006_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_005_ReleaseInputFocus_params +struct wow64_IVRSystem_IVRSystem_006_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_005_IsInputFocusCapturedByAnotherProcess_params +struct IVRSystem_IVRSystem_006_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_005_IsInputFocusCapturedByAnotherProcess_params +struct wow64_IVRSystem_IVRSystem_006_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_005_DriverDebugRequest_params +struct IVRSystem_IVRSystem_006_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -49435,7 +50791,7 @@ struct IVRSystem_IVRSystem_005_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct wow64_IVRSystem_IVRSystem_005_DriverDebugRequest_params +struct wow64_IVRSystem_IVRSystem_006_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -49445,59 +50801,61 @@ struct wow64_IVRSystem_IVRSystem_005_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct IVRSystem_IVRSystem_006_GetWindowBounds_params +struct IVRSystem_IVRSystem_006_PerformFirmwareUpdate_params { struct u_iface u_iface; - int32_t *pnX; - int32_t *pnY; - uint32_t *pnWidth; - uint32_t *pnHeight; + uint32_t _ret; + uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_006_GetWindowBounds_params +struct wow64_IVRSystem_IVRSystem_006_PerformFirmwareUpdate_params { struct u_iface u_iface; - W32_PTR(int32_t *pnX, pnX, int32_t *); - W32_PTR(int32_t *pnY, pnY, int32_t *); - W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); - W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); + uint32_t _ret; + uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_006_GetRecommendedRenderTargetSize_params +struct IVRSystem_IVRSystem_006_IsDisplayOnDesktop_params { struct u_iface u_iface; - uint32_t *pnWidth; - uint32_t *pnHeight; + int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_006_GetRecommendedRenderTargetSize_params +struct wow64_IVRSystem_IVRSystem_006_IsDisplayOnDesktop_params { struct u_iface u_iface; - W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); - W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); + int8_t _ret; +}; + +struct IVRSystem_IVRSystem_006_SetDisplayVisibility_params +{ + struct u_iface u_iface; + int8_t _ret; + int8_t bIsVisibleOnDesktop; +}; + +struct wow64_IVRSystem_IVRSystem_006_SetDisplayVisibility_params +{ + struct u_iface u_iface; + int8_t _ret; + int8_t bIsVisibleOnDesktop; }; -struct IVRSystem_IVRSystem_006_GetEyeOutputViewport_params +struct IVRSystem_IVRSystem_009_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; - uint32_t eEye; - uint32_t *pnX; - uint32_t *pnY; uint32_t *pnWidth; uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_006_GetEyeOutputViewport_params +struct wow64_IVRSystem_IVRSystem_009_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; - uint32_t eEye; - W32_PTR(uint32_t *pnX, pnX, uint32_t *); - W32_PTR(uint32_t *pnY, pnY, uint32_t *); W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_006_GetProjectionMatrix_params +struct IVRSystem_IVRSystem_009_GetProjectionMatrix_params { struct u_iface u_iface; HmdMatrix44_t *_ret; @@ -49507,7 +50865,7 @@ struct IVRSystem_IVRSystem_006_GetProjectionMatrix_params uint32_t eProjType; }; -struct wow64_IVRSystem_IVRSystem_006_GetProjectionMatrix_params +struct wow64_IVRSystem_IVRSystem_009_GetProjectionMatrix_params { struct u_iface u_iface; W32_PTR(HmdMatrix44_t *_ret, _ret, HmdMatrix44_t *); @@ -49517,7 +50875,7 @@ struct wow64_IVRSystem_IVRSystem_006_GetProjectionMatrix_params uint32_t eProjType; }; -struct IVRSystem_IVRSystem_006_GetProjectionRaw_params +struct IVRSystem_IVRSystem_009_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -49527,7 +50885,7 @@ struct IVRSystem_IVRSystem_006_GetProjectionRaw_params float *pfBottom; }; -struct wow64_IVRSystem_IVRSystem_006_GetProjectionRaw_params +struct wow64_IVRSystem_IVRSystem_009_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -49537,7 +50895,7 @@ struct wow64_IVRSystem_IVRSystem_006_GetProjectionRaw_params W32_PTR(float *pfBottom, pfBottom, float *); }; -struct IVRSystem_IVRSystem_006_ComputeDistortion_params +struct IVRSystem_IVRSystem_009_ComputeDistortion_params { struct u_iface u_iface; DistortionCoordinates_t *_ret; @@ -49546,7 +50904,7 @@ struct IVRSystem_IVRSystem_006_ComputeDistortion_params float fV; }; -struct wow64_IVRSystem_IVRSystem_006_ComputeDistortion_params +struct wow64_IVRSystem_IVRSystem_009_ComputeDistortion_params { struct u_iface u_iface; W32_PTR(DistortionCoordinates_t *_ret, _ret, DistortionCoordinates_t *); @@ -49555,21 +50913,21 @@ struct wow64_IVRSystem_IVRSystem_006_ComputeDistortion_params float fV; }; -struct IVRSystem_IVRSystem_006_GetEyeToHeadTransform_params +struct IVRSystem_IVRSystem_009_GetEyeToHeadTransform_params { struct u_iface u_iface; HmdMatrix34_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_006_GetEyeToHeadTransform_params +struct wow64_IVRSystem_IVRSystem_009_GetEyeToHeadTransform_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_006_GetTimeSinceLastVsync_params +struct IVRSystem_IVRSystem_009_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -49577,7 +50935,7 @@ struct IVRSystem_IVRSystem_006_GetTimeSinceLastVsync_params uint64_t *pulFrameCounter; }; -struct wow64_IVRSystem_IVRSystem_006_GetTimeSinceLastVsync_params +struct wow64_IVRSystem_IVRSystem_009_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -49585,47 +50943,57 @@ struct wow64_IVRSystem_IVRSystem_006_GetTimeSinceLastVsync_params W32_PTR(uint64_t *pulFrameCounter, pulFrameCounter, uint64_t *); }; -struct IVRSystem_IVRSystem_006_GetD3D9AdapterIndex_params +struct IVRSystem_IVRSystem_009_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct wow64_IVRSystem_IVRSystem_006_GetD3D9AdapterIndex_params +struct wow64_IVRSystem_IVRSystem_009_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct IVRSystem_IVRSystem_006_GetDXGIOutputInfo_params +struct IVRSystem_IVRSystem_009_GetDXGIOutputInfo_params { struct u_iface u_iface; int32_t *pnAdapterIndex; - int32_t *pnAdapterOutputIndex; }; -struct wow64_IVRSystem_IVRSystem_006_GetDXGIOutputInfo_params +struct wow64_IVRSystem_IVRSystem_009_GetDXGIOutputInfo_params { struct u_iface u_iface; W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); - W32_PTR(int32_t *pnAdapterOutputIndex, pnAdapterOutputIndex, int32_t *); }; -struct IVRSystem_IVRSystem_006_AttachToWindow_params +struct IVRSystem_IVRSystem_009_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; - void *hWnd; }; -struct wow64_IVRSystem_IVRSystem_006_AttachToWindow_params +struct wow64_IVRSystem_IVRSystem_009_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; - W32_PTR(void *hWnd, hWnd, void *); }; -struct IVRSystem_IVRSystem_006_GetDeviceToAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_009_SetDisplayVisibility_params +{ + struct u_iface u_iface; + int8_t _ret; + int8_t bIsVisibleOnDesktop; +}; + +struct wow64_IVRSystem_IVRSystem_009_SetDisplayVisibility_params +{ + struct u_iface u_iface; + int8_t _ret; + int8_t bIsVisibleOnDesktop; +}; + +struct IVRSystem_IVRSystem_009_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -49634,7 +51002,7 @@ struct IVRSystem_IVRSystem_006_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct wow64_IVRSystem_IVRSystem_006_GetDeviceToAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_009_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -49643,41 +51011,41 @@ struct wow64_IVRSystem_IVRSystem_006_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct IVRSystem_IVRSystem_006_ResetSeatedZeroPose_params +struct IVRSystem_IVRSystem_009_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_006_ResetSeatedZeroPose_params +struct wow64_IVRSystem_IVRSystem_009_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_006_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_009_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_006_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_009_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_006_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_009_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_006_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_009_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_006_GetSortedTrackedDeviceIndicesOfClass_params +struct IVRSystem_IVRSystem_009_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -49687,7 +51055,7 @@ struct IVRSystem_IVRSystem_006_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_006_GetSortedTrackedDeviceIndicesOfClass_params +struct wow64_IVRSystem_IVRSystem_009_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -49697,49 +51065,65 @@ struct wow64_IVRSystem_IVRSystem_006_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct IVRSystem_IVRSystem_006_GetTrackedDeviceActivityLevel_params +struct IVRSystem_IVRSystem_009_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct wow64_IVRSystem_IVRSystem_006_GetTrackedDeviceActivityLevel_params +struct wow64_IVRSystem_IVRSystem_009_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct IVRSystem_IVRSystem_006_GetTrackedDeviceClass_params +struct IVRSystem_IVRSystem_009_ApplyTransform_params +{ + struct u_iface u_iface; + TrackedDevicePose_t *pOutputPose; + const TrackedDevicePose_t *pTrackedDevicePose; + const HmdMatrix34_t *pTransform; +}; + +struct wow64_IVRSystem_IVRSystem_009_ApplyTransform_params +{ + struct u_iface u_iface; + W32_PTR(TrackedDevicePose_t *pOutputPose, pOutputPose, TrackedDevicePose_t *); + W32_PTR(const TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, const TrackedDevicePose_t *); + W32_PTR(const HmdMatrix34_t *pTransform, pTransform, const HmdMatrix34_t *); +}; + +struct IVRSystem_IVRSystem_009_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_006_GetTrackedDeviceClass_params +struct wow64_IVRSystem_IVRSystem_009_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_006_IsTrackedDeviceConnected_params +struct IVRSystem_IVRSystem_009_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_006_IsTrackedDeviceConnected_params +struct wow64_IVRSystem_IVRSystem_009_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_006_GetBoolTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_009_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -49748,7 +51132,7 @@ struct IVRSystem_IVRSystem_006_GetBoolTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_006_GetBoolTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_009_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -49757,7 +51141,7 @@ struct wow64_IVRSystem_IVRSystem_006_GetBoolTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_006_GetFloatTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_009_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -49766,7 +51150,7 @@ struct IVRSystem_IVRSystem_006_GetFloatTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_006_GetFloatTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_009_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -49775,7 +51159,7 @@ struct wow64_IVRSystem_IVRSystem_006_GetFloatTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_006_GetInt32TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_009_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -49784,7 +51168,7 @@ struct IVRSystem_IVRSystem_006_GetInt32TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_006_GetInt32TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_009_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -49793,7 +51177,7 @@ struct wow64_IVRSystem_IVRSystem_006_GetInt32TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_006_GetUint64TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_009_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -49802,7 +51186,7 @@ struct IVRSystem_IVRSystem_006_GetUint64TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_006_GetUint64TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_009_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -49811,7 +51195,7 @@ struct wow64_IVRSystem_IVRSystem_006_GetUint64TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_006_GetMatrix34TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_009_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; HmdMatrix34_t *_ret; @@ -49820,7 +51204,7 @@ struct IVRSystem_IVRSystem_006_GetMatrix34TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_006_GetMatrix34TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_009_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); @@ -49829,7 +51213,7 @@ struct wow64_IVRSystem_IVRSystem_006_GetMatrix34TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_006_GetStringTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_009_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -49840,7 +51224,7 @@ struct IVRSystem_IVRSystem_006_GetStringTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_006_GetStringTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_009_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -49851,81 +51235,81 @@ struct wow64_IVRSystem_IVRSystem_006_GetStringTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_006_GetPropErrorNameFromEnum_params +struct IVRSystem_IVRSystem_009_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVRSystem_IVRSystem_006_GetPropErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_009_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVRSystem_IVRSystem_006_PollNextEvent_params +struct IVRSystem_IVRSystem_009_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - w_VREvent_t_0910 *pEvent; + w_VREvent_t_0912 *pEvent; }; -struct wow64_IVRSystem_IVRSystem_006_PollNextEvent_params +struct wow64_IVRSystem_IVRSystem_009_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - W32_PTR(w32_VREvent_t_0910 *pEvent, pEvent, w32_VREvent_t_0910 *); + W32_PTR(w32_VREvent_t_0912 *pEvent, pEvent, w32_VREvent_t_0912 *); }; -struct IVRSystem_IVRSystem_006_PollNextEventWithPose_params +struct IVRSystem_IVRSystem_009_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - w_VREvent_t_0910 *pEvent; + w_VREvent_t_0912 *pEvent; TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_006_PollNextEventWithPose_params +struct wow64_IVRSystem_IVRSystem_009_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - W32_PTR(w32_VREvent_t_0910 *pEvent, pEvent, w32_VREvent_t_0910 *); + W32_PTR(w32_VREvent_t_0912 *pEvent, pEvent, w32_VREvent_t_0912 *); W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_006_GetEventTypeNameFromEnum_params +struct IVRSystem_IVRSystem_009_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct wow64_IVRSystem_IVRSystem_006_GetEventTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_009_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct IVRSystem_IVRSystem_006_GetHiddenAreaMesh_params +struct IVRSystem_IVRSystem_009_GetHiddenAreaMesh_params { struct u_iface u_iface; w_HiddenAreaMesh_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_006_GetHiddenAreaMesh_params +struct wow64_IVRSystem_IVRSystem_009_GetHiddenAreaMesh_params { struct u_iface u_iface; W32_PTR(w32_HiddenAreaMesh_t *_ret, _ret, w32_HiddenAreaMesh_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_006_GetControllerState_params +struct IVRSystem_IVRSystem_009_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -49933,7 +51317,7 @@ struct IVRSystem_IVRSystem_006_GetControllerState_params w_VRControllerState001_t *pControllerState; }; -struct wow64_IVRSystem_IVRSystem_006_GetControllerState_params +struct wow64_IVRSystem_IVRSystem_009_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -49941,7 +51325,7 @@ struct wow64_IVRSystem_IVRSystem_006_GetControllerState_params W32_PTR(w32_VRControllerState001_t *pControllerState, pControllerState, w32_VRControllerState001_t *); }; -struct IVRSystem_IVRSystem_006_GetControllerStateWithPose_params +struct IVRSystem_IVRSystem_009_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -49951,7 +51335,7 @@ struct IVRSystem_IVRSystem_006_GetControllerStateWithPose_params TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_006_GetControllerStateWithPose_params +struct wow64_IVRSystem_IVRSystem_009_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -49961,7 +51345,7 @@ struct wow64_IVRSystem_IVRSystem_006_GetControllerStateWithPose_params W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_006_TriggerHapticPulse_params +struct IVRSystem_IVRSystem_009_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -49969,7 +51353,7 @@ struct IVRSystem_IVRSystem_006_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct wow64_IVRSystem_IVRSystem_006_TriggerHapticPulse_params +struct wow64_IVRSystem_IVRSystem_009_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -49977,69 +51361,69 @@ struct wow64_IVRSystem_IVRSystem_006_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct IVRSystem_IVRSystem_006_GetButtonIdNameFromEnum_params +struct IVRSystem_IVRSystem_009_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct wow64_IVRSystem_IVRSystem_006_GetButtonIdNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_009_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct IVRSystem_IVRSystem_006_GetControllerAxisTypeNameFromEnum_params +struct IVRSystem_IVRSystem_009_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct wow64_IVRSystem_IVRSystem_006_GetControllerAxisTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_009_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct IVRSystem_IVRSystem_006_CaptureInputFocus_params +struct IVRSystem_IVRSystem_009_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_006_CaptureInputFocus_params +struct wow64_IVRSystem_IVRSystem_009_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_006_ReleaseInputFocus_params +struct IVRSystem_IVRSystem_009_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_006_ReleaseInputFocus_params +struct wow64_IVRSystem_IVRSystem_009_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_006_IsInputFocusCapturedByAnotherProcess_params +struct IVRSystem_IVRSystem_009_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_006_IsInputFocusCapturedByAnotherProcess_params +struct wow64_IVRSystem_IVRSystem_009_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_006_DriverDebugRequest_params +struct IVRSystem_IVRSystem_009_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -50049,7 +51433,7 @@ struct IVRSystem_IVRSystem_006_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct wow64_IVRSystem_IVRSystem_006_DriverDebugRequest_params +struct wow64_IVRSystem_IVRSystem_009_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -50059,61 +51443,55 @@ struct wow64_IVRSystem_IVRSystem_006_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct IVRSystem_IVRSystem_006_PerformFirmwareUpdate_params +struct IVRSystem_IVRSystem_009_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_006_PerformFirmwareUpdate_params +struct wow64_IVRSystem_IVRSystem_009_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_006_IsDisplayOnDesktop_params +struct IVRSystem_IVRSystem_009_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; - int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_006_IsDisplayOnDesktop_params +struct wow64_IVRSystem_IVRSystem_009_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; - int8_t _ret; }; -struct IVRSystem_IVRSystem_006_SetDisplayVisibility_params +struct IVRSystem_IVRSystem_009_AcknowledgeQuit_UserPrompt_params { struct u_iface u_iface; - int8_t _ret; - int8_t bIsVisibleOnDesktop; }; -struct wow64_IVRSystem_IVRSystem_006_SetDisplayVisibility_params +struct wow64_IVRSystem_IVRSystem_009_AcknowledgeQuit_UserPrompt_params { struct u_iface u_iface; - int8_t _ret; - int8_t bIsVisibleOnDesktop; }; -struct IVRSystem_IVRSystem_009_GetRecommendedRenderTargetSize_params +struct IVRSystem_IVRSystem_010_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; uint32_t *pnWidth; uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_009_GetRecommendedRenderTargetSize_params +struct wow64_IVRSystem_IVRSystem_010_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_009_GetProjectionMatrix_params +struct IVRSystem_IVRSystem_010_GetProjectionMatrix_params { struct u_iface u_iface; HmdMatrix44_t *_ret; @@ -50123,7 +51501,7 @@ struct IVRSystem_IVRSystem_009_GetProjectionMatrix_params uint32_t eProjType; }; -struct wow64_IVRSystem_IVRSystem_009_GetProjectionMatrix_params +struct wow64_IVRSystem_IVRSystem_010_GetProjectionMatrix_params { struct u_iface u_iface; W32_PTR(HmdMatrix44_t *_ret, _ret, HmdMatrix44_t *); @@ -50133,7 +51511,7 @@ struct wow64_IVRSystem_IVRSystem_009_GetProjectionMatrix_params uint32_t eProjType; }; -struct IVRSystem_IVRSystem_009_GetProjectionRaw_params +struct IVRSystem_IVRSystem_010_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -50143,7 +51521,7 @@ struct IVRSystem_IVRSystem_009_GetProjectionRaw_params float *pfBottom; }; -struct wow64_IVRSystem_IVRSystem_009_GetProjectionRaw_params +struct wow64_IVRSystem_IVRSystem_010_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -50153,7 +51531,7 @@ struct wow64_IVRSystem_IVRSystem_009_GetProjectionRaw_params W32_PTR(float *pfBottom, pfBottom, float *); }; -struct IVRSystem_IVRSystem_009_ComputeDistortion_params +struct IVRSystem_IVRSystem_010_ComputeDistortion_params { struct u_iface u_iface; DistortionCoordinates_t *_ret; @@ -50162,7 +51540,7 @@ struct IVRSystem_IVRSystem_009_ComputeDistortion_params float fV; }; -struct wow64_IVRSystem_IVRSystem_009_ComputeDistortion_params +struct wow64_IVRSystem_IVRSystem_010_ComputeDistortion_params { struct u_iface u_iface; W32_PTR(DistortionCoordinates_t *_ret, _ret, DistortionCoordinates_t *); @@ -50171,21 +51549,21 @@ struct wow64_IVRSystem_IVRSystem_009_ComputeDistortion_params float fV; }; -struct IVRSystem_IVRSystem_009_GetEyeToHeadTransform_params +struct IVRSystem_IVRSystem_010_GetEyeToHeadTransform_params { struct u_iface u_iface; HmdMatrix34_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_009_GetEyeToHeadTransform_params +struct wow64_IVRSystem_IVRSystem_010_GetEyeToHeadTransform_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_009_GetTimeSinceLastVsync_params +struct IVRSystem_IVRSystem_010_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -50193,7 +51571,7 @@ struct IVRSystem_IVRSystem_009_GetTimeSinceLastVsync_params uint64_t *pulFrameCounter; }; -struct wow64_IVRSystem_IVRSystem_009_GetTimeSinceLastVsync_params +struct wow64_IVRSystem_IVRSystem_010_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -50201,57 +51579,57 @@ struct wow64_IVRSystem_IVRSystem_009_GetTimeSinceLastVsync_params W32_PTR(uint64_t *pulFrameCounter, pulFrameCounter, uint64_t *); }; -struct IVRSystem_IVRSystem_009_GetD3D9AdapterIndex_params +struct IVRSystem_IVRSystem_010_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct wow64_IVRSystem_IVRSystem_009_GetD3D9AdapterIndex_params +struct wow64_IVRSystem_IVRSystem_010_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct IVRSystem_IVRSystem_009_GetDXGIOutputInfo_params +struct IVRSystem_IVRSystem_010_GetDXGIOutputInfo_params { struct u_iface u_iface; int32_t *pnAdapterIndex; }; -struct wow64_IVRSystem_IVRSystem_009_GetDXGIOutputInfo_params +struct wow64_IVRSystem_IVRSystem_010_GetDXGIOutputInfo_params { struct u_iface u_iface; W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); }; -struct IVRSystem_IVRSystem_009_IsDisplayOnDesktop_params +struct IVRSystem_IVRSystem_010_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_009_IsDisplayOnDesktop_params +struct wow64_IVRSystem_IVRSystem_010_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_009_SetDisplayVisibility_params +struct IVRSystem_IVRSystem_010_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct wow64_IVRSystem_IVRSystem_009_SetDisplayVisibility_params +struct wow64_IVRSystem_IVRSystem_010_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct IVRSystem_IVRSystem_009_GetDeviceToAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_010_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -50260,7 +51638,7 @@ struct IVRSystem_IVRSystem_009_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct wow64_IVRSystem_IVRSystem_009_GetDeviceToAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_010_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -50269,41 +51647,41 @@ struct wow64_IVRSystem_IVRSystem_009_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct IVRSystem_IVRSystem_009_ResetSeatedZeroPose_params +struct IVRSystem_IVRSystem_010_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_009_ResetSeatedZeroPose_params +struct wow64_IVRSystem_IVRSystem_010_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_009_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_010_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_009_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_010_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_009_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_010_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_009_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_010_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_009_GetSortedTrackedDeviceIndicesOfClass_params +struct IVRSystem_IVRSystem_010_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -50313,7 +51691,7 @@ struct IVRSystem_IVRSystem_009_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_009_GetSortedTrackedDeviceIndicesOfClass_params +struct wow64_IVRSystem_IVRSystem_010_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -50323,21 +51701,21 @@ struct wow64_IVRSystem_IVRSystem_009_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct IVRSystem_IVRSystem_009_GetTrackedDeviceActivityLevel_params +struct IVRSystem_IVRSystem_010_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct wow64_IVRSystem_IVRSystem_009_GetTrackedDeviceActivityLevel_params +struct wow64_IVRSystem_IVRSystem_010_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct IVRSystem_IVRSystem_009_ApplyTransform_params +struct IVRSystem_IVRSystem_010_ApplyTransform_params { struct u_iface u_iface; TrackedDevicePose_t *pOutputPose; @@ -50345,7 +51723,7 @@ struct IVRSystem_IVRSystem_009_ApplyTransform_params const HmdMatrix34_t *pTransform; }; -struct wow64_IVRSystem_IVRSystem_009_ApplyTransform_params +struct wow64_IVRSystem_IVRSystem_010_ApplyTransform_params { struct u_iface u_iface; W32_PTR(TrackedDevicePose_t *pOutputPose, pOutputPose, TrackedDevicePose_t *); @@ -50353,35 +51731,63 @@ struct wow64_IVRSystem_IVRSystem_009_ApplyTransform_params W32_PTR(const HmdMatrix34_t *pTransform, pTransform, const HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_009_GetTrackedDeviceClass_params +struct IVRSystem_IVRSystem_010_GetTrackedDeviceIndexForControllerRole_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unDeviceType; +}; + +struct wow64_IVRSystem_IVRSystem_010_GetTrackedDeviceIndexForControllerRole_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unDeviceType; +}; + +struct IVRSystem_IVRSystem_010_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_009_GetTrackedDeviceClass_params +struct wow64_IVRSystem_IVRSystem_010_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_009_IsTrackedDeviceConnected_params +struct IVRSystem_IVRSystem_010_GetTrackedDeviceClass_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unDeviceIndex; +}; + +struct wow64_IVRSystem_IVRSystem_010_GetTrackedDeviceClass_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unDeviceIndex; +}; + +struct IVRSystem_IVRSystem_010_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_009_IsTrackedDeviceConnected_params +struct wow64_IVRSystem_IVRSystem_010_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_009_GetBoolTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_010_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -50390,7 +51796,7 @@ struct IVRSystem_IVRSystem_009_GetBoolTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_009_GetBoolTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_010_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -50399,7 +51805,7 @@ struct wow64_IVRSystem_IVRSystem_009_GetBoolTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_009_GetFloatTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_010_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -50408,7 +51814,7 @@ struct IVRSystem_IVRSystem_009_GetFloatTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_009_GetFloatTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_010_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -50417,7 +51823,7 @@ struct wow64_IVRSystem_IVRSystem_009_GetFloatTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_009_GetInt32TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_010_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -50426,7 +51832,7 @@ struct IVRSystem_IVRSystem_009_GetInt32TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_009_GetInt32TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_010_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -50435,7 +51841,7 @@ struct wow64_IVRSystem_IVRSystem_009_GetInt32TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_009_GetUint64TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_010_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -50444,7 +51850,7 @@ struct IVRSystem_IVRSystem_009_GetUint64TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_009_GetUint64TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_010_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -50453,7 +51859,7 @@ struct wow64_IVRSystem_IVRSystem_009_GetUint64TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_009_GetMatrix34TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_010_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; HmdMatrix34_t *_ret; @@ -50462,7 +51868,7 @@ struct IVRSystem_IVRSystem_009_GetMatrix34TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_009_GetMatrix34TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_010_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); @@ -50471,7 +51877,7 @@ struct wow64_IVRSystem_IVRSystem_009_GetMatrix34TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_009_GetStringTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_010_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -50482,7 +51888,7 @@ struct IVRSystem_IVRSystem_009_GetStringTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_009_GetStringTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_010_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -50493,81 +51899,81 @@ struct wow64_IVRSystem_IVRSystem_009_GetStringTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_009_GetPropErrorNameFromEnum_params +struct IVRSystem_IVRSystem_010_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVRSystem_IVRSystem_009_GetPropErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_010_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVRSystem_IVRSystem_009_PollNextEvent_params +struct IVRSystem_IVRSystem_010_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - w_VREvent_t_0912 *pEvent; + w_VREvent_t_0914 *pEvent; }; -struct wow64_IVRSystem_IVRSystem_009_PollNextEvent_params +struct wow64_IVRSystem_IVRSystem_010_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - W32_PTR(w32_VREvent_t_0912 *pEvent, pEvent, w32_VREvent_t_0912 *); + W32_PTR(w32_VREvent_t_0914 *pEvent, pEvent, w32_VREvent_t_0914 *); }; -struct IVRSystem_IVRSystem_009_PollNextEventWithPose_params +struct IVRSystem_IVRSystem_010_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - w_VREvent_t_0912 *pEvent; + w_VREvent_t_0914 *pEvent; TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_009_PollNextEventWithPose_params +struct wow64_IVRSystem_IVRSystem_010_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - W32_PTR(w32_VREvent_t_0912 *pEvent, pEvent, w32_VREvent_t_0912 *); + W32_PTR(w32_VREvent_t_0914 *pEvent, pEvent, w32_VREvent_t_0914 *); W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_009_GetEventTypeNameFromEnum_params +struct IVRSystem_IVRSystem_010_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct wow64_IVRSystem_IVRSystem_009_GetEventTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_010_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct IVRSystem_IVRSystem_009_GetHiddenAreaMesh_params +struct IVRSystem_IVRSystem_010_GetHiddenAreaMesh_params { struct u_iface u_iface; w_HiddenAreaMesh_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_009_GetHiddenAreaMesh_params +struct wow64_IVRSystem_IVRSystem_010_GetHiddenAreaMesh_params { struct u_iface u_iface; W32_PTR(w32_HiddenAreaMesh_t *_ret, _ret, w32_HiddenAreaMesh_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_009_GetControllerState_params +struct IVRSystem_IVRSystem_010_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -50575,7 +51981,7 @@ struct IVRSystem_IVRSystem_009_GetControllerState_params w_VRControllerState001_t *pControllerState; }; -struct wow64_IVRSystem_IVRSystem_009_GetControllerState_params +struct wow64_IVRSystem_IVRSystem_010_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -50583,7 +51989,7 @@ struct wow64_IVRSystem_IVRSystem_009_GetControllerState_params W32_PTR(w32_VRControllerState001_t *pControllerState, pControllerState, w32_VRControllerState001_t *); }; -struct IVRSystem_IVRSystem_009_GetControllerStateWithPose_params +struct IVRSystem_IVRSystem_010_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -50593,7 +51999,7 @@ struct IVRSystem_IVRSystem_009_GetControllerStateWithPose_params TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_009_GetControllerStateWithPose_params +struct wow64_IVRSystem_IVRSystem_010_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -50603,7 +52009,7 @@ struct wow64_IVRSystem_IVRSystem_009_GetControllerStateWithPose_params W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_009_TriggerHapticPulse_params +struct IVRSystem_IVRSystem_010_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -50611,7 +52017,7 @@ struct IVRSystem_IVRSystem_009_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct wow64_IVRSystem_IVRSystem_009_TriggerHapticPulse_params +struct wow64_IVRSystem_IVRSystem_010_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -50619,69 +52025,69 @@ struct wow64_IVRSystem_IVRSystem_009_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct IVRSystem_IVRSystem_009_GetButtonIdNameFromEnum_params +struct IVRSystem_IVRSystem_010_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct wow64_IVRSystem_IVRSystem_009_GetButtonIdNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_010_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct IVRSystem_IVRSystem_009_GetControllerAxisTypeNameFromEnum_params +struct IVRSystem_IVRSystem_010_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct wow64_IVRSystem_IVRSystem_009_GetControllerAxisTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_010_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct IVRSystem_IVRSystem_009_CaptureInputFocus_params +struct IVRSystem_IVRSystem_010_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_009_CaptureInputFocus_params +struct wow64_IVRSystem_IVRSystem_010_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_009_ReleaseInputFocus_params +struct IVRSystem_IVRSystem_010_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_009_ReleaseInputFocus_params +struct wow64_IVRSystem_IVRSystem_010_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_009_IsInputFocusCapturedByAnotherProcess_params +struct IVRSystem_IVRSystem_010_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_009_IsInputFocusCapturedByAnotherProcess_params +struct wow64_IVRSystem_IVRSystem_010_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_009_DriverDebugRequest_params +struct IVRSystem_IVRSystem_010_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -50691,7 +52097,7 @@ struct IVRSystem_IVRSystem_009_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct wow64_IVRSystem_IVRSystem_009_DriverDebugRequest_params +struct wow64_IVRSystem_IVRSystem_010_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -50701,55 +52107,79 @@ struct wow64_IVRSystem_IVRSystem_009_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct IVRSystem_IVRSystem_009_PerformFirmwareUpdate_params +struct IVRSystem_IVRSystem_010_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_009_PerformFirmwareUpdate_params +struct wow64_IVRSystem_IVRSystem_010_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_009_AcknowledgeQuit_Exiting_params +struct IVRSystem_IVRSystem_010_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_009_AcknowledgeQuit_Exiting_params +struct wow64_IVRSystem_IVRSystem_010_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_009_AcknowledgeQuit_UserPrompt_params +struct IVRSystem_IVRSystem_010_AcknowledgeQuit_UserPrompt_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_009_AcknowledgeQuit_UserPrompt_params +struct wow64_IVRSystem_IVRSystem_010_AcknowledgeQuit_UserPrompt_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_010_GetRecommendedRenderTargetSize_params +struct IVRSystem_IVRSystem_010_PerformanceTestEnableCapture_params +{ + struct u_iface u_iface; + int8_t bEnable; +}; + +struct wow64_IVRSystem_IVRSystem_010_PerformanceTestEnableCapture_params +{ + struct u_iface u_iface; + int8_t bEnable; +}; + +struct IVRSystem_IVRSystem_010_PerformanceTestReportFidelityLevelChange_params +{ + struct u_iface u_iface; + int32_t nFidelityLevel; +}; + +struct wow64_IVRSystem_IVRSystem_010_PerformanceTestReportFidelityLevelChange_params +{ + struct u_iface u_iface; + int32_t nFidelityLevel; +}; + +struct IVRSystem_IVRSystem_011_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; uint32_t *pnWidth; uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_010_GetRecommendedRenderTargetSize_params +struct wow64_IVRSystem_IVRSystem_011_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_010_GetProjectionMatrix_params +struct IVRSystem_IVRSystem_011_GetProjectionMatrix_params { struct u_iface u_iface; HmdMatrix44_t *_ret; @@ -50759,7 +52189,7 @@ struct IVRSystem_IVRSystem_010_GetProjectionMatrix_params uint32_t eProjType; }; -struct wow64_IVRSystem_IVRSystem_010_GetProjectionMatrix_params +struct wow64_IVRSystem_IVRSystem_011_GetProjectionMatrix_params { struct u_iface u_iface; W32_PTR(HmdMatrix44_t *_ret, _ret, HmdMatrix44_t *); @@ -50769,7 +52199,7 @@ struct wow64_IVRSystem_IVRSystem_010_GetProjectionMatrix_params uint32_t eProjType; }; -struct IVRSystem_IVRSystem_010_GetProjectionRaw_params +struct IVRSystem_IVRSystem_011_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -50779,7 +52209,7 @@ struct IVRSystem_IVRSystem_010_GetProjectionRaw_params float *pfBottom; }; -struct wow64_IVRSystem_IVRSystem_010_GetProjectionRaw_params +struct wow64_IVRSystem_IVRSystem_011_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -50789,7 +52219,7 @@ struct wow64_IVRSystem_IVRSystem_010_GetProjectionRaw_params W32_PTR(float *pfBottom, pfBottom, float *); }; -struct IVRSystem_IVRSystem_010_ComputeDistortion_params +struct IVRSystem_IVRSystem_011_ComputeDistortion_params { struct u_iface u_iface; DistortionCoordinates_t *_ret; @@ -50798,7 +52228,7 @@ struct IVRSystem_IVRSystem_010_ComputeDistortion_params float fV; }; -struct wow64_IVRSystem_IVRSystem_010_ComputeDistortion_params +struct wow64_IVRSystem_IVRSystem_011_ComputeDistortion_params { struct u_iface u_iface; W32_PTR(DistortionCoordinates_t *_ret, _ret, DistortionCoordinates_t *); @@ -50807,21 +52237,21 @@ struct wow64_IVRSystem_IVRSystem_010_ComputeDistortion_params float fV; }; -struct IVRSystem_IVRSystem_010_GetEyeToHeadTransform_params +struct IVRSystem_IVRSystem_011_GetEyeToHeadTransform_params { struct u_iface u_iface; HmdMatrix34_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_010_GetEyeToHeadTransform_params +struct wow64_IVRSystem_IVRSystem_011_GetEyeToHeadTransform_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_010_GetTimeSinceLastVsync_params +struct IVRSystem_IVRSystem_011_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -50829,7 +52259,7 @@ struct IVRSystem_IVRSystem_010_GetTimeSinceLastVsync_params uint64_t *pulFrameCounter; }; -struct wow64_IVRSystem_IVRSystem_010_GetTimeSinceLastVsync_params +struct wow64_IVRSystem_IVRSystem_011_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -50837,57 +52267,57 @@ struct wow64_IVRSystem_IVRSystem_010_GetTimeSinceLastVsync_params W32_PTR(uint64_t *pulFrameCounter, pulFrameCounter, uint64_t *); }; -struct IVRSystem_IVRSystem_010_GetD3D9AdapterIndex_params +struct IVRSystem_IVRSystem_011_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct wow64_IVRSystem_IVRSystem_010_GetD3D9AdapterIndex_params +struct wow64_IVRSystem_IVRSystem_011_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct IVRSystem_IVRSystem_010_GetDXGIOutputInfo_params +struct IVRSystem_IVRSystem_011_GetDXGIOutputInfo_params { struct u_iface u_iface; int32_t *pnAdapterIndex; }; -struct wow64_IVRSystem_IVRSystem_010_GetDXGIOutputInfo_params +struct wow64_IVRSystem_IVRSystem_011_GetDXGIOutputInfo_params { struct u_iface u_iface; W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); }; -struct IVRSystem_IVRSystem_010_IsDisplayOnDesktop_params +struct IVRSystem_IVRSystem_011_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_010_IsDisplayOnDesktop_params +struct wow64_IVRSystem_IVRSystem_011_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_010_SetDisplayVisibility_params +struct IVRSystem_IVRSystem_011_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct wow64_IVRSystem_IVRSystem_010_SetDisplayVisibility_params +struct wow64_IVRSystem_IVRSystem_011_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct IVRSystem_IVRSystem_010_GetDeviceToAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_011_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -50896,7 +52326,7 @@ struct IVRSystem_IVRSystem_010_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct wow64_IVRSystem_IVRSystem_010_GetDeviceToAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_011_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -50905,41 +52335,41 @@ struct wow64_IVRSystem_IVRSystem_010_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct IVRSystem_IVRSystem_010_ResetSeatedZeroPose_params +struct IVRSystem_IVRSystem_011_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_010_ResetSeatedZeroPose_params +struct wow64_IVRSystem_IVRSystem_011_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_010_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_011_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_010_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_011_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_010_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_011_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_010_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_011_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_010_GetSortedTrackedDeviceIndicesOfClass_params +struct IVRSystem_IVRSystem_011_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -50949,7 +52379,7 @@ struct IVRSystem_IVRSystem_010_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_010_GetSortedTrackedDeviceIndicesOfClass_params +struct wow64_IVRSystem_IVRSystem_011_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -50959,21 +52389,21 @@ struct wow64_IVRSystem_IVRSystem_010_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct IVRSystem_IVRSystem_010_GetTrackedDeviceActivityLevel_params +struct IVRSystem_IVRSystem_011_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct wow64_IVRSystem_IVRSystem_010_GetTrackedDeviceActivityLevel_params +struct wow64_IVRSystem_IVRSystem_011_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct IVRSystem_IVRSystem_010_ApplyTransform_params +struct IVRSystem_IVRSystem_011_ApplyTransform_params { struct u_iface u_iface; TrackedDevicePose_t *pOutputPose; @@ -50981,7 +52411,7 @@ struct IVRSystem_IVRSystem_010_ApplyTransform_params const HmdMatrix34_t *pTransform; }; -struct wow64_IVRSystem_IVRSystem_010_ApplyTransform_params +struct wow64_IVRSystem_IVRSystem_011_ApplyTransform_params { struct u_iface u_iface; W32_PTR(TrackedDevicePose_t *pOutputPose, pOutputPose, TrackedDevicePose_t *); @@ -50989,63 +52419,63 @@ struct wow64_IVRSystem_IVRSystem_010_ApplyTransform_params W32_PTR(const HmdMatrix34_t *pTransform, pTransform, const HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_010_GetTrackedDeviceIndexForControllerRole_params +struct IVRSystem_IVRSystem_011_GetTrackedDeviceIndexForControllerRole_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceType; }; -struct wow64_IVRSystem_IVRSystem_010_GetTrackedDeviceIndexForControllerRole_params +struct wow64_IVRSystem_IVRSystem_011_GetTrackedDeviceIndexForControllerRole_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceType; }; -struct IVRSystem_IVRSystem_010_GetControllerRoleForTrackedDeviceIndex_params +struct IVRSystem_IVRSystem_011_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_010_GetControllerRoleForTrackedDeviceIndex_params +struct wow64_IVRSystem_IVRSystem_011_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_010_GetTrackedDeviceClass_params +struct IVRSystem_IVRSystem_011_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_010_GetTrackedDeviceClass_params +struct wow64_IVRSystem_IVRSystem_011_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_010_IsTrackedDeviceConnected_params +struct IVRSystem_IVRSystem_011_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_010_IsTrackedDeviceConnected_params +struct wow64_IVRSystem_IVRSystem_011_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_010_GetBoolTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_011_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -51054,7 +52484,7 @@ struct IVRSystem_IVRSystem_010_GetBoolTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_010_GetBoolTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_011_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -51063,7 +52493,7 @@ struct wow64_IVRSystem_IVRSystem_010_GetBoolTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_010_GetFloatTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_011_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -51072,7 +52502,7 @@ struct IVRSystem_IVRSystem_010_GetFloatTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_010_GetFloatTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_011_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -51081,7 +52511,7 @@ struct wow64_IVRSystem_IVRSystem_010_GetFloatTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_010_GetInt32TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_011_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -51090,7 +52520,7 @@ struct IVRSystem_IVRSystem_010_GetInt32TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_010_GetInt32TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_011_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -51099,7 +52529,7 @@ struct wow64_IVRSystem_IVRSystem_010_GetInt32TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_010_GetUint64TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_011_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -51108,7 +52538,7 @@ struct IVRSystem_IVRSystem_010_GetUint64TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_010_GetUint64TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_011_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -51117,7 +52547,7 @@ struct wow64_IVRSystem_IVRSystem_010_GetUint64TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_010_GetMatrix34TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_011_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; HmdMatrix34_t *_ret; @@ -51126,7 +52556,7 @@ struct IVRSystem_IVRSystem_010_GetMatrix34TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_010_GetMatrix34TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_011_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); @@ -51135,7 +52565,7 @@ struct wow64_IVRSystem_IVRSystem_010_GetMatrix34TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_010_GetStringTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_011_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -51146,7 +52576,7 @@ struct IVRSystem_IVRSystem_010_GetStringTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_010_GetStringTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_011_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -51157,81 +52587,85 @@ struct wow64_IVRSystem_IVRSystem_010_GetStringTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_010_GetPropErrorNameFromEnum_params +struct IVRSystem_IVRSystem_011_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVRSystem_IVRSystem_010_GetPropErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_011_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVRSystem_IVRSystem_010_PollNextEvent_params +struct IVRSystem_IVRSystem_011_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - w_VREvent_t_0914 *pEvent; + w_VREvent_t_0918 *pEvent; + uint32_t uncbVREvent; }; -struct wow64_IVRSystem_IVRSystem_010_PollNextEvent_params +struct wow64_IVRSystem_IVRSystem_011_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - W32_PTR(w32_VREvent_t_0914 *pEvent, pEvent, w32_VREvent_t_0914 *); + W32_PTR(w32_VREvent_t_0918 *pEvent, pEvent, w32_VREvent_t_0918 *); + uint32_t uncbVREvent; }; -struct IVRSystem_IVRSystem_010_PollNextEventWithPose_params +struct IVRSystem_IVRSystem_011_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - w_VREvent_t_0914 *pEvent; + w_VREvent_t_0918 *pEvent; + uint32_t uncbVREvent; TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_010_PollNextEventWithPose_params +struct wow64_IVRSystem_IVRSystem_011_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - W32_PTR(w32_VREvent_t_0914 *pEvent, pEvent, w32_VREvent_t_0914 *); + W32_PTR(w32_VREvent_t_0918 *pEvent, pEvent, w32_VREvent_t_0918 *); + uint32_t uncbVREvent; W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_010_GetEventTypeNameFromEnum_params +struct IVRSystem_IVRSystem_011_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct wow64_IVRSystem_IVRSystem_010_GetEventTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_011_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct IVRSystem_IVRSystem_010_GetHiddenAreaMesh_params +struct IVRSystem_IVRSystem_011_GetHiddenAreaMesh_params { struct u_iface u_iface; w_HiddenAreaMesh_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_010_GetHiddenAreaMesh_params +struct wow64_IVRSystem_IVRSystem_011_GetHiddenAreaMesh_params { struct u_iface u_iface; W32_PTR(w32_HiddenAreaMesh_t *_ret, _ret, w32_HiddenAreaMesh_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_010_GetControllerState_params +struct IVRSystem_IVRSystem_011_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -51239,7 +52673,7 @@ struct IVRSystem_IVRSystem_010_GetControllerState_params w_VRControllerState001_t *pControllerState; }; -struct wow64_IVRSystem_IVRSystem_010_GetControllerState_params +struct wow64_IVRSystem_IVRSystem_011_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -51247,7 +52681,7 @@ struct wow64_IVRSystem_IVRSystem_010_GetControllerState_params W32_PTR(w32_VRControllerState001_t *pControllerState, pControllerState, w32_VRControllerState001_t *); }; -struct IVRSystem_IVRSystem_010_GetControllerStateWithPose_params +struct IVRSystem_IVRSystem_011_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -51257,7 +52691,7 @@ struct IVRSystem_IVRSystem_010_GetControllerStateWithPose_params TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_010_GetControllerStateWithPose_params +struct wow64_IVRSystem_IVRSystem_011_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -51267,7 +52701,7 @@ struct wow64_IVRSystem_IVRSystem_010_GetControllerStateWithPose_params W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_010_TriggerHapticPulse_params +struct IVRSystem_IVRSystem_011_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -51275,7 +52709,7 @@ struct IVRSystem_IVRSystem_010_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct wow64_IVRSystem_IVRSystem_010_TriggerHapticPulse_params +struct wow64_IVRSystem_IVRSystem_011_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -51283,69 +52717,69 @@ struct wow64_IVRSystem_IVRSystem_010_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct IVRSystem_IVRSystem_010_GetButtonIdNameFromEnum_params +struct IVRSystem_IVRSystem_011_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct wow64_IVRSystem_IVRSystem_010_GetButtonIdNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_011_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct IVRSystem_IVRSystem_010_GetControllerAxisTypeNameFromEnum_params +struct IVRSystem_IVRSystem_011_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct wow64_IVRSystem_IVRSystem_010_GetControllerAxisTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_011_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct IVRSystem_IVRSystem_010_CaptureInputFocus_params +struct IVRSystem_IVRSystem_011_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_010_CaptureInputFocus_params +struct wow64_IVRSystem_IVRSystem_011_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_010_ReleaseInputFocus_params +struct IVRSystem_IVRSystem_011_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_010_ReleaseInputFocus_params +struct wow64_IVRSystem_IVRSystem_011_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_010_IsInputFocusCapturedByAnotherProcess_params +struct IVRSystem_IVRSystem_011_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_010_IsInputFocusCapturedByAnotherProcess_params +struct wow64_IVRSystem_IVRSystem_011_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_010_DriverDebugRequest_params +struct IVRSystem_IVRSystem_011_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -51355,7 +52789,7 @@ struct IVRSystem_IVRSystem_010_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct wow64_IVRSystem_IVRSystem_010_DriverDebugRequest_params +struct wow64_IVRSystem_IVRSystem_011_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -51365,79 +52799,79 @@ struct wow64_IVRSystem_IVRSystem_010_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct IVRSystem_IVRSystem_010_PerformFirmwareUpdate_params +struct IVRSystem_IVRSystem_011_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_010_PerformFirmwareUpdate_params +struct wow64_IVRSystem_IVRSystem_011_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_010_AcknowledgeQuit_Exiting_params +struct IVRSystem_IVRSystem_011_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_010_AcknowledgeQuit_Exiting_params +struct wow64_IVRSystem_IVRSystem_011_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_010_AcknowledgeQuit_UserPrompt_params +struct IVRSystem_IVRSystem_011_AcknowledgeQuit_UserPrompt_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_010_AcknowledgeQuit_UserPrompt_params +struct wow64_IVRSystem_IVRSystem_011_AcknowledgeQuit_UserPrompt_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_010_PerformanceTestEnableCapture_params +struct IVRSystem_IVRSystem_011_PerformanceTestEnableCapture_params { struct u_iface u_iface; int8_t bEnable; }; -struct wow64_IVRSystem_IVRSystem_010_PerformanceTestEnableCapture_params +struct wow64_IVRSystem_IVRSystem_011_PerformanceTestEnableCapture_params { struct u_iface u_iface; int8_t bEnable; }; -struct IVRSystem_IVRSystem_010_PerformanceTestReportFidelityLevelChange_params +struct IVRSystem_IVRSystem_011_PerformanceTestReportFidelityLevelChange_params { struct u_iface u_iface; int32_t nFidelityLevel; }; -struct wow64_IVRSystem_IVRSystem_010_PerformanceTestReportFidelityLevelChange_params +struct wow64_IVRSystem_IVRSystem_011_PerformanceTestReportFidelityLevelChange_params { struct u_iface u_iface; int32_t nFidelityLevel; }; -struct IVRSystem_IVRSystem_011_GetRecommendedRenderTargetSize_params +struct IVRSystem_IVRSystem_012_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; uint32_t *pnWidth; uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_011_GetRecommendedRenderTargetSize_params +struct wow64_IVRSystem_IVRSystem_012_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_011_GetProjectionMatrix_params +struct IVRSystem_IVRSystem_012_GetProjectionMatrix_params { struct u_iface u_iface; HmdMatrix44_t *_ret; @@ -51447,7 +52881,7 @@ struct IVRSystem_IVRSystem_011_GetProjectionMatrix_params uint32_t eProjType; }; -struct wow64_IVRSystem_IVRSystem_011_GetProjectionMatrix_params +struct wow64_IVRSystem_IVRSystem_012_GetProjectionMatrix_params { struct u_iface u_iface; W32_PTR(HmdMatrix44_t *_ret, _ret, HmdMatrix44_t *); @@ -51457,7 +52891,7 @@ struct wow64_IVRSystem_IVRSystem_011_GetProjectionMatrix_params uint32_t eProjType; }; -struct IVRSystem_IVRSystem_011_GetProjectionRaw_params +struct IVRSystem_IVRSystem_012_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -51467,7 +52901,7 @@ struct IVRSystem_IVRSystem_011_GetProjectionRaw_params float *pfBottom; }; -struct wow64_IVRSystem_IVRSystem_011_GetProjectionRaw_params +struct wow64_IVRSystem_IVRSystem_012_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -51477,7 +52911,7 @@ struct wow64_IVRSystem_IVRSystem_011_GetProjectionRaw_params W32_PTR(float *pfBottom, pfBottom, float *); }; -struct IVRSystem_IVRSystem_011_ComputeDistortion_params +struct IVRSystem_IVRSystem_012_ComputeDistortion_params { struct u_iface u_iface; DistortionCoordinates_t *_ret; @@ -51486,7 +52920,7 @@ struct IVRSystem_IVRSystem_011_ComputeDistortion_params float fV; }; -struct wow64_IVRSystem_IVRSystem_011_ComputeDistortion_params +struct wow64_IVRSystem_IVRSystem_012_ComputeDistortion_params { struct u_iface u_iface; W32_PTR(DistortionCoordinates_t *_ret, _ret, DistortionCoordinates_t *); @@ -51495,21 +52929,21 @@ struct wow64_IVRSystem_IVRSystem_011_ComputeDistortion_params float fV; }; -struct IVRSystem_IVRSystem_011_GetEyeToHeadTransform_params +struct IVRSystem_IVRSystem_012_GetEyeToHeadTransform_params { struct u_iface u_iface; HmdMatrix34_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_011_GetEyeToHeadTransform_params +struct wow64_IVRSystem_IVRSystem_012_GetEyeToHeadTransform_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_011_GetTimeSinceLastVsync_params +struct IVRSystem_IVRSystem_012_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -51517,7 +52951,7 @@ struct IVRSystem_IVRSystem_011_GetTimeSinceLastVsync_params uint64_t *pulFrameCounter; }; -struct wow64_IVRSystem_IVRSystem_011_GetTimeSinceLastVsync_params +struct wow64_IVRSystem_IVRSystem_012_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -51525,57 +52959,57 @@ struct wow64_IVRSystem_IVRSystem_011_GetTimeSinceLastVsync_params W32_PTR(uint64_t *pulFrameCounter, pulFrameCounter, uint64_t *); }; -struct IVRSystem_IVRSystem_011_GetD3D9AdapterIndex_params +struct IVRSystem_IVRSystem_012_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct wow64_IVRSystem_IVRSystem_011_GetD3D9AdapterIndex_params +struct wow64_IVRSystem_IVRSystem_012_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct IVRSystem_IVRSystem_011_GetDXGIOutputInfo_params +struct IVRSystem_IVRSystem_012_GetDXGIOutputInfo_params { struct u_iface u_iface; int32_t *pnAdapterIndex; }; -struct wow64_IVRSystem_IVRSystem_011_GetDXGIOutputInfo_params +struct wow64_IVRSystem_IVRSystem_012_GetDXGIOutputInfo_params { struct u_iface u_iface; W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); }; -struct IVRSystem_IVRSystem_011_IsDisplayOnDesktop_params +struct IVRSystem_IVRSystem_012_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_011_IsDisplayOnDesktop_params +struct wow64_IVRSystem_IVRSystem_012_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_011_SetDisplayVisibility_params +struct IVRSystem_IVRSystem_012_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct wow64_IVRSystem_IVRSystem_011_SetDisplayVisibility_params +struct wow64_IVRSystem_IVRSystem_012_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct IVRSystem_IVRSystem_011_GetDeviceToAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_012_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -51584,7 +53018,7 @@ struct IVRSystem_IVRSystem_011_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct wow64_IVRSystem_IVRSystem_011_GetDeviceToAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_012_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -51593,41 +53027,41 @@ struct wow64_IVRSystem_IVRSystem_011_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct IVRSystem_IVRSystem_011_ResetSeatedZeroPose_params +struct IVRSystem_IVRSystem_012_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_011_ResetSeatedZeroPose_params +struct wow64_IVRSystem_IVRSystem_012_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_011_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_012_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_011_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_012_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_011_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_012_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_011_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_012_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_011_GetSortedTrackedDeviceIndicesOfClass_params +struct IVRSystem_IVRSystem_012_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -51637,7 +53071,7 @@ struct IVRSystem_IVRSystem_011_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_011_GetSortedTrackedDeviceIndicesOfClass_params +struct wow64_IVRSystem_IVRSystem_012_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -51647,21 +53081,21 @@ struct wow64_IVRSystem_IVRSystem_011_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct IVRSystem_IVRSystem_011_GetTrackedDeviceActivityLevel_params +struct IVRSystem_IVRSystem_012_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct wow64_IVRSystem_IVRSystem_011_GetTrackedDeviceActivityLevel_params +struct wow64_IVRSystem_IVRSystem_012_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct IVRSystem_IVRSystem_011_ApplyTransform_params +struct IVRSystem_IVRSystem_012_ApplyTransform_params { struct u_iface u_iface; TrackedDevicePose_t *pOutputPose; @@ -51669,7 +53103,7 @@ struct IVRSystem_IVRSystem_011_ApplyTransform_params const HmdMatrix34_t *pTransform; }; -struct wow64_IVRSystem_IVRSystem_011_ApplyTransform_params +struct wow64_IVRSystem_IVRSystem_012_ApplyTransform_params { struct u_iface u_iface; W32_PTR(TrackedDevicePose_t *pOutputPose, pOutputPose, TrackedDevicePose_t *); @@ -51677,63 +53111,63 @@ struct wow64_IVRSystem_IVRSystem_011_ApplyTransform_params W32_PTR(const HmdMatrix34_t *pTransform, pTransform, const HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_011_GetTrackedDeviceIndexForControllerRole_params +struct IVRSystem_IVRSystem_012_GetTrackedDeviceIndexForControllerRole_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceType; }; -struct wow64_IVRSystem_IVRSystem_011_GetTrackedDeviceIndexForControllerRole_params +struct wow64_IVRSystem_IVRSystem_012_GetTrackedDeviceIndexForControllerRole_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceType; }; -struct IVRSystem_IVRSystem_011_GetControllerRoleForTrackedDeviceIndex_params +struct IVRSystem_IVRSystem_012_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_011_GetControllerRoleForTrackedDeviceIndex_params +struct wow64_IVRSystem_IVRSystem_012_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_011_GetTrackedDeviceClass_params +struct IVRSystem_IVRSystem_012_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_011_GetTrackedDeviceClass_params +struct wow64_IVRSystem_IVRSystem_012_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_011_IsTrackedDeviceConnected_params +struct IVRSystem_IVRSystem_012_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_011_IsTrackedDeviceConnected_params +struct wow64_IVRSystem_IVRSystem_012_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_011_GetBoolTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_012_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -51742,7 +53176,7 @@ struct IVRSystem_IVRSystem_011_GetBoolTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_011_GetBoolTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_012_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -51751,7 +53185,7 @@ struct wow64_IVRSystem_IVRSystem_011_GetBoolTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_011_GetFloatTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_012_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -51760,7 +53194,7 @@ struct IVRSystem_IVRSystem_011_GetFloatTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_011_GetFloatTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_012_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -51769,7 +53203,7 @@ struct wow64_IVRSystem_IVRSystem_011_GetFloatTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_011_GetInt32TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_012_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -51778,7 +53212,7 @@ struct IVRSystem_IVRSystem_011_GetInt32TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_011_GetInt32TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_012_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -51787,7 +53221,7 @@ struct wow64_IVRSystem_IVRSystem_011_GetInt32TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_011_GetUint64TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_012_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -51796,7 +53230,7 @@ struct IVRSystem_IVRSystem_011_GetUint64TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_011_GetUint64TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_012_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -51805,7 +53239,7 @@ struct wow64_IVRSystem_IVRSystem_011_GetUint64TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_011_GetMatrix34TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_012_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; HmdMatrix34_t *_ret; @@ -51814,7 +53248,7 @@ struct IVRSystem_IVRSystem_011_GetMatrix34TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_011_GetMatrix34TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_012_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); @@ -51823,7 +53257,7 @@ struct wow64_IVRSystem_IVRSystem_011_GetMatrix34TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_011_GetStringTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_012_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -51834,7 +53268,7 @@ struct IVRSystem_IVRSystem_011_GetStringTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_011_GetStringTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_012_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -51845,85 +53279,85 @@ struct wow64_IVRSystem_IVRSystem_011_GetStringTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_011_GetPropErrorNameFromEnum_params +struct IVRSystem_IVRSystem_012_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVRSystem_IVRSystem_011_GetPropErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_012_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVRSystem_IVRSystem_011_PollNextEvent_params +struct IVRSystem_IVRSystem_012_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - w_VREvent_t_0918 *pEvent; + w_VREvent_t_103 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVRSystem_IVRSystem_011_PollNextEvent_params +struct wow64_IVRSystem_IVRSystem_012_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - W32_PTR(w32_VREvent_t_0918 *pEvent, pEvent, w32_VREvent_t_0918 *); + W32_PTR(w32_VREvent_t_103 *pEvent, pEvent, w32_VREvent_t_103 *); uint32_t uncbVREvent; }; -struct IVRSystem_IVRSystem_011_PollNextEventWithPose_params +struct IVRSystem_IVRSystem_012_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - w_VREvent_t_0918 *pEvent; + w_VREvent_t_103 *pEvent; uint32_t uncbVREvent; TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_011_PollNextEventWithPose_params +struct wow64_IVRSystem_IVRSystem_012_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - W32_PTR(w32_VREvent_t_0918 *pEvent, pEvent, w32_VREvent_t_0918 *); + W32_PTR(w32_VREvent_t_103 *pEvent, pEvent, w32_VREvent_t_103 *); uint32_t uncbVREvent; W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_011_GetEventTypeNameFromEnum_params +struct IVRSystem_IVRSystem_012_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct wow64_IVRSystem_IVRSystem_011_GetEventTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_012_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct IVRSystem_IVRSystem_011_GetHiddenAreaMesh_params +struct IVRSystem_IVRSystem_012_GetHiddenAreaMesh_params { struct u_iface u_iface; w_HiddenAreaMesh_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_011_GetHiddenAreaMesh_params +struct wow64_IVRSystem_IVRSystem_012_GetHiddenAreaMesh_params { struct u_iface u_iface; W32_PTR(w32_HiddenAreaMesh_t *_ret, _ret, w32_HiddenAreaMesh_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_011_GetControllerState_params +struct IVRSystem_IVRSystem_012_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -51931,7 +53365,7 @@ struct IVRSystem_IVRSystem_011_GetControllerState_params w_VRControllerState001_t *pControllerState; }; -struct wow64_IVRSystem_IVRSystem_011_GetControllerState_params +struct wow64_IVRSystem_IVRSystem_012_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -51939,7 +53373,7 @@ struct wow64_IVRSystem_IVRSystem_011_GetControllerState_params W32_PTR(w32_VRControllerState001_t *pControllerState, pControllerState, w32_VRControllerState001_t *); }; -struct IVRSystem_IVRSystem_011_GetControllerStateWithPose_params +struct IVRSystem_IVRSystem_012_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -51949,7 +53383,7 @@ struct IVRSystem_IVRSystem_011_GetControllerStateWithPose_params TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_011_GetControllerStateWithPose_params +struct wow64_IVRSystem_IVRSystem_012_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -51959,7 +53393,7 @@ struct wow64_IVRSystem_IVRSystem_011_GetControllerStateWithPose_params W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_011_TriggerHapticPulse_params +struct IVRSystem_IVRSystem_012_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -51967,7 +53401,7 @@ struct IVRSystem_IVRSystem_011_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct wow64_IVRSystem_IVRSystem_011_TriggerHapticPulse_params +struct wow64_IVRSystem_IVRSystem_012_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -51975,69 +53409,69 @@ struct wow64_IVRSystem_IVRSystem_011_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct IVRSystem_IVRSystem_011_GetButtonIdNameFromEnum_params +struct IVRSystem_IVRSystem_012_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct wow64_IVRSystem_IVRSystem_011_GetButtonIdNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_012_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct IVRSystem_IVRSystem_011_GetControllerAxisTypeNameFromEnum_params +struct IVRSystem_IVRSystem_012_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct wow64_IVRSystem_IVRSystem_011_GetControllerAxisTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_012_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct IVRSystem_IVRSystem_011_CaptureInputFocus_params +struct IVRSystem_IVRSystem_012_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_011_CaptureInputFocus_params +struct wow64_IVRSystem_IVRSystem_012_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_011_ReleaseInputFocus_params +struct IVRSystem_IVRSystem_012_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_011_ReleaseInputFocus_params +struct wow64_IVRSystem_IVRSystem_012_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_011_IsInputFocusCapturedByAnotherProcess_params +struct IVRSystem_IVRSystem_012_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_011_IsInputFocusCapturedByAnotherProcess_params +struct wow64_IVRSystem_IVRSystem_012_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_011_DriverDebugRequest_params +struct IVRSystem_IVRSystem_012_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -52047,7 +53481,7 @@ struct IVRSystem_IVRSystem_011_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct wow64_IVRSystem_IVRSystem_011_DriverDebugRequest_params +struct wow64_IVRSystem_IVRSystem_012_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -52057,79 +53491,55 @@ struct wow64_IVRSystem_IVRSystem_011_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct IVRSystem_IVRSystem_011_PerformFirmwareUpdate_params +struct IVRSystem_IVRSystem_012_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_011_PerformFirmwareUpdate_params +struct wow64_IVRSystem_IVRSystem_012_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_011_AcknowledgeQuit_Exiting_params -{ - struct u_iface u_iface; -}; - -struct wow64_IVRSystem_IVRSystem_011_AcknowledgeQuit_Exiting_params -{ - struct u_iface u_iface; -}; - -struct IVRSystem_IVRSystem_011_AcknowledgeQuit_UserPrompt_params -{ - struct u_iface u_iface; -}; - -struct wow64_IVRSystem_IVRSystem_011_AcknowledgeQuit_UserPrompt_params -{ - struct u_iface u_iface; -}; - -struct IVRSystem_IVRSystem_011_PerformanceTestEnableCapture_params +struct IVRSystem_IVRSystem_012_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; - int8_t bEnable; }; -struct wow64_IVRSystem_IVRSystem_011_PerformanceTestEnableCapture_params +struct wow64_IVRSystem_IVRSystem_012_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; - int8_t bEnable; }; -struct IVRSystem_IVRSystem_011_PerformanceTestReportFidelityLevelChange_params +struct IVRSystem_IVRSystem_012_AcknowledgeQuit_UserPrompt_params { struct u_iface u_iface; - int32_t nFidelityLevel; }; -struct wow64_IVRSystem_IVRSystem_011_PerformanceTestReportFidelityLevelChange_params +struct wow64_IVRSystem_IVRSystem_012_AcknowledgeQuit_UserPrompt_params { struct u_iface u_iface; - int32_t nFidelityLevel; }; -struct IVRSystem_IVRSystem_012_GetRecommendedRenderTargetSize_params +struct IVRSystem_IVRSystem_014_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; uint32_t *pnWidth; uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_012_GetRecommendedRenderTargetSize_params +struct wow64_IVRSystem_IVRSystem_014_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_012_GetProjectionMatrix_params +struct IVRSystem_IVRSystem_014_GetProjectionMatrix_params { struct u_iface u_iface; HmdMatrix44_t *_ret; @@ -52139,7 +53549,7 @@ struct IVRSystem_IVRSystem_012_GetProjectionMatrix_params uint32_t eProjType; }; -struct wow64_IVRSystem_IVRSystem_012_GetProjectionMatrix_params +struct wow64_IVRSystem_IVRSystem_014_GetProjectionMatrix_params { struct u_iface u_iface; W32_PTR(HmdMatrix44_t *_ret, _ret, HmdMatrix44_t *); @@ -52149,7 +53559,7 @@ struct wow64_IVRSystem_IVRSystem_012_GetProjectionMatrix_params uint32_t eProjType; }; -struct IVRSystem_IVRSystem_012_GetProjectionRaw_params +struct IVRSystem_IVRSystem_014_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -52159,7 +53569,7 @@ struct IVRSystem_IVRSystem_012_GetProjectionRaw_params float *pfBottom; }; -struct wow64_IVRSystem_IVRSystem_012_GetProjectionRaw_params +struct wow64_IVRSystem_IVRSystem_014_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -52169,39 +53579,41 @@ struct wow64_IVRSystem_IVRSystem_012_GetProjectionRaw_params W32_PTR(float *pfBottom, pfBottom, float *); }; -struct IVRSystem_IVRSystem_012_ComputeDistortion_params +struct IVRSystem_IVRSystem_014_ComputeDistortion_params { struct u_iface u_iface; - DistortionCoordinates_t *_ret; + int8_t _ret; uint32_t eEye; float fU; float fV; + DistortionCoordinates_t *pDistortionCoordinates; }; -struct wow64_IVRSystem_IVRSystem_012_ComputeDistortion_params +struct wow64_IVRSystem_IVRSystem_014_ComputeDistortion_params { struct u_iface u_iface; - W32_PTR(DistortionCoordinates_t *_ret, _ret, DistortionCoordinates_t *); + int8_t _ret; uint32_t eEye; float fU; float fV; + W32_PTR(DistortionCoordinates_t *pDistortionCoordinates, pDistortionCoordinates, DistortionCoordinates_t *); }; -struct IVRSystem_IVRSystem_012_GetEyeToHeadTransform_params +struct IVRSystem_IVRSystem_014_GetEyeToHeadTransform_params { struct u_iface u_iface; HmdMatrix34_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_012_GetEyeToHeadTransform_params +struct wow64_IVRSystem_IVRSystem_014_GetEyeToHeadTransform_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_012_GetTimeSinceLastVsync_params +struct IVRSystem_IVRSystem_014_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -52209,7 +53621,7 @@ struct IVRSystem_IVRSystem_012_GetTimeSinceLastVsync_params uint64_t *pulFrameCounter; }; -struct wow64_IVRSystem_IVRSystem_012_GetTimeSinceLastVsync_params +struct wow64_IVRSystem_IVRSystem_014_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -52217,57 +53629,57 @@ struct wow64_IVRSystem_IVRSystem_012_GetTimeSinceLastVsync_params W32_PTR(uint64_t *pulFrameCounter, pulFrameCounter, uint64_t *); }; -struct IVRSystem_IVRSystem_012_GetD3D9AdapterIndex_params +struct IVRSystem_IVRSystem_014_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct wow64_IVRSystem_IVRSystem_012_GetD3D9AdapterIndex_params +struct wow64_IVRSystem_IVRSystem_014_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct IVRSystem_IVRSystem_012_GetDXGIOutputInfo_params +struct IVRSystem_IVRSystem_014_GetDXGIOutputInfo_params { struct u_iface u_iface; int32_t *pnAdapterIndex; }; -struct wow64_IVRSystem_IVRSystem_012_GetDXGIOutputInfo_params +struct wow64_IVRSystem_IVRSystem_014_GetDXGIOutputInfo_params { struct u_iface u_iface; W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); }; -struct IVRSystem_IVRSystem_012_IsDisplayOnDesktop_params +struct IVRSystem_IVRSystem_014_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_012_IsDisplayOnDesktop_params +struct wow64_IVRSystem_IVRSystem_014_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_012_SetDisplayVisibility_params +struct IVRSystem_IVRSystem_014_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct wow64_IVRSystem_IVRSystem_012_SetDisplayVisibility_params +struct wow64_IVRSystem_IVRSystem_014_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct IVRSystem_IVRSystem_012_GetDeviceToAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_014_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -52276,7 +53688,7 @@ struct IVRSystem_IVRSystem_012_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct wow64_IVRSystem_IVRSystem_012_GetDeviceToAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_014_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -52285,41 +53697,41 @@ struct wow64_IVRSystem_IVRSystem_012_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct IVRSystem_IVRSystem_012_ResetSeatedZeroPose_params +struct IVRSystem_IVRSystem_014_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_012_ResetSeatedZeroPose_params +struct wow64_IVRSystem_IVRSystem_014_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_012_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_014_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_012_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_014_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_012_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_014_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_012_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_014_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_012_GetSortedTrackedDeviceIndicesOfClass_params +struct IVRSystem_IVRSystem_014_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -52329,7 +53741,7 @@ struct IVRSystem_IVRSystem_012_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_012_GetSortedTrackedDeviceIndicesOfClass_params +struct wow64_IVRSystem_IVRSystem_014_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -52339,21 +53751,21 @@ struct wow64_IVRSystem_IVRSystem_012_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct IVRSystem_IVRSystem_012_GetTrackedDeviceActivityLevel_params +struct IVRSystem_IVRSystem_014_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct wow64_IVRSystem_IVRSystem_012_GetTrackedDeviceActivityLevel_params +struct wow64_IVRSystem_IVRSystem_014_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct IVRSystem_IVRSystem_012_ApplyTransform_params +struct IVRSystem_IVRSystem_014_ApplyTransform_params { struct u_iface u_iface; TrackedDevicePose_t *pOutputPose; @@ -52361,7 +53773,7 @@ struct IVRSystem_IVRSystem_012_ApplyTransform_params const HmdMatrix34_t *pTransform; }; -struct wow64_IVRSystem_IVRSystem_012_ApplyTransform_params +struct wow64_IVRSystem_IVRSystem_014_ApplyTransform_params { struct u_iface u_iface; W32_PTR(TrackedDevicePose_t *pOutputPose, pOutputPose, TrackedDevicePose_t *); @@ -52369,63 +53781,63 @@ struct wow64_IVRSystem_IVRSystem_012_ApplyTransform_params W32_PTR(const HmdMatrix34_t *pTransform, pTransform, const HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_012_GetTrackedDeviceIndexForControllerRole_params +struct IVRSystem_IVRSystem_014_GetTrackedDeviceIndexForControllerRole_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceType; }; -struct wow64_IVRSystem_IVRSystem_012_GetTrackedDeviceIndexForControllerRole_params +struct wow64_IVRSystem_IVRSystem_014_GetTrackedDeviceIndexForControllerRole_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceType; }; -struct IVRSystem_IVRSystem_012_GetControllerRoleForTrackedDeviceIndex_params +struct IVRSystem_IVRSystem_014_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_012_GetControllerRoleForTrackedDeviceIndex_params +struct wow64_IVRSystem_IVRSystem_014_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_012_GetTrackedDeviceClass_params +struct IVRSystem_IVRSystem_014_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_012_GetTrackedDeviceClass_params +struct wow64_IVRSystem_IVRSystem_014_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_012_IsTrackedDeviceConnected_params +struct IVRSystem_IVRSystem_014_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_012_IsTrackedDeviceConnected_params +struct wow64_IVRSystem_IVRSystem_014_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_012_GetBoolTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_014_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -52434,7 +53846,7 @@ struct IVRSystem_IVRSystem_012_GetBoolTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_012_GetBoolTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_014_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -52443,7 +53855,7 @@ struct wow64_IVRSystem_IVRSystem_012_GetBoolTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_012_GetFloatTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_014_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -52452,7 +53864,7 @@ struct IVRSystem_IVRSystem_012_GetFloatTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_012_GetFloatTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_014_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -52461,7 +53873,7 @@ struct wow64_IVRSystem_IVRSystem_012_GetFloatTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_012_GetInt32TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_014_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -52470,7 +53882,7 @@ struct IVRSystem_IVRSystem_012_GetInt32TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_012_GetInt32TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_014_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -52479,7 +53891,7 @@ struct wow64_IVRSystem_IVRSystem_012_GetInt32TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_012_GetUint64TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_014_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -52488,7 +53900,7 @@ struct IVRSystem_IVRSystem_012_GetUint64TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_012_GetUint64TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_014_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -52497,7 +53909,7 @@ struct wow64_IVRSystem_IVRSystem_012_GetUint64TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_012_GetMatrix34TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_014_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; HmdMatrix34_t *_ret; @@ -52506,7 +53918,7 @@ struct IVRSystem_IVRSystem_012_GetMatrix34TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_012_GetMatrix34TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_014_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); @@ -52515,7 +53927,7 @@ struct wow64_IVRSystem_IVRSystem_012_GetMatrix34TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_012_GetStringTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_014_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -52526,7 +53938,7 @@ struct IVRSystem_IVRSystem_012_GetStringTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_012_GetStringTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_014_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -52537,21 +53949,21 @@ struct wow64_IVRSystem_IVRSystem_012_GetStringTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_012_GetPropErrorNameFromEnum_params +struct IVRSystem_IVRSystem_014_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVRSystem_IVRSystem_012_GetPropErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_014_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVRSystem_IVRSystem_012_PollNextEvent_params +struct IVRSystem_IVRSystem_014_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; @@ -52559,7 +53971,7 @@ struct IVRSystem_IVRSystem_012_PollNextEvent_params uint32_t uncbVREvent; }; -struct wow64_IVRSystem_IVRSystem_012_PollNextEvent_params +struct wow64_IVRSystem_IVRSystem_014_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; @@ -52567,7 +53979,7 @@ struct wow64_IVRSystem_IVRSystem_012_PollNextEvent_params uint32_t uncbVREvent; }; -struct IVRSystem_IVRSystem_012_PollNextEventWithPose_params +struct IVRSystem_IVRSystem_014_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -52577,7 +53989,7 @@ struct IVRSystem_IVRSystem_012_PollNextEventWithPose_params TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_012_PollNextEventWithPose_params +struct wow64_IVRSystem_IVRSystem_014_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -52587,71 +53999,77 @@ struct wow64_IVRSystem_IVRSystem_012_PollNextEventWithPose_params W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_012_GetEventTypeNameFromEnum_params +struct IVRSystem_IVRSystem_014_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct wow64_IVRSystem_IVRSystem_012_GetEventTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_014_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct IVRSystem_IVRSystem_012_GetHiddenAreaMesh_params +struct IVRSystem_IVRSystem_014_GetHiddenAreaMesh_params { struct u_iface u_iface; w_HiddenAreaMesh_t *_ret; uint32_t eEye; + uint32_t type; }; -struct wow64_IVRSystem_IVRSystem_012_GetHiddenAreaMesh_params +struct wow64_IVRSystem_IVRSystem_014_GetHiddenAreaMesh_params { struct u_iface u_iface; W32_PTR(w32_HiddenAreaMesh_t *_ret, _ret, w32_HiddenAreaMesh_t *); uint32_t eEye; + uint32_t type; }; -struct IVRSystem_IVRSystem_012_GetControllerState_params +struct IVRSystem_IVRSystem_014_GetControllerState_params { struct u_iface u_iface; int8_t _ret; uint32_t unControllerDeviceIndex; w_VRControllerState001_t *pControllerState; + uint32_t unControllerStateSize; }; -struct wow64_IVRSystem_IVRSystem_012_GetControllerState_params +struct wow64_IVRSystem_IVRSystem_014_GetControllerState_params { struct u_iface u_iface; int8_t _ret; uint32_t unControllerDeviceIndex; W32_PTR(w32_VRControllerState001_t *pControllerState, pControllerState, w32_VRControllerState001_t *); + uint32_t unControllerStateSize; }; -struct IVRSystem_IVRSystem_012_GetControllerStateWithPose_params +struct IVRSystem_IVRSystem_014_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; uint32_t unControllerDeviceIndex; w_VRControllerState001_t *pControllerState; + uint32_t unControllerStateSize; TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_012_GetControllerStateWithPose_params +struct wow64_IVRSystem_IVRSystem_014_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; uint32_t unControllerDeviceIndex; W32_PTR(w32_VRControllerState001_t *pControllerState, pControllerState, w32_VRControllerState001_t *); + uint32_t unControllerStateSize; W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_012_TriggerHapticPulse_params +struct IVRSystem_IVRSystem_014_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -52659,7 +54077,7 @@ struct IVRSystem_IVRSystem_012_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct wow64_IVRSystem_IVRSystem_012_TriggerHapticPulse_params +struct wow64_IVRSystem_IVRSystem_014_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -52667,69 +54085,69 @@ struct wow64_IVRSystem_IVRSystem_012_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct IVRSystem_IVRSystem_012_GetButtonIdNameFromEnum_params +struct IVRSystem_IVRSystem_014_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct wow64_IVRSystem_IVRSystem_012_GetButtonIdNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_014_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct IVRSystem_IVRSystem_012_GetControllerAxisTypeNameFromEnum_params +struct IVRSystem_IVRSystem_014_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct wow64_IVRSystem_IVRSystem_012_GetControllerAxisTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_014_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct IVRSystem_IVRSystem_012_CaptureInputFocus_params +struct IVRSystem_IVRSystem_014_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_012_CaptureInputFocus_params +struct wow64_IVRSystem_IVRSystem_014_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_012_ReleaseInputFocus_params +struct IVRSystem_IVRSystem_014_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_012_ReleaseInputFocus_params +struct wow64_IVRSystem_IVRSystem_014_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_012_IsInputFocusCapturedByAnotherProcess_params +struct IVRSystem_IVRSystem_014_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_012_IsInputFocusCapturedByAnotherProcess_params +struct wow64_IVRSystem_IVRSystem_014_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_012_DriverDebugRequest_params +struct IVRSystem_IVRSystem_014_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -52739,7 +54157,7 @@ struct IVRSystem_IVRSystem_012_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct wow64_IVRSystem_IVRSystem_012_DriverDebugRequest_params +struct wow64_IVRSystem_IVRSystem_014_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -52749,75 +54167,73 @@ struct wow64_IVRSystem_IVRSystem_012_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct IVRSystem_IVRSystem_012_PerformFirmwareUpdate_params +struct IVRSystem_IVRSystem_014_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_012_PerformFirmwareUpdate_params +struct wow64_IVRSystem_IVRSystem_014_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_012_AcknowledgeQuit_Exiting_params +struct IVRSystem_IVRSystem_014_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_012_AcknowledgeQuit_Exiting_params +struct wow64_IVRSystem_IVRSystem_014_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_012_AcknowledgeQuit_UserPrompt_params +struct IVRSystem_IVRSystem_014_AcknowledgeQuit_UserPrompt_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_012_AcknowledgeQuit_UserPrompt_params +struct wow64_IVRSystem_IVRSystem_014_AcknowledgeQuit_UserPrompt_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_014_GetRecommendedRenderTargetSize_params +struct IVRSystem_IVRSystem_015_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; uint32_t *pnWidth; uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_014_GetRecommendedRenderTargetSize_params +struct wow64_IVRSystem_IVRSystem_015_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_014_GetProjectionMatrix_params +struct IVRSystem_IVRSystem_015_GetProjectionMatrix_params { struct u_iface u_iface; HmdMatrix44_t *_ret; uint32_t eEye; float fNearZ; float fFarZ; - uint32_t eProjType; }; -struct wow64_IVRSystem_IVRSystem_014_GetProjectionMatrix_params +struct wow64_IVRSystem_IVRSystem_015_GetProjectionMatrix_params { struct u_iface u_iface; W32_PTR(HmdMatrix44_t *_ret, _ret, HmdMatrix44_t *); uint32_t eEye; float fNearZ; float fFarZ; - uint32_t eProjType; }; -struct IVRSystem_IVRSystem_014_GetProjectionRaw_params +struct IVRSystem_IVRSystem_015_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -52827,7 +54243,7 @@ struct IVRSystem_IVRSystem_014_GetProjectionRaw_params float *pfBottom; }; -struct wow64_IVRSystem_IVRSystem_014_GetProjectionRaw_params +struct wow64_IVRSystem_IVRSystem_015_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -52837,7 +54253,7 @@ struct wow64_IVRSystem_IVRSystem_014_GetProjectionRaw_params W32_PTR(float *pfBottom, pfBottom, float *); }; -struct IVRSystem_IVRSystem_014_ComputeDistortion_params +struct IVRSystem_IVRSystem_015_ComputeDistortion_params { struct u_iface u_iface; int8_t _ret; @@ -52847,7 +54263,7 @@ struct IVRSystem_IVRSystem_014_ComputeDistortion_params DistortionCoordinates_t *pDistortionCoordinates; }; -struct wow64_IVRSystem_IVRSystem_014_ComputeDistortion_params +struct wow64_IVRSystem_IVRSystem_015_ComputeDistortion_params { struct u_iface u_iface; int8_t _ret; @@ -52857,21 +54273,21 @@ struct wow64_IVRSystem_IVRSystem_014_ComputeDistortion_params W32_PTR(DistortionCoordinates_t *pDistortionCoordinates, pDistortionCoordinates, DistortionCoordinates_t *); }; -struct IVRSystem_IVRSystem_014_GetEyeToHeadTransform_params +struct IVRSystem_IVRSystem_015_GetEyeToHeadTransform_params { struct u_iface u_iface; HmdMatrix34_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_014_GetEyeToHeadTransform_params +struct wow64_IVRSystem_IVRSystem_015_GetEyeToHeadTransform_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_014_GetTimeSinceLastVsync_params +struct IVRSystem_IVRSystem_015_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -52879,7 +54295,7 @@ struct IVRSystem_IVRSystem_014_GetTimeSinceLastVsync_params uint64_t *pulFrameCounter; }; -struct wow64_IVRSystem_IVRSystem_014_GetTimeSinceLastVsync_params +struct wow64_IVRSystem_IVRSystem_015_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -52887,57 +54303,57 @@ struct wow64_IVRSystem_IVRSystem_014_GetTimeSinceLastVsync_params W32_PTR(uint64_t *pulFrameCounter, pulFrameCounter, uint64_t *); }; -struct IVRSystem_IVRSystem_014_GetD3D9AdapterIndex_params +struct IVRSystem_IVRSystem_015_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct wow64_IVRSystem_IVRSystem_014_GetD3D9AdapterIndex_params +struct wow64_IVRSystem_IVRSystem_015_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct IVRSystem_IVRSystem_014_GetDXGIOutputInfo_params +struct IVRSystem_IVRSystem_015_GetDXGIOutputInfo_params { struct u_iface u_iface; int32_t *pnAdapterIndex; }; -struct wow64_IVRSystem_IVRSystem_014_GetDXGIOutputInfo_params +struct wow64_IVRSystem_IVRSystem_015_GetDXGIOutputInfo_params { struct u_iface u_iface; W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); }; -struct IVRSystem_IVRSystem_014_IsDisplayOnDesktop_params +struct IVRSystem_IVRSystem_015_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_014_IsDisplayOnDesktop_params +struct wow64_IVRSystem_IVRSystem_015_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_014_SetDisplayVisibility_params +struct IVRSystem_IVRSystem_015_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct wow64_IVRSystem_IVRSystem_014_SetDisplayVisibility_params +struct wow64_IVRSystem_IVRSystem_015_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct IVRSystem_IVRSystem_014_GetDeviceToAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_015_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -52946,7 +54362,7 @@ struct IVRSystem_IVRSystem_014_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct wow64_IVRSystem_IVRSystem_014_GetDeviceToAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_015_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -52955,41 +54371,41 @@ struct wow64_IVRSystem_IVRSystem_014_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct IVRSystem_IVRSystem_014_ResetSeatedZeroPose_params +struct IVRSystem_IVRSystem_015_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_014_ResetSeatedZeroPose_params +struct wow64_IVRSystem_IVRSystem_015_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_014_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_015_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_014_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_015_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_014_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_015_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_014_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_015_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_014_GetSortedTrackedDeviceIndicesOfClass_params +struct IVRSystem_IVRSystem_015_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -52999,7 +54415,7 @@ struct IVRSystem_IVRSystem_014_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_014_GetSortedTrackedDeviceIndicesOfClass_params +struct wow64_IVRSystem_IVRSystem_015_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -53009,21 +54425,21 @@ struct wow64_IVRSystem_IVRSystem_014_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct IVRSystem_IVRSystem_014_GetTrackedDeviceActivityLevel_params +struct IVRSystem_IVRSystem_015_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct wow64_IVRSystem_IVRSystem_014_GetTrackedDeviceActivityLevel_params +struct wow64_IVRSystem_IVRSystem_015_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct IVRSystem_IVRSystem_014_ApplyTransform_params +struct IVRSystem_IVRSystem_015_ApplyTransform_params { struct u_iface u_iface; TrackedDevicePose_t *pOutputPose; @@ -53031,7 +54447,7 @@ struct IVRSystem_IVRSystem_014_ApplyTransform_params const HmdMatrix34_t *pTransform; }; -struct wow64_IVRSystem_IVRSystem_014_ApplyTransform_params +struct wow64_IVRSystem_IVRSystem_015_ApplyTransform_params { struct u_iface u_iface; W32_PTR(TrackedDevicePose_t *pOutputPose, pOutputPose, TrackedDevicePose_t *); @@ -53039,63 +54455,63 @@ struct wow64_IVRSystem_IVRSystem_014_ApplyTransform_params W32_PTR(const HmdMatrix34_t *pTransform, pTransform, const HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_014_GetTrackedDeviceIndexForControllerRole_params +struct IVRSystem_IVRSystem_015_GetTrackedDeviceIndexForControllerRole_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceType; }; -struct wow64_IVRSystem_IVRSystem_014_GetTrackedDeviceIndexForControllerRole_params +struct wow64_IVRSystem_IVRSystem_015_GetTrackedDeviceIndexForControllerRole_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceType; }; -struct IVRSystem_IVRSystem_014_GetControllerRoleForTrackedDeviceIndex_params +struct IVRSystem_IVRSystem_015_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_014_GetControllerRoleForTrackedDeviceIndex_params +struct wow64_IVRSystem_IVRSystem_015_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_014_GetTrackedDeviceClass_params +struct IVRSystem_IVRSystem_015_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_014_GetTrackedDeviceClass_params +struct wow64_IVRSystem_IVRSystem_015_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_014_IsTrackedDeviceConnected_params +struct IVRSystem_IVRSystem_015_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_014_IsTrackedDeviceConnected_params +struct wow64_IVRSystem_IVRSystem_015_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_014_GetBoolTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_015_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -53104,7 +54520,7 @@ struct IVRSystem_IVRSystem_014_GetBoolTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_014_GetBoolTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_015_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -53113,7 +54529,7 @@ struct wow64_IVRSystem_IVRSystem_014_GetBoolTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_014_GetFloatTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_015_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -53122,7 +54538,7 @@ struct IVRSystem_IVRSystem_014_GetFloatTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_014_GetFloatTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_015_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -53131,7 +54547,7 @@ struct wow64_IVRSystem_IVRSystem_014_GetFloatTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_014_GetInt32TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_015_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -53140,7 +54556,7 @@ struct IVRSystem_IVRSystem_014_GetInt32TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_014_GetInt32TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_015_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -53149,7 +54565,7 @@ struct wow64_IVRSystem_IVRSystem_014_GetInt32TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_014_GetUint64TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_015_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -53158,7 +54574,7 @@ struct IVRSystem_IVRSystem_014_GetUint64TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_014_GetUint64TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_015_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -53167,7 +54583,7 @@ struct wow64_IVRSystem_IVRSystem_014_GetUint64TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_014_GetMatrix34TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_015_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; HmdMatrix34_t *_ret; @@ -53176,7 +54592,7 @@ struct IVRSystem_IVRSystem_014_GetMatrix34TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_014_GetMatrix34TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_015_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); @@ -53185,7 +54601,7 @@ struct wow64_IVRSystem_IVRSystem_014_GetMatrix34TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_014_GetStringTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_015_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -53196,7 +54612,7 @@ struct IVRSystem_IVRSystem_014_GetStringTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_014_GetStringTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_015_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -53207,71 +54623,71 @@ struct wow64_IVRSystem_IVRSystem_014_GetStringTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_014_GetPropErrorNameFromEnum_params +struct IVRSystem_IVRSystem_015_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVRSystem_IVRSystem_014_GetPropErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_015_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVRSystem_IVRSystem_014_PollNextEvent_params +struct IVRSystem_IVRSystem_015_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - w_VREvent_t_103 *pEvent; + w_VREvent_t_106 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVRSystem_IVRSystem_014_PollNextEvent_params +struct wow64_IVRSystem_IVRSystem_015_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - W32_PTR(w32_VREvent_t_103 *pEvent, pEvent, w32_VREvent_t_103 *); + W32_PTR(w32_VREvent_t_106 *pEvent, pEvent, w32_VREvent_t_106 *); uint32_t uncbVREvent; }; -struct IVRSystem_IVRSystem_014_PollNextEventWithPose_params +struct IVRSystem_IVRSystem_015_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - w_VREvent_t_103 *pEvent; + w_VREvent_t_106 *pEvent; uint32_t uncbVREvent; TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_014_PollNextEventWithPose_params +struct wow64_IVRSystem_IVRSystem_015_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - W32_PTR(w32_VREvent_t_103 *pEvent, pEvent, w32_VREvent_t_103 *); + W32_PTR(w32_VREvent_t_106 *pEvent, pEvent, w32_VREvent_t_106 *); uint32_t uncbVREvent; W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_014_GetEventTypeNameFromEnum_params +struct IVRSystem_IVRSystem_015_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct wow64_IVRSystem_IVRSystem_014_GetEventTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_015_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct IVRSystem_IVRSystem_014_GetHiddenAreaMesh_params +struct IVRSystem_IVRSystem_015_GetHiddenAreaMesh_params { struct u_iface u_iface; w_HiddenAreaMesh_t *_ret; @@ -53279,7 +54695,7 @@ struct IVRSystem_IVRSystem_014_GetHiddenAreaMesh_params uint32_t type; }; -struct wow64_IVRSystem_IVRSystem_014_GetHiddenAreaMesh_params +struct wow64_IVRSystem_IVRSystem_015_GetHiddenAreaMesh_params { struct u_iface u_iface; W32_PTR(w32_HiddenAreaMesh_t *_ret, _ret, w32_HiddenAreaMesh_t *); @@ -53287,7 +54703,7 @@ struct wow64_IVRSystem_IVRSystem_014_GetHiddenAreaMesh_params uint32_t type; }; -struct IVRSystem_IVRSystem_014_GetControllerState_params +struct IVRSystem_IVRSystem_015_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -53296,7 +54712,7 @@ struct IVRSystem_IVRSystem_014_GetControllerState_params uint32_t unControllerStateSize; }; -struct wow64_IVRSystem_IVRSystem_014_GetControllerState_params +struct wow64_IVRSystem_IVRSystem_015_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -53305,7 +54721,7 @@ struct wow64_IVRSystem_IVRSystem_014_GetControllerState_params uint32_t unControllerStateSize; }; -struct IVRSystem_IVRSystem_014_GetControllerStateWithPose_params +struct IVRSystem_IVRSystem_015_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -53316,7 +54732,7 @@ struct IVRSystem_IVRSystem_014_GetControllerStateWithPose_params TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_014_GetControllerStateWithPose_params +struct wow64_IVRSystem_IVRSystem_015_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -53327,7 +54743,7 @@ struct wow64_IVRSystem_IVRSystem_014_GetControllerStateWithPose_params W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_014_TriggerHapticPulse_params +struct IVRSystem_IVRSystem_015_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -53335,7 +54751,7 @@ struct IVRSystem_IVRSystem_014_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct wow64_IVRSystem_IVRSystem_014_TriggerHapticPulse_params +struct wow64_IVRSystem_IVRSystem_015_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -53343,69 +54759,69 @@ struct wow64_IVRSystem_IVRSystem_014_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct IVRSystem_IVRSystem_014_GetButtonIdNameFromEnum_params +struct IVRSystem_IVRSystem_015_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct wow64_IVRSystem_IVRSystem_014_GetButtonIdNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_015_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct IVRSystem_IVRSystem_014_GetControllerAxisTypeNameFromEnum_params +struct IVRSystem_IVRSystem_015_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct wow64_IVRSystem_IVRSystem_014_GetControllerAxisTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_015_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct IVRSystem_IVRSystem_014_CaptureInputFocus_params +struct IVRSystem_IVRSystem_015_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_014_CaptureInputFocus_params +struct wow64_IVRSystem_IVRSystem_015_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_014_ReleaseInputFocus_params +struct IVRSystem_IVRSystem_015_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_014_ReleaseInputFocus_params +struct wow64_IVRSystem_IVRSystem_015_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_014_IsInputFocusCapturedByAnotherProcess_params +struct IVRSystem_IVRSystem_015_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_014_IsInputFocusCapturedByAnotherProcess_params +struct wow64_IVRSystem_IVRSystem_015_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_014_DriverDebugRequest_params +struct IVRSystem_IVRSystem_015_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -53415,7 +54831,7 @@ struct IVRSystem_IVRSystem_014_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct wow64_IVRSystem_IVRSystem_014_DriverDebugRequest_params +struct wow64_IVRSystem_IVRSystem_015_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -53425,55 +54841,55 @@ struct wow64_IVRSystem_IVRSystem_014_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct IVRSystem_IVRSystem_014_PerformFirmwareUpdate_params +struct IVRSystem_IVRSystem_015_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_014_PerformFirmwareUpdate_params +struct wow64_IVRSystem_IVRSystem_015_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_014_AcknowledgeQuit_Exiting_params +struct IVRSystem_IVRSystem_015_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_014_AcknowledgeQuit_Exiting_params +struct wow64_IVRSystem_IVRSystem_015_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_014_AcknowledgeQuit_UserPrompt_params +struct IVRSystem_IVRSystem_015_AcknowledgeQuit_UserPrompt_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_014_AcknowledgeQuit_UserPrompt_params +struct wow64_IVRSystem_IVRSystem_015_AcknowledgeQuit_UserPrompt_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_015_GetRecommendedRenderTargetSize_params +struct IVRSystem_IVRSystem_016_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; uint32_t *pnWidth; uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_015_GetRecommendedRenderTargetSize_params +struct wow64_IVRSystem_IVRSystem_016_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_015_GetProjectionMatrix_params +struct IVRSystem_IVRSystem_016_GetProjectionMatrix_params { struct u_iface u_iface; HmdMatrix44_t *_ret; @@ -53482,7 +54898,7 @@ struct IVRSystem_IVRSystem_015_GetProjectionMatrix_params float fFarZ; }; -struct wow64_IVRSystem_IVRSystem_015_GetProjectionMatrix_params +struct wow64_IVRSystem_IVRSystem_016_GetProjectionMatrix_params { struct u_iface u_iface; W32_PTR(HmdMatrix44_t *_ret, _ret, HmdMatrix44_t *); @@ -53491,7 +54907,7 @@ struct wow64_IVRSystem_IVRSystem_015_GetProjectionMatrix_params float fFarZ; }; -struct IVRSystem_IVRSystem_015_GetProjectionRaw_params +struct IVRSystem_IVRSystem_016_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -53501,7 +54917,7 @@ struct IVRSystem_IVRSystem_015_GetProjectionRaw_params float *pfBottom; }; -struct wow64_IVRSystem_IVRSystem_015_GetProjectionRaw_params +struct wow64_IVRSystem_IVRSystem_016_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -53511,7 +54927,7 @@ struct wow64_IVRSystem_IVRSystem_015_GetProjectionRaw_params W32_PTR(float *pfBottom, pfBottom, float *); }; -struct IVRSystem_IVRSystem_015_ComputeDistortion_params +struct IVRSystem_IVRSystem_016_ComputeDistortion_params { struct u_iface u_iface; int8_t _ret; @@ -53521,7 +54937,7 @@ struct IVRSystem_IVRSystem_015_ComputeDistortion_params DistortionCoordinates_t *pDistortionCoordinates; }; -struct wow64_IVRSystem_IVRSystem_015_ComputeDistortion_params +struct wow64_IVRSystem_IVRSystem_016_ComputeDistortion_params { struct u_iface u_iface; int8_t _ret; @@ -53531,21 +54947,21 @@ struct wow64_IVRSystem_IVRSystem_015_ComputeDistortion_params W32_PTR(DistortionCoordinates_t *pDistortionCoordinates, pDistortionCoordinates, DistortionCoordinates_t *); }; -struct IVRSystem_IVRSystem_015_GetEyeToHeadTransform_params +struct IVRSystem_IVRSystem_016_GetEyeToHeadTransform_params { struct u_iface u_iface; HmdMatrix34_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_015_GetEyeToHeadTransform_params +struct wow64_IVRSystem_IVRSystem_016_GetEyeToHeadTransform_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_015_GetTimeSinceLastVsync_params +struct IVRSystem_IVRSystem_016_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -53553,7 +54969,7 @@ struct IVRSystem_IVRSystem_015_GetTimeSinceLastVsync_params uint64_t *pulFrameCounter; }; -struct wow64_IVRSystem_IVRSystem_015_GetTimeSinceLastVsync_params +struct wow64_IVRSystem_IVRSystem_016_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -53561,57 +54977,71 @@ struct wow64_IVRSystem_IVRSystem_015_GetTimeSinceLastVsync_params W32_PTR(uint64_t *pulFrameCounter, pulFrameCounter, uint64_t *); }; -struct IVRSystem_IVRSystem_015_GetD3D9AdapterIndex_params +struct IVRSystem_IVRSystem_016_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct wow64_IVRSystem_IVRSystem_015_GetD3D9AdapterIndex_params +struct wow64_IVRSystem_IVRSystem_016_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct IVRSystem_IVRSystem_015_GetDXGIOutputInfo_params +struct IVRSystem_IVRSystem_016_GetDXGIOutputInfo_params { struct u_iface u_iface; int32_t *pnAdapterIndex; }; -struct wow64_IVRSystem_IVRSystem_015_GetDXGIOutputInfo_params +struct wow64_IVRSystem_IVRSystem_016_GetDXGIOutputInfo_params { struct u_iface u_iface; W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); }; -struct IVRSystem_IVRSystem_015_IsDisplayOnDesktop_params +struct IVRSystem_IVRSystem_016_GetOutputDevice_params +{ + struct u_iface u_iface; + uint64_t *pnDevice; + uint32_t textureType; +}; + +struct wow64_IVRSystem_IVRSystem_016_GetOutputDevice_params +{ + struct u_iface u_iface; + W32_PTR(uint64_t *pnDevice, pnDevice, uint64_t *); + uint32_t textureType; +}; + +struct IVRSystem_IVRSystem_016_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_015_IsDisplayOnDesktop_params +struct wow64_IVRSystem_IVRSystem_016_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_015_SetDisplayVisibility_params +struct IVRSystem_IVRSystem_016_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct wow64_IVRSystem_IVRSystem_015_SetDisplayVisibility_params +struct wow64_IVRSystem_IVRSystem_016_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct IVRSystem_IVRSystem_015_GetDeviceToAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_016_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -53620,7 +55050,7 @@ struct IVRSystem_IVRSystem_015_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct wow64_IVRSystem_IVRSystem_015_GetDeviceToAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_016_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -53629,41 +55059,41 @@ struct wow64_IVRSystem_IVRSystem_015_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct IVRSystem_IVRSystem_015_ResetSeatedZeroPose_params +struct IVRSystem_IVRSystem_016_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_015_ResetSeatedZeroPose_params +struct wow64_IVRSystem_IVRSystem_016_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_015_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_016_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_015_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_016_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_015_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_016_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_015_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_016_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_015_GetSortedTrackedDeviceIndicesOfClass_params +struct IVRSystem_IVRSystem_016_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -53673,7 +55103,7 @@ struct IVRSystem_IVRSystem_015_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_015_GetSortedTrackedDeviceIndicesOfClass_params +struct wow64_IVRSystem_IVRSystem_016_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -53683,21 +55113,21 @@ struct wow64_IVRSystem_IVRSystem_015_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct IVRSystem_IVRSystem_015_GetTrackedDeviceActivityLevel_params +struct IVRSystem_IVRSystem_016_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct wow64_IVRSystem_IVRSystem_015_GetTrackedDeviceActivityLevel_params +struct wow64_IVRSystem_IVRSystem_016_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct IVRSystem_IVRSystem_015_ApplyTransform_params +struct IVRSystem_IVRSystem_016_ApplyTransform_params { struct u_iface u_iface; TrackedDevicePose_t *pOutputPose; @@ -53705,7 +55135,7 @@ struct IVRSystem_IVRSystem_015_ApplyTransform_params const HmdMatrix34_t *pTransform; }; -struct wow64_IVRSystem_IVRSystem_015_ApplyTransform_params +struct wow64_IVRSystem_IVRSystem_016_ApplyTransform_params { struct u_iface u_iface; W32_PTR(TrackedDevicePose_t *pOutputPose, pOutputPose, TrackedDevicePose_t *); @@ -53713,63 +55143,63 @@ struct wow64_IVRSystem_IVRSystem_015_ApplyTransform_params W32_PTR(const HmdMatrix34_t *pTransform, pTransform, const HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_015_GetTrackedDeviceIndexForControllerRole_params +struct IVRSystem_IVRSystem_016_GetTrackedDeviceIndexForControllerRole_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceType; }; -struct wow64_IVRSystem_IVRSystem_015_GetTrackedDeviceIndexForControllerRole_params +struct wow64_IVRSystem_IVRSystem_016_GetTrackedDeviceIndexForControllerRole_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceType; }; -struct IVRSystem_IVRSystem_015_GetControllerRoleForTrackedDeviceIndex_params +struct IVRSystem_IVRSystem_016_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_015_GetControllerRoleForTrackedDeviceIndex_params +struct wow64_IVRSystem_IVRSystem_016_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_015_GetTrackedDeviceClass_params +struct IVRSystem_IVRSystem_016_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_015_GetTrackedDeviceClass_params +struct wow64_IVRSystem_IVRSystem_016_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_015_IsTrackedDeviceConnected_params +struct IVRSystem_IVRSystem_016_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_015_IsTrackedDeviceConnected_params +struct wow64_IVRSystem_IVRSystem_016_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_015_GetBoolTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_016_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -53778,7 +55208,7 @@ struct IVRSystem_IVRSystem_015_GetBoolTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_015_GetBoolTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_016_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -53787,7 +55217,7 @@ struct wow64_IVRSystem_IVRSystem_015_GetBoolTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_015_GetFloatTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_016_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -53796,7 +55226,7 @@ struct IVRSystem_IVRSystem_015_GetFloatTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_015_GetFloatTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_016_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -53805,7 +55235,7 @@ struct wow64_IVRSystem_IVRSystem_015_GetFloatTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_015_GetInt32TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_016_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -53814,7 +55244,7 @@ struct IVRSystem_IVRSystem_015_GetInt32TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_015_GetInt32TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_016_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -53823,7 +55253,7 @@ struct wow64_IVRSystem_IVRSystem_015_GetInt32TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_015_GetUint64TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_016_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -53832,7 +55262,7 @@ struct IVRSystem_IVRSystem_015_GetUint64TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_015_GetUint64TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_016_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -53841,7 +55271,7 @@ struct wow64_IVRSystem_IVRSystem_015_GetUint64TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_015_GetMatrix34TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_016_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; HmdMatrix34_t *_ret; @@ -53850,7 +55280,7 @@ struct IVRSystem_IVRSystem_015_GetMatrix34TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_015_GetMatrix34TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_016_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); @@ -53859,7 +55289,7 @@ struct wow64_IVRSystem_IVRSystem_015_GetMatrix34TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_015_GetStringTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_016_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -53870,7 +55300,7 @@ struct IVRSystem_IVRSystem_015_GetStringTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_015_GetStringTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_016_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -53881,21 +55311,21 @@ struct wow64_IVRSystem_IVRSystem_015_GetStringTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_015_GetPropErrorNameFromEnum_params +struct IVRSystem_IVRSystem_016_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVRSystem_IVRSystem_015_GetPropErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_016_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVRSystem_IVRSystem_015_PollNextEvent_params +struct IVRSystem_IVRSystem_016_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; @@ -53903,7 +55333,7 @@ struct IVRSystem_IVRSystem_015_PollNextEvent_params uint32_t uncbVREvent; }; -struct wow64_IVRSystem_IVRSystem_015_PollNextEvent_params +struct wow64_IVRSystem_IVRSystem_016_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; @@ -53911,7 +55341,7 @@ struct wow64_IVRSystem_IVRSystem_015_PollNextEvent_params uint32_t uncbVREvent; }; -struct IVRSystem_IVRSystem_015_PollNextEventWithPose_params +struct IVRSystem_IVRSystem_016_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -53921,7 +55351,7 @@ struct IVRSystem_IVRSystem_015_PollNextEventWithPose_params TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_015_PollNextEventWithPose_params +struct wow64_IVRSystem_IVRSystem_016_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -53931,21 +55361,21 @@ struct wow64_IVRSystem_IVRSystem_015_PollNextEventWithPose_params W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_015_GetEventTypeNameFromEnum_params +struct IVRSystem_IVRSystem_016_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct wow64_IVRSystem_IVRSystem_015_GetEventTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_016_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct IVRSystem_IVRSystem_015_GetHiddenAreaMesh_params +struct IVRSystem_IVRSystem_016_GetHiddenAreaMesh_params { struct u_iface u_iface; w_HiddenAreaMesh_t *_ret; @@ -53953,7 +55383,7 @@ struct IVRSystem_IVRSystem_015_GetHiddenAreaMesh_params uint32_t type; }; -struct wow64_IVRSystem_IVRSystem_015_GetHiddenAreaMesh_params +struct wow64_IVRSystem_IVRSystem_016_GetHiddenAreaMesh_params { struct u_iface u_iface; W32_PTR(w32_HiddenAreaMesh_t *_ret, _ret, w32_HiddenAreaMesh_t *); @@ -53961,7 +55391,7 @@ struct wow64_IVRSystem_IVRSystem_015_GetHiddenAreaMesh_params uint32_t type; }; -struct IVRSystem_IVRSystem_015_GetControllerState_params +struct IVRSystem_IVRSystem_016_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -53970,7 +55400,7 @@ struct IVRSystem_IVRSystem_015_GetControllerState_params uint32_t unControllerStateSize; }; -struct wow64_IVRSystem_IVRSystem_015_GetControllerState_params +struct wow64_IVRSystem_IVRSystem_016_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -53979,7 +55409,7 @@ struct wow64_IVRSystem_IVRSystem_015_GetControllerState_params uint32_t unControllerStateSize; }; -struct IVRSystem_IVRSystem_015_GetControllerStateWithPose_params +struct IVRSystem_IVRSystem_016_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -53990,7 +55420,7 @@ struct IVRSystem_IVRSystem_015_GetControllerStateWithPose_params TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_015_GetControllerStateWithPose_params +struct wow64_IVRSystem_IVRSystem_016_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -54001,7 +55431,7 @@ struct wow64_IVRSystem_IVRSystem_015_GetControllerStateWithPose_params W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_015_TriggerHapticPulse_params +struct IVRSystem_IVRSystem_016_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -54009,7 +55439,7 @@ struct IVRSystem_IVRSystem_015_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct wow64_IVRSystem_IVRSystem_015_TriggerHapticPulse_params +struct wow64_IVRSystem_IVRSystem_016_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -54017,69 +55447,69 @@ struct wow64_IVRSystem_IVRSystem_015_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct IVRSystem_IVRSystem_015_GetButtonIdNameFromEnum_params +struct IVRSystem_IVRSystem_016_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct wow64_IVRSystem_IVRSystem_015_GetButtonIdNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_016_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct IVRSystem_IVRSystem_015_GetControllerAxisTypeNameFromEnum_params +struct IVRSystem_IVRSystem_016_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct wow64_IVRSystem_IVRSystem_015_GetControllerAxisTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_016_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct IVRSystem_IVRSystem_015_CaptureInputFocus_params +struct IVRSystem_IVRSystem_016_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_015_CaptureInputFocus_params +struct wow64_IVRSystem_IVRSystem_016_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_015_ReleaseInputFocus_params +struct IVRSystem_IVRSystem_016_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_015_ReleaseInputFocus_params +struct wow64_IVRSystem_IVRSystem_016_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_015_IsInputFocusCapturedByAnotherProcess_params +struct IVRSystem_IVRSystem_016_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_015_IsInputFocusCapturedByAnotherProcess_params +struct wow64_IVRSystem_IVRSystem_016_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_015_DriverDebugRequest_params +struct IVRSystem_IVRSystem_016_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -54089,7 +55519,7 @@ struct IVRSystem_IVRSystem_015_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct wow64_IVRSystem_IVRSystem_015_DriverDebugRequest_params +struct wow64_IVRSystem_IVRSystem_016_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -54099,55 +55529,55 @@ struct wow64_IVRSystem_IVRSystem_015_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct IVRSystem_IVRSystem_015_PerformFirmwareUpdate_params +struct IVRSystem_IVRSystem_016_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_015_PerformFirmwareUpdate_params +struct wow64_IVRSystem_IVRSystem_016_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_015_AcknowledgeQuit_Exiting_params +struct IVRSystem_IVRSystem_016_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_015_AcknowledgeQuit_Exiting_params +struct wow64_IVRSystem_IVRSystem_016_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_015_AcknowledgeQuit_UserPrompt_params +struct IVRSystem_IVRSystem_016_AcknowledgeQuit_UserPrompt_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_015_AcknowledgeQuit_UserPrompt_params +struct wow64_IVRSystem_IVRSystem_016_AcknowledgeQuit_UserPrompt_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_016_GetRecommendedRenderTargetSize_params +struct IVRSystem_IVRSystem_017_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; uint32_t *pnWidth; uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_016_GetRecommendedRenderTargetSize_params +struct wow64_IVRSystem_IVRSystem_017_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_016_GetProjectionMatrix_params +struct IVRSystem_IVRSystem_017_GetProjectionMatrix_params { struct u_iface u_iface; HmdMatrix44_t *_ret; @@ -54156,7 +55586,7 @@ struct IVRSystem_IVRSystem_016_GetProjectionMatrix_params float fFarZ; }; -struct wow64_IVRSystem_IVRSystem_016_GetProjectionMatrix_params +struct wow64_IVRSystem_IVRSystem_017_GetProjectionMatrix_params { struct u_iface u_iface; W32_PTR(HmdMatrix44_t *_ret, _ret, HmdMatrix44_t *); @@ -54165,7 +55595,7 @@ struct wow64_IVRSystem_IVRSystem_016_GetProjectionMatrix_params float fFarZ; }; -struct IVRSystem_IVRSystem_016_GetProjectionRaw_params +struct IVRSystem_IVRSystem_017_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -54175,7 +55605,7 @@ struct IVRSystem_IVRSystem_016_GetProjectionRaw_params float *pfBottom; }; -struct wow64_IVRSystem_IVRSystem_016_GetProjectionRaw_params +struct wow64_IVRSystem_IVRSystem_017_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -54185,7 +55615,7 @@ struct wow64_IVRSystem_IVRSystem_016_GetProjectionRaw_params W32_PTR(float *pfBottom, pfBottom, float *); }; -struct IVRSystem_IVRSystem_016_ComputeDistortion_params +struct IVRSystem_IVRSystem_017_ComputeDistortion_params { struct u_iface u_iface; int8_t _ret; @@ -54195,7 +55625,7 @@ struct IVRSystem_IVRSystem_016_ComputeDistortion_params DistortionCoordinates_t *pDistortionCoordinates; }; -struct wow64_IVRSystem_IVRSystem_016_ComputeDistortion_params +struct wow64_IVRSystem_IVRSystem_017_ComputeDistortion_params { struct u_iface u_iface; int8_t _ret; @@ -54205,21 +55635,21 @@ struct wow64_IVRSystem_IVRSystem_016_ComputeDistortion_params W32_PTR(DistortionCoordinates_t *pDistortionCoordinates, pDistortionCoordinates, DistortionCoordinates_t *); }; -struct IVRSystem_IVRSystem_016_GetEyeToHeadTransform_params +struct IVRSystem_IVRSystem_017_GetEyeToHeadTransform_params { struct u_iface u_iface; HmdMatrix34_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_016_GetEyeToHeadTransform_params +struct wow64_IVRSystem_IVRSystem_017_GetEyeToHeadTransform_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_016_GetTimeSinceLastVsync_params +struct IVRSystem_IVRSystem_017_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -54227,7 +55657,7 @@ struct IVRSystem_IVRSystem_016_GetTimeSinceLastVsync_params uint64_t *pulFrameCounter; }; -struct wow64_IVRSystem_IVRSystem_016_GetTimeSinceLastVsync_params +struct wow64_IVRSystem_IVRSystem_017_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -54235,71 +55665,73 @@ struct wow64_IVRSystem_IVRSystem_016_GetTimeSinceLastVsync_params W32_PTR(uint64_t *pulFrameCounter, pulFrameCounter, uint64_t *); }; -struct IVRSystem_IVRSystem_016_GetD3D9AdapterIndex_params +struct IVRSystem_IVRSystem_017_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct wow64_IVRSystem_IVRSystem_016_GetD3D9AdapterIndex_params +struct wow64_IVRSystem_IVRSystem_017_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct IVRSystem_IVRSystem_016_GetDXGIOutputInfo_params +struct IVRSystem_IVRSystem_017_GetDXGIOutputInfo_params { struct u_iface u_iface; int32_t *pnAdapterIndex; }; -struct wow64_IVRSystem_IVRSystem_016_GetDXGIOutputInfo_params +struct wow64_IVRSystem_IVRSystem_017_GetDXGIOutputInfo_params { struct u_iface u_iface; W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); }; -struct IVRSystem_IVRSystem_016_GetOutputDevice_params +struct IVRSystem_IVRSystem_017_GetOutputDevice_params { struct u_iface u_iface; uint64_t *pnDevice; uint32_t textureType; + VkInstance_T *pInstance; }; -struct wow64_IVRSystem_IVRSystem_016_GetOutputDevice_params +struct wow64_IVRSystem_IVRSystem_017_GetOutputDevice_params { struct u_iface u_iface; W32_PTR(uint64_t *pnDevice, pnDevice, uint64_t *); uint32_t textureType; + W32_PTR(VkInstance_T *pInstance, pInstance, VkInstance_T *); }; -struct IVRSystem_IVRSystem_016_IsDisplayOnDesktop_params +struct IVRSystem_IVRSystem_017_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_016_IsDisplayOnDesktop_params +struct wow64_IVRSystem_IVRSystem_017_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_016_SetDisplayVisibility_params +struct IVRSystem_IVRSystem_017_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct wow64_IVRSystem_IVRSystem_016_SetDisplayVisibility_params +struct wow64_IVRSystem_IVRSystem_017_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct IVRSystem_IVRSystem_016_GetDeviceToAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_017_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -54308,7 +55740,7 @@ struct IVRSystem_IVRSystem_016_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct wow64_IVRSystem_IVRSystem_016_GetDeviceToAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_017_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -54317,41 +55749,41 @@ struct wow64_IVRSystem_IVRSystem_016_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct IVRSystem_IVRSystem_016_ResetSeatedZeroPose_params +struct IVRSystem_IVRSystem_017_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_016_ResetSeatedZeroPose_params +struct wow64_IVRSystem_IVRSystem_017_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_016_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_017_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_016_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_017_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_016_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_017_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_016_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_017_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_016_GetSortedTrackedDeviceIndicesOfClass_params +struct IVRSystem_IVRSystem_017_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -54361,7 +55793,7 @@ struct IVRSystem_IVRSystem_016_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_016_GetSortedTrackedDeviceIndicesOfClass_params +struct wow64_IVRSystem_IVRSystem_017_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -54371,21 +55803,21 @@ struct wow64_IVRSystem_IVRSystem_016_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct IVRSystem_IVRSystem_016_GetTrackedDeviceActivityLevel_params +struct IVRSystem_IVRSystem_017_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct wow64_IVRSystem_IVRSystem_016_GetTrackedDeviceActivityLevel_params +struct wow64_IVRSystem_IVRSystem_017_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct IVRSystem_IVRSystem_016_ApplyTransform_params +struct IVRSystem_IVRSystem_017_ApplyTransform_params { struct u_iface u_iface; TrackedDevicePose_t *pOutputPose; @@ -54393,7 +55825,7 @@ struct IVRSystem_IVRSystem_016_ApplyTransform_params const HmdMatrix34_t *pTransform; }; -struct wow64_IVRSystem_IVRSystem_016_ApplyTransform_params +struct wow64_IVRSystem_IVRSystem_017_ApplyTransform_params { struct u_iface u_iface; W32_PTR(TrackedDevicePose_t *pOutputPose, pOutputPose, TrackedDevicePose_t *); @@ -54401,63 +55833,63 @@ struct wow64_IVRSystem_IVRSystem_016_ApplyTransform_params W32_PTR(const HmdMatrix34_t *pTransform, pTransform, const HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_016_GetTrackedDeviceIndexForControllerRole_params +struct IVRSystem_IVRSystem_017_GetTrackedDeviceIndexForControllerRole_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceType; }; -struct wow64_IVRSystem_IVRSystem_016_GetTrackedDeviceIndexForControllerRole_params +struct wow64_IVRSystem_IVRSystem_017_GetTrackedDeviceIndexForControllerRole_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceType; }; -struct IVRSystem_IVRSystem_016_GetControllerRoleForTrackedDeviceIndex_params +struct IVRSystem_IVRSystem_017_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_016_GetControllerRoleForTrackedDeviceIndex_params +struct wow64_IVRSystem_IVRSystem_017_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_016_GetTrackedDeviceClass_params +struct IVRSystem_IVRSystem_017_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_016_GetTrackedDeviceClass_params +struct wow64_IVRSystem_IVRSystem_017_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_016_IsTrackedDeviceConnected_params +struct IVRSystem_IVRSystem_017_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_016_IsTrackedDeviceConnected_params +struct wow64_IVRSystem_IVRSystem_017_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_016_GetBoolTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_017_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -54466,7 +55898,7 @@ struct IVRSystem_IVRSystem_016_GetBoolTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_016_GetBoolTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_017_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -54475,7 +55907,7 @@ struct wow64_IVRSystem_IVRSystem_016_GetBoolTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_016_GetFloatTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_017_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -54484,7 +55916,7 @@ struct IVRSystem_IVRSystem_016_GetFloatTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_016_GetFloatTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_017_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -54493,7 +55925,7 @@ struct wow64_IVRSystem_IVRSystem_016_GetFloatTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_016_GetInt32TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_017_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -54502,7 +55934,7 @@ struct IVRSystem_IVRSystem_016_GetInt32TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_016_GetInt32TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_017_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -54511,7 +55943,7 @@ struct wow64_IVRSystem_IVRSystem_016_GetInt32TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_016_GetUint64TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_017_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -54520,7 +55952,7 @@ struct IVRSystem_IVRSystem_016_GetUint64TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_016_GetUint64TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_017_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -54529,7 +55961,7 @@ struct wow64_IVRSystem_IVRSystem_016_GetUint64TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_016_GetMatrix34TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_017_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; HmdMatrix34_t *_ret; @@ -54538,7 +55970,7 @@ struct IVRSystem_IVRSystem_016_GetMatrix34TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_016_GetMatrix34TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_017_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); @@ -54547,7 +55979,7 @@ struct wow64_IVRSystem_IVRSystem_016_GetMatrix34TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_016_GetStringTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_017_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -54558,7 +55990,7 @@ struct IVRSystem_IVRSystem_016_GetStringTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_016_GetStringTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_017_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -54569,71 +56001,71 @@ struct wow64_IVRSystem_IVRSystem_016_GetStringTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_016_GetPropErrorNameFromEnum_params +struct IVRSystem_IVRSystem_017_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVRSystem_IVRSystem_016_GetPropErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_017_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVRSystem_IVRSystem_016_PollNextEvent_params +struct IVRSystem_IVRSystem_017_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - w_VREvent_t_106 *pEvent; + w_VREvent_t_1011 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVRSystem_IVRSystem_016_PollNextEvent_params +struct wow64_IVRSystem_IVRSystem_017_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - W32_PTR(w32_VREvent_t_106 *pEvent, pEvent, w32_VREvent_t_106 *); + W32_PTR(w32_VREvent_t_1011 *pEvent, pEvent, w32_VREvent_t_1011 *); uint32_t uncbVREvent; }; -struct IVRSystem_IVRSystem_016_PollNextEventWithPose_params +struct IVRSystem_IVRSystem_017_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - w_VREvent_t_106 *pEvent; + w_VREvent_t_1011 *pEvent; uint32_t uncbVREvent; TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_016_PollNextEventWithPose_params +struct wow64_IVRSystem_IVRSystem_017_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - W32_PTR(w32_VREvent_t_106 *pEvent, pEvent, w32_VREvent_t_106 *); + W32_PTR(w32_VREvent_t_1011 *pEvent, pEvent, w32_VREvent_t_1011 *); uint32_t uncbVREvent; W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_016_GetEventTypeNameFromEnum_params +struct IVRSystem_IVRSystem_017_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct wow64_IVRSystem_IVRSystem_016_GetEventTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_017_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct IVRSystem_IVRSystem_016_GetHiddenAreaMesh_params +struct IVRSystem_IVRSystem_017_GetHiddenAreaMesh_params { struct u_iface u_iface; w_HiddenAreaMesh_t *_ret; @@ -54641,7 +56073,7 @@ struct IVRSystem_IVRSystem_016_GetHiddenAreaMesh_params uint32_t type; }; -struct wow64_IVRSystem_IVRSystem_016_GetHiddenAreaMesh_params +struct wow64_IVRSystem_IVRSystem_017_GetHiddenAreaMesh_params { struct u_iface u_iface; W32_PTR(w32_HiddenAreaMesh_t *_ret, _ret, w32_HiddenAreaMesh_t *); @@ -54649,7 +56081,7 @@ struct wow64_IVRSystem_IVRSystem_016_GetHiddenAreaMesh_params uint32_t type; }; -struct IVRSystem_IVRSystem_016_GetControllerState_params +struct IVRSystem_IVRSystem_017_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -54658,7 +56090,7 @@ struct IVRSystem_IVRSystem_016_GetControllerState_params uint32_t unControllerStateSize; }; -struct wow64_IVRSystem_IVRSystem_016_GetControllerState_params +struct wow64_IVRSystem_IVRSystem_017_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -54667,7 +56099,7 @@ struct wow64_IVRSystem_IVRSystem_016_GetControllerState_params uint32_t unControllerStateSize; }; -struct IVRSystem_IVRSystem_016_GetControllerStateWithPose_params +struct IVRSystem_IVRSystem_017_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -54678,7 +56110,7 @@ struct IVRSystem_IVRSystem_016_GetControllerStateWithPose_params TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_016_GetControllerStateWithPose_params +struct wow64_IVRSystem_IVRSystem_017_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -54689,7 +56121,7 @@ struct wow64_IVRSystem_IVRSystem_016_GetControllerStateWithPose_params W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_016_TriggerHapticPulse_params +struct IVRSystem_IVRSystem_017_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -54697,7 +56129,7 @@ struct IVRSystem_IVRSystem_016_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct wow64_IVRSystem_IVRSystem_016_TriggerHapticPulse_params +struct wow64_IVRSystem_IVRSystem_017_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -54705,69 +56137,69 @@ struct wow64_IVRSystem_IVRSystem_016_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct IVRSystem_IVRSystem_016_GetButtonIdNameFromEnum_params +struct IVRSystem_IVRSystem_017_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct wow64_IVRSystem_IVRSystem_016_GetButtonIdNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_017_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct IVRSystem_IVRSystem_016_GetControllerAxisTypeNameFromEnum_params +struct IVRSystem_IVRSystem_017_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct wow64_IVRSystem_IVRSystem_016_GetControllerAxisTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_017_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct IVRSystem_IVRSystem_016_CaptureInputFocus_params +struct IVRSystem_IVRSystem_017_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_016_CaptureInputFocus_params +struct wow64_IVRSystem_IVRSystem_017_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_016_ReleaseInputFocus_params +struct IVRSystem_IVRSystem_017_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_016_ReleaseInputFocus_params +struct wow64_IVRSystem_IVRSystem_017_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_016_IsInputFocusCapturedByAnotherProcess_params +struct IVRSystem_IVRSystem_017_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_016_IsInputFocusCapturedByAnotherProcess_params +struct wow64_IVRSystem_IVRSystem_017_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_016_DriverDebugRequest_params +struct IVRSystem_IVRSystem_017_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -54777,7 +56209,7 @@ struct IVRSystem_IVRSystem_016_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct wow64_IVRSystem_IVRSystem_016_DriverDebugRequest_params +struct wow64_IVRSystem_IVRSystem_017_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -54787,55 +56219,55 @@ struct wow64_IVRSystem_IVRSystem_016_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct IVRSystem_IVRSystem_016_PerformFirmwareUpdate_params +struct IVRSystem_IVRSystem_017_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_016_PerformFirmwareUpdate_params +struct wow64_IVRSystem_IVRSystem_017_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_016_AcknowledgeQuit_Exiting_params +struct IVRSystem_IVRSystem_017_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_016_AcknowledgeQuit_Exiting_params +struct wow64_IVRSystem_IVRSystem_017_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_016_AcknowledgeQuit_UserPrompt_params +struct IVRSystem_IVRSystem_017_AcknowledgeQuit_UserPrompt_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_016_AcknowledgeQuit_UserPrompt_params +struct wow64_IVRSystem_IVRSystem_017_AcknowledgeQuit_UserPrompt_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_017_GetRecommendedRenderTargetSize_params +struct IVRSystem_IVRSystem_019_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; uint32_t *pnWidth; uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_017_GetRecommendedRenderTargetSize_params +struct wow64_IVRSystem_IVRSystem_019_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_017_GetProjectionMatrix_params +struct IVRSystem_IVRSystem_019_GetProjectionMatrix_params { struct u_iface u_iface; HmdMatrix44_t *_ret; @@ -54844,7 +56276,7 @@ struct IVRSystem_IVRSystem_017_GetProjectionMatrix_params float fFarZ; }; -struct wow64_IVRSystem_IVRSystem_017_GetProjectionMatrix_params +struct wow64_IVRSystem_IVRSystem_019_GetProjectionMatrix_params { struct u_iface u_iface; W32_PTR(HmdMatrix44_t *_ret, _ret, HmdMatrix44_t *); @@ -54853,7 +56285,7 @@ struct wow64_IVRSystem_IVRSystem_017_GetProjectionMatrix_params float fFarZ; }; -struct IVRSystem_IVRSystem_017_GetProjectionRaw_params +struct IVRSystem_IVRSystem_019_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -54863,7 +56295,7 @@ struct IVRSystem_IVRSystem_017_GetProjectionRaw_params float *pfBottom; }; -struct wow64_IVRSystem_IVRSystem_017_GetProjectionRaw_params +struct wow64_IVRSystem_IVRSystem_019_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -54873,7 +56305,7 @@ struct wow64_IVRSystem_IVRSystem_017_GetProjectionRaw_params W32_PTR(float *pfBottom, pfBottom, float *); }; -struct IVRSystem_IVRSystem_017_ComputeDistortion_params +struct IVRSystem_IVRSystem_019_ComputeDistortion_params { struct u_iface u_iface; int8_t _ret; @@ -54883,7 +56315,7 @@ struct IVRSystem_IVRSystem_017_ComputeDistortion_params DistortionCoordinates_t *pDistortionCoordinates; }; -struct wow64_IVRSystem_IVRSystem_017_ComputeDistortion_params +struct wow64_IVRSystem_IVRSystem_019_ComputeDistortion_params { struct u_iface u_iface; int8_t _ret; @@ -54893,21 +56325,21 @@ struct wow64_IVRSystem_IVRSystem_017_ComputeDistortion_params W32_PTR(DistortionCoordinates_t *pDistortionCoordinates, pDistortionCoordinates, DistortionCoordinates_t *); }; -struct IVRSystem_IVRSystem_017_GetEyeToHeadTransform_params +struct IVRSystem_IVRSystem_019_GetEyeToHeadTransform_params { struct u_iface u_iface; HmdMatrix34_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_017_GetEyeToHeadTransform_params +struct wow64_IVRSystem_IVRSystem_019_GetEyeToHeadTransform_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_017_GetTimeSinceLastVsync_params +struct IVRSystem_IVRSystem_019_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -54915,7 +56347,7 @@ struct IVRSystem_IVRSystem_017_GetTimeSinceLastVsync_params uint64_t *pulFrameCounter; }; -struct wow64_IVRSystem_IVRSystem_017_GetTimeSinceLastVsync_params +struct wow64_IVRSystem_IVRSystem_019_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -54923,31 +56355,31 @@ struct wow64_IVRSystem_IVRSystem_017_GetTimeSinceLastVsync_params W32_PTR(uint64_t *pulFrameCounter, pulFrameCounter, uint64_t *); }; -struct IVRSystem_IVRSystem_017_GetD3D9AdapterIndex_params +struct IVRSystem_IVRSystem_019_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct wow64_IVRSystem_IVRSystem_017_GetD3D9AdapterIndex_params +struct wow64_IVRSystem_IVRSystem_019_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct IVRSystem_IVRSystem_017_GetDXGIOutputInfo_params +struct IVRSystem_IVRSystem_019_GetDXGIOutputInfo_params { struct u_iface u_iface; int32_t *pnAdapterIndex; }; -struct wow64_IVRSystem_IVRSystem_017_GetDXGIOutputInfo_params +struct wow64_IVRSystem_IVRSystem_019_GetDXGIOutputInfo_params { struct u_iface u_iface; W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); }; -struct IVRSystem_IVRSystem_017_GetOutputDevice_params +struct IVRSystem_IVRSystem_019_GetOutputDevice_params { struct u_iface u_iface; uint64_t *pnDevice; @@ -54955,7 +56387,7 @@ struct IVRSystem_IVRSystem_017_GetOutputDevice_params VkInstance_T *pInstance; }; -struct wow64_IVRSystem_IVRSystem_017_GetOutputDevice_params +struct wow64_IVRSystem_IVRSystem_019_GetOutputDevice_params { struct u_iface u_iface; W32_PTR(uint64_t *pnDevice, pnDevice, uint64_t *); @@ -54963,33 +56395,33 @@ struct wow64_IVRSystem_IVRSystem_017_GetOutputDevice_params W32_PTR(VkInstance_T *pInstance, pInstance, VkInstance_T *); }; -struct IVRSystem_IVRSystem_017_IsDisplayOnDesktop_params +struct IVRSystem_IVRSystem_019_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_017_IsDisplayOnDesktop_params +struct wow64_IVRSystem_IVRSystem_019_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_017_SetDisplayVisibility_params +struct IVRSystem_IVRSystem_019_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct wow64_IVRSystem_IVRSystem_017_SetDisplayVisibility_params +struct wow64_IVRSystem_IVRSystem_019_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct IVRSystem_IVRSystem_017_GetDeviceToAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_019_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -54998,7 +56430,7 @@ struct IVRSystem_IVRSystem_017_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct wow64_IVRSystem_IVRSystem_017_GetDeviceToAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_019_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -55007,41 +56439,41 @@ struct wow64_IVRSystem_IVRSystem_017_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct IVRSystem_IVRSystem_017_ResetSeatedZeroPose_params +struct IVRSystem_IVRSystem_019_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_017_ResetSeatedZeroPose_params +struct wow64_IVRSystem_IVRSystem_019_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_017_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_019_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_017_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_019_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_017_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_019_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_017_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_019_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_017_GetSortedTrackedDeviceIndicesOfClass_params +struct IVRSystem_IVRSystem_019_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -55051,7 +56483,7 @@ struct IVRSystem_IVRSystem_017_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_017_GetSortedTrackedDeviceIndicesOfClass_params +struct wow64_IVRSystem_IVRSystem_019_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -55061,21 +56493,21 @@ struct wow64_IVRSystem_IVRSystem_017_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct IVRSystem_IVRSystem_017_GetTrackedDeviceActivityLevel_params +struct IVRSystem_IVRSystem_019_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct wow64_IVRSystem_IVRSystem_017_GetTrackedDeviceActivityLevel_params +struct wow64_IVRSystem_IVRSystem_019_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct IVRSystem_IVRSystem_017_ApplyTransform_params +struct IVRSystem_IVRSystem_019_ApplyTransform_params { struct u_iface u_iface; TrackedDevicePose_t *pOutputPose; @@ -55083,7 +56515,7 @@ struct IVRSystem_IVRSystem_017_ApplyTransform_params const HmdMatrix34_t *pTransform; }; -struct wow64_IVRSystem_IVRSystem_017_ApplyTransform_params +struct wow64_IVRSystem_IVRSystem_019_ApplyTransform_params { struct u_iface u_iface; W32_PTR(TrackedDevicePose_t *pOutputPose, pOutputPose, TrackedDevicePose_t *); @@ -55091,63 +56523,63 @@ struct wow64_IVRSystem_IVRSystem_017_ApplyTransform_params W32_PTR(const HmdMatrix34_t *pTransform, pTransform, const HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_017_GetTrackedDeviceIndexForControllerRole_params +struct IVRSystem_IVRSystem_019_GetTrackedDeviceIndexForControllerRole_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceType; }; -struct wow64_IVRSystem_IVRSystem_017_GetTrackedDeviceIndexForControllerRole_params +struct wow64_IVRSystem_IVRSystem_019_GetTrackedDeviceIndexForControllerRole_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceType; }; -struct IVRSystem_IVRSystem_017_GetControllerRoleForTrackedDeviceIndex_params +struct IVRSystem_IVRSystem_019_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_017_GetControllerRoleForTrackedDeviceIndex_params +struct wow64_IVRSystem_IVRSystem_019_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_017_GetTrackedDeviceClass_params +struct IVRSystem_IVRSystem_019_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_017_GetTrackedDeviceClass_params +struct wow64_IVRSystem_IVRSystem_019_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_017_IsTrackedDeviceConnected_params +struct IVRSystem_IVRSystem_019_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_017_IsTrackedDeviceConnected_params +struct wow64_IVRSystem_IVRSystem_019_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_017_GetBoolTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_019_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -55156,7 +56588,7 @@ struct IVRSystem_IVRSystem_017_GetBoolTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_017_GetBoolTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_019_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -55165,7 +56597,7 @@ struct wow64_IVRSystem_IVRSystem_017_GetBoolTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_017_GetFloatTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_019_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -55174,7 +56606,7 @@ struct IVRSystem_IVRSystem_017_GetFloatTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_017_GetFloatTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_019_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -55183,7 +56615,7 @@ struct wow64_IVRSystem_IVRSystem_017_GetFloatTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_017_GetInt32TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_019_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -55192,7 +56624,7 @@ struct IVRSystem_IVRSystem_017_GetInt32TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_017_GetInt32TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_019_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -55201,7 +56633,7 @@ struct wow64_IVRSystem_IVRSystem_017_GetInt32TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_017_GetUint64TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_019_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -55210,7 +56642,7 @@ struct IVRSystem_IVRSystem_017_GetUint64TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_017_GetUint64TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_019_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -55219,7 +56651,7 @@ struct wow64_IVRSystem_IVRSystem_017_GetUint64TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_017_GetMatrix34TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_019_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; HmdMatrix34_t *_ret; @@ -55228,7 +56660,7 @@ struct IVRSystem_IVRSystem_017_GetMatrix34TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_017_GetMatrix34TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_019_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); @@ -55237,7 +56669,31 @@ struct wow64_IVRSystem_IVRSystem_017_GetMatrix34TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_017_GetStringTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_019_GetArrayTrackedDeviceProperty_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unDeviceIndex; + uint32_t prop; + uint32_t propType; + void *pBuffer; + uint32_t unBufferSize; + uint32_t *pError; +}; + +struct wow64_IVRSystem_IVRSystem_019_GetArrayTrackedDeviceProperty_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unDeviceIndex; + uint32_t prop; + uint32_t propType; + W32_PTR(void *pBuffer, pBuffer, void *); + uint32_t unBufferSize; + W32_PTR(uint32_t *pError, pError, uint32_t *); +}; + +struct IVRSystem_IVRSystem_019_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -55248,7 +56704,7 @@ struct IVRSystem_IVRSystem_017_GetStringTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_017_GetStringTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_019_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -55259,71 +56715,71 @@ struct wow64_IVRSystem_IVRSystem_017_GetStringTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_017_GetPropErrorNameFromEnum_params +struct IVRSystem_IVRSystem_019_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVRSystem_IVRSystem_017_GetPropErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_019_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVRSystem_IVRSystem_017_PollNextEvent_params +struct IVRSystem_IVRSystem_019_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - w_VREvent_t_1011 *pEvent; + w_VREvent_t_1322 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVRSystem_IVRSystem_017_PollNextEvent_params +struct wow64_IVRSystem_IVRSystem_019_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - W32_PTR(w32_VREvent_t_1011 *pEvent, pEvent, w32_VREvent_t_1011 *); + W32_PTR(w32_VREvent_t_1322 *pEvent, pEvent, w32_VREvent_t_1322 *); uint32_t uncbVREvent; }; -struct IVRSystem_IVRSystem_017_PollNextEventWithPose_params +struct IVRSystem_IVRSystem_019_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - w_VREvent_t_1011 *pEvent; + w_VREvent_t_1322 *pEvent; uint32_t uncbVREvent; TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_017_PollNextEventWithPose_params +struct wow64_IVRSystem_IVRSystem_019_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - W32_PTR(w32_VREvent_t_1011 *pEvent, pEvent, w32_VREvent_t_1011 *); + W32_PTR(w32_VREvent_t_1322 *pEvent, pEvent, w32_VREvent_t_1322 *); uint32_t uncbVREvent; W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_017_GetEventTypeNameFromEnum_params +struct IVRSystem_IVRSystem_019_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct wow64_IVRSystem_IVRSystem_017_GetEventTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_019_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct IVRSystem_IVRSystem_017_GetHiddenAreaMesh_params +struct IVRSystem_IVRSystem_019_GetHiddenAreaMesh_params { struct u_iface u_iface; w_HiddenAreaMesh_t *_ret; @@ -55331,7 +56787,7 @@ struct IVRSystem_IVRSystem_017_GetHiddenAreaMesh_params uint32_t type; }; -struct wow64_IVRSystem_IVRSystem_017_GetHiddenAreaMesh_params +struct wow64_IVRSystem_IVRSystem_019_GetHiddenAreaMesh_params { struct u_iface u_iface; W32_PTR(w32_HiddenAreaMesh_t *_ret, _ret, w32_HiddenAreaMesh_t *); @@ -55339,7 +56795,7 @@ struct wow64_IVRSystem_IVRSystem_017_GetHiddenAreaMesh_params uint32_t type; }; -struct IVRSystem_IVRSystem_017_GetControllerState_params +struct IVRSystem_IVRSystem_019_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -55348,7 +56804,7 @@ struct IVRSystem_IVRSystem_017_GetControllerState_params uint32_t unControllerStateSize; }; -struct wow64_IVRSystem_IVRSystem_017_GetControllerState_params +struct wow64_IVRSystem_IVRSystem_019_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -55357,7 +56813,7 @@ struct wow64_IVRSystem_IVRSystem_017_GetControllerState_params uint32_t unControllerStateSize; }; -struct IVRSystem_IVRSystem_017_GetControllerStateWithPose_params +struct IVRSystem_IVRSystem_019_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -55368,7 +56824,7 @@ struct IVRSystem_IVRSystem_017_GetControllerStateWithPose_params TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_017_GetControllerStateWithPose_params +struct wow64_IVRSystem_IVRSystem_019_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -55379,7 +56835,7 @@ struct wow64_IVRSystem_IVRSystem_017_GetControllerStateWithPose_params W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_017_TriggerHapticPulse_params +struct IVRSystem_IVRSystem_019_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -55387,7 +56843,7 @@ struct IVRSystem_IVRSystem_017_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct wow64_IVRSystem_IVRSystem_017_TriggerHapticPulse_params +struct wow64_IVRSystem_IVRSystem_019_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -55395,69 +56851,83 @@ struct wow64_IVRSystem_IVRSystem_017_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct IVRSystem_IVRSystem_017_GetButtonIdNameFromEnum_params +struct IVRSystem_IVRSystem_019_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct wow64_IVRSystem_IVRSystem_017_GetButtonIdNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_019_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct IVRSystem_IVRSystem_017_GetControllerAxisTypeNameFromEnum_params +struct IVRSystem_IVRSystem_019_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct wow64_IVRSystem_IVRSystem_017_GetControllerAxisTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_019_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct IVRSystem_IVRSystem_017_CaptureInputFocus_params +struct IVRSystem_IVRSystem_019_IsInputAvailable_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_017_CaptureInputFocus_params +struct wow64_IVRSystem_IVRSystem_019_IsInputAvailable_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_017_ReleaseInputFocus_params +struct IVRSystem_IVRSystem_019_IsSteamVRDrawingControllers_params { struct u_iface u_iface; + int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_017_ReleaseInputFocus_params +struct wow64_IVRSystem_IVRSystem_019_IsSteamVRDrawingControllers_params { struct u_iface u_iface; + int8_t _ret; }; -struct IVRSystem_IVRSystem_017_IsInputFocusCapturedByAnotherProcess_params +struct IVRSystem_IVRSystem_019_ShouldApplicationPause_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_017_IsInputFocusCapturedByAnotherProcess_params +struct wow64_IVRSystem_IVRSystem_019_ShouldApplicationPause_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_017_DriverDebugRequest_params +struct IVRSystem_IVRSystem_019_ShouldApplicationReduceRenderingWork_params +{ + struct u_iface u_iface; + int8_t _ret; +}; + +struct wow64_IVRSystem_IVRSystem_019_ShouldApplicationReduceRenderingWork_params +{ + struct u_iface u_iface; + int8_t _ret; +}; + +struct IVRSystem_IVRSystem_019_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -55467,7 +56937,7 @@ struct IVRSystem_IVRSystem_017_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct wow64_IVRSystem_IVRSystem_017_DriverDebugRequest_params +struct wow64_IVRSystem_IVRSystem_019_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -55477,55 +56947,55 @@ struct wow64_IVRSystem_IVRSystem_017_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct IVRSystem_IVRSystem_017_PerformFirmwareUpdate_params +struct IVRSystem_IVRSystem_019_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_017_PerformFirmwareUpdate_params +struct wow64_IVRSystem_IVRSystem_019_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_017_AcknowledgeQuit_Exiting_params +struct IVRSystem_IVRSystem_019_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_017_AcknowledgeQuit_Exiting_params +struct wow64_IVRSystem_IVRSystem_019_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_017_AcknowledgeQuit_UserPrompt_params +struct IVRSystem_IVRSystem_019_AcknowledgeQuit_UserPrompt_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_017_AcknowledgeQuit_UserPrompt_params +struct wow64_IVRSystem_IVRSystem_019_AcknowledgeQuit_UserPrompt_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_019_GetRecommendedRenderTargetSize_params +struct IVRSystem_IVRSystem_020_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; uint32_t *pnWidth; uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_019_GetRecommendedRenderTargetSize_params +struct wow64_IVRSystem_IVRSystem_020_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_019_GetProjectionMatrix_params +struct IVRSystem_IVRSystem_020_GetProjectionMatrix_params { struct u_iface u_iface; HmdMatrix44_t *_ret; @@ -55534,7 +57004,7 @@ struct IVRSystem_IVRSystem_019_GetProjectionMatrix_params float fFarZ; }; -struct wow64_IVRSystem_IVRSystem_019_GetProjectionMatrix_params +struct wow64_IVRSystem_IVRSystem_020_GetProjectionMatrix_params { struct u_iface u_iface; W32_PTR(HmdMatrix44_t *_ret, _ret, HmdMatrix44_t *); @@ -55543,7 +57013,7 @@ struct wow64_IVRSystem_IVRSystem_019_GetProjectionMatrix_params float fFarZ; }; -struct IVRSystem_IVRSystem_019_GetProjectionRaw_params +struct IVRSystem_IVRSystem_020_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -55553,7 +57023,7 @@ struct IVRSystem_IVRSystem_019_GetProjectionRaw_params float *pfBottom; }; -struct wow64_IVRSystem_IVRSystem_019_GetProjectionRaw_params +struct wow64_IVRSystem_IVRSystem_020_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -55563,7 +57033,7 @@ struct wow64_IVRSystem_IVRSystem_019_GetProjectionRaw_params W32_PTR(float *pfBottom, pfBottom, float *); }; -struct IVRSystem_IVRSystem_019_ComputeDistortion_params +struct IVRSystem_IVRSystem_020_ComputeDistortion_params { struct u_iface u_iface; int8_t _ret; @@ -55573,7 +57043,7 @@ struct IVRSystem_IVRSystem_019_ComputeDistortion_params DistortionCoordinates_t *pDistortionCoordinates; }; -struct wow64_IVRSystem_IVRSystem_019_ComputeDistortion_params +struct wow64_IVRSystem_IVRSystem_020_ComputeDistortion_params { struct u_iface u_iface; int8_t _ret; @@ -55583,21 +57053,21 @@ struct wow64_IVRSystem_IVRSystem_019_ComputeDistortion_params W32_PTR(DistortionCoordinates_t *pDistortionCoordinates, pDistortionCoordinates, DistortionCoordinates_t *); }; -struct IVRSystem_IVRSystem_019_GetEyeToHeadTransform_params +struct IVRSystem_IVRSystem_020_GetEyeToHeadTransform_params { struct u_iface u_iface; HmdMatrix34_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_019_GetEyeToHeadTransform_params +struct wow64_IVRSystem_IVRSystem_020_GetEyeToHeadTransform_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_019_GetTimeSinceLastVsync_params +struct IVRSystem_IVRSystem_020_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -55605,7 +57075,7 @@ struct IVRSystem_IVRSystem_019_GetTimeSinceLastVsync_params uint64_t *pulFrameCounter; }; -struct wow64_IVRSystem_IVRSystem_019_GetTimeSinceLastVsync_params +struct wow64_IVRSystem_IVRSystem_020_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -55613,31 +57083,31 @@ struct wow64_IVRSystem_IVRSystem_019_GetTimeSinceLastVsync_params W32_PTR(uint64_t *pulFrameCounter, pulFrameCounter, uint64_t *); }; -struct IVRSystem_IVRSystem_019_GetD3D9AdapterIndex_params +struct IVRSystem_IVRSystem_020_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct wow64_IVRSystem_IVRSystem_019_GetD3D9AdapterIndex_params +struct wow64_IVRSystem_IVRSystem_020_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct IVRSystem_IVRSystem_019_GetDXGIOutputInfo_params +struct IVRSystem_IVRSystem_020_GetDXGIOutputInfo_params { struct u_iface u_iface; int32_t *pnAdapterIndex; }; -struct wow64_IVRSystem_IVRSystem_019_GetDXGIOutputInfo_params +struct wow64_IVRSystem_IVRSystem_020_GetDXGIOutputInfo_params { struct u_iface u_iface; W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); }; -struct IVRSystem_IVRSystem_019_GetOutputDevice_params +struct IVRSystem_IVRSystem_020_GetOutputDevice_params { struct u_iface u_iface; uint64_t *pnDevice; @@ -55645,7 +57115,7 @@ struct IVRSystem_IVRSystem_019_GetOutputDevice_params VkInstance_T *pInstance; }; -struct wow64_IVRSystem_IVRSystem_019_GetOutputDevice_params +struct wow64_IVRSystem_IVRSystem_020_GetOutputDevice_params { struct u_iface u_iface; W32_PTR(uint64_t *pnDevice, pnDevice, uint64_t *); @@ -55653,33 +57123,33 @@ struct wow64_IVRSystem_IVRSystem_019_GetOutputDevice_params W32_PTR(VkInstance_T *pInstance, pInstance, VkInstance_T *); }; -struct IVRSystem_IVRSystem_019_IsDisplayOnDesktop_params +struct IVRSystem_IVRSystem_020_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_019_IsDisplayOnDesktop_params +struct wow64_IVRSystem_IVRSystem_020_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_019_SetDisplayVisibility_params +struct IVRSystem_IVRSystem_020_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct wow64_IVRSystem_IVRSystem_019_SetDisplayVisibility_params +struct wow64_IVRSystem_IVRSystem_020_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct IVRSystem_IVRSystem_019_GetDeviceToAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_020_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -55688,7 +57158,7 @@ struct IVRSystem_IVRSystem_019_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct wow64_IVRSystem_IVRSystem_019_GetDeviceToAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_020_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -55697,41 +57167,41 @@ struct wow64_IVRSystem_IVRSystem_019_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct IVRSystem_IVRSystem_019_ResetSeatedZeroPose_params +struct IVRSystem_IVRSystem_020_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_019_ResetSeatedZeroPose_params +struct wow64_IVRSystem_IVRSystem_020_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_019_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_020_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_019_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_020_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_019_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_020_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_019_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_020_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_019_GetSortedTrackedDeviceIndicesOfClass_params +struct IVRSystem_IVRSystem_020_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -55741,7 +57211,7 @@ struct IVRSystem_IVRSystem_019_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_019_GetSortedTrackedDeviceIndicesOfClass_params +struct wow64_IVRSystem_IVRSystem_020_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -55751,21 +57221,21 @@ struct wow64_IVRSystem_IVRSystem_019_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct IVRSystem_IVRSystem_019_GetTrackedDeviceActivityLevel_params +struct IVRSystem_IVRSystem_020_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct wow64_IVRSystem_IVRSystem_019_GetTrackedDeviceActivityLevel_params +struct wow64_IVRSystem_IVRSystem_020_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct IVRSystem_IVRSystem_019_ApplyTransform_params +struct IVRSystem_IVRSystem_020_ApplyTransform_params { struct u_iface u_iface; TrackedDevicePose_t *pOutputPose; @@ -55773,7 +57243,7 @@ struct IVRSystem_IVRSystem_019_ApplyTransform_params const HmdMatrix34_t *pTransform; }; -struct wow64_IVRSystem_IVRSystem_019_ApplyTransform_params +struct wow64_IVRSystem_IVRSystem_020_ApplyTransform_params { struct u_iface u_iface; W32_PTR(TrackedDevicePose_t *pOutputPose, pOutputPose, TrackedDevicePose_t *); @@ -55781,63 +57251,63 @@ struct wow64_IVRSystem_IVRSystem_019_ApplyTransform_params W32_PTR(const HmdMatrix34_t *pTransform, pTransform, const HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_019_GetTrackedDeviceIndexForControllerRole_params +struct IVRSystem_IVRSystem_020_GetTrackedDeviceIndexForControllerRole_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceType; }; -struct wow64_IVRSystem_IVRSystem_019_GetTrackedDeviceIndexForControllerRole_params +struct wow64_IVRSystem_IVRSystem_020_GetTrackedDeviceIndexForControllerRole_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceType; }; -struct IVRSystem_IVRSystem_019_GetControllerRoleForTrackedDeviceIndex_params +struct IVRSystem_IVRSystem_020_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_019_GetControllerRoleForTrackedDeviceIndex_params +struct wow64_IVRSystem_IVRSystem_020_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_019_GetTrackedDeviceClass_params +struct IVRSystem_IVRSystem_020_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_019_GetTrackedDeviceClass_params +struct wow64_IVRSystem_IVRSystem_020_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_019_IsTrackedDeviceConnected_params +struct IVRSystem_IVRSystem_020_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_019_IsTrackedDeviceConnected_params +struct wow64_IVRSystem_IVRSystem_020_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_019_GetBoolTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_020_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -55846,7 +57316,7 @@ struct IVRSystem_IVRSystem_019_GetBoolTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_019_GetBoolTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_020_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -55855,7 +57325,7 @@ struct wow64_IVRSystem_IVRSystem_019_GetBoolTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_019_GetFloatTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_020_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -55864,7 +57334,7 @@ struct IVRSystem_IVRSystem_019_GetFloatTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_019_GetFloatTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_020_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -55873,7 +57343,7 @@ struct wow64_IVRSystem_IVRSystem_019_GetFloatTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_019_GetInt32TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_020_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -55882,7 +57352,7 @@ struct IVRSystem_IVRSystem_019_GetInt32TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_019_GetInt32TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_020_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -55891,7 +57361,7 @@ struct wow64_IVRSystem_IVRSystem_019_GetInt32TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_019_GetUint64TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_020_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -55900,7 +57370,7 @@ struct IVRSystem_IVRSystem_019_GetUint64TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_019_GetUint64TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_020_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -55909,7 +57379,7 @@ struct wow64_IVRSystem_IVRSystem_019_GetUint64TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_019_GetMatrix34TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_020_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; HmdMatrix34_t *_ret; @@ -55918,7 +57388,7 @@ struct IVRSystem_IVRSystem_019_GetMatrix34TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_019_GetMatrix34TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_020_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); @@ -55927,7 +57397,7 @@ struct wow64_IVRSystem_IVRSystem_019_GetMatrix34TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_019_GetArrayTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_020_GetArrayTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -55939,7 +57409,7 @@ struct IVRSystem_IVRSystem_019_GetArrayTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_019_GetArrayTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_020_GetArrayTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -55951,7 +57421,7 @@ struct wow64_IVRSystem_IVRSystem_019_GetArrayTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_019_GetStringTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_020_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -55962,7 +57432,7 @@ struct IVRSystem_IVRSystem_019_GetStringTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_019_GetStringTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_020_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -55973,21 +57443,21 @@ struct wow64_IVRSystem_IVRSystem_019_GetStringTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_019_GetPropErrorNameFromEnum_params +struct IVRSystem_IVRSystem_020_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVRSystem_IVRSystem_019_GetPropErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_020_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVRSystem_IVRSystem_019_PollNextEvent_params +struct IVRSystem_IVRSystem_020_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; @@ -55995,7 +57465,7 @@ struct IVRSystem_IVRSystem_019_PollNextEvent_params uint32_t uncbVREvent; }; -struct wow64_IVRSystem_IVRSystem_019_PollNextEvent_params +struct wow64_IVRSystem_IVRSystem_020_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; @@ -56003,7 +57473,7 @@ struct wow64_IVRSystem_IVRSystem_019_PollNextEvent_params uint32_t uncbVREvent; }; -struct IVRSystem_IVRSystem_019_PollNextEventWithPose_params +struct IVRSystem_IVRSystem_020_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -56013,7 +57483,7 @@ struct IVRSystem_IVRSystem_019_PollNextEventWithPose_params TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_019_PollNextEventWithPose_params +struct wow64_IVRSystem_IVRSystem_020_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -56023,21 +57493,21 @@ struct wow64_IVRSystem_IVRSystem_019_PollNextEventWithPose_params W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_019_GetEventTypeNameFromEnum_params +struct IVRSystem_IVRSystem_020_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct wow64_IVRSystem_IVRSystem_019_GetEventTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_020_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct IVRSystem_IVRSystem_019_GetHiddenAreaMesh_params +struct IVRSystem_IVRSystem_020_GetHiddenAreaMesh_params { struct u_iface u_iface; w_HiddenAreaMesh_t *_ret; @@ -56045,7 +57515,7 @@ struct IVRSystem_IVRSystem_019_GetHiddenAreaMesh_params uint32_t type; }; -struct wow64_IVRSystem_IVRSystem_019_GetHiddenAreaMesh_params +struct wow64_IVRSystem_IVRSystem_020_GetHiddenAreaMesh_params { struct u_iface u_iface; W32_PTR(w32_HiddenAreaMesh_t *_ret, _ret, w32_HiddenAreaMesh_t *); @@ -56053,7 +57523,7 @@ struct wow64_IVRSystem_IVRSystem_019_GetHiddenAreaMesh_params uint32_t type; }; -struct IVRSystem_IVRSystem_019_GetControllerState_params +struct IVRSystem_IVRSystem_020_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -56062,7 +57532,7 @@ struct IVRSystem_IVRSystem_019_GetControllerState_params uint32_t unControllerStateSize; }; -struct wow64_IVRSystem_IVRSystem_019_GetControllerState_params +struct wow64_IVRSystem_IVRSystem_020_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -56071,7 +57541,7 @@ struct wow64_IVRSystem_IVRSystem_019_GetControllerState_params uint32_t unControllerStateSize; }; -struct IVRSystem_IVRSystem_019_GetControllerStateWithPose_params +struct IVRSystem_IVRSystem_020_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -56082,7 +57552,7 @@ struct IVRSystem_IVRSystem_019_GetControllerStateWithPose_params TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_019_GetControllerStateWithPose_params +struct wow64_IVRSystem_IVRSystem_020_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -56093,7 +57563,7 @@ struct wow64_IVRSystem_IVRSystem_019_GetControllerStateWithPose_params W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_019_TriggerHapticPulse_params +struct IVRSystem_IVRSystem_020_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -56101,7 +57571,7 @@ struct IVRSystem_IVRSystem_019_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct wow64_IVRSystem_IVRSystem_019_TriggerHapticPulse_params +struct wow64_IVRSystem_IVRSystem_020_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -56109,151 +57579,159 @@ struct wow64_IVRSystem_IVRSystem_019_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct IVRSystem_IVRSystem_019_GetButtonIdNameFromEnum_params +struct IVRSystem_IVRSystem_020_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct wow64_IVRSystem_IVRSystem_019_GetButtonIdNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_020_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct IVRSystem_IVRSystem_019_GetControllerAxisTypeNameFromEnum_params +struct IVRSystem_IVRSystem_020_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct wow64_IVRSystem_IVRSystem_019_GetControllerAxisTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_020_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct IVRSystem_IVRSystem_019_IsInputAvailable_params +struct IVRSystem_IVRSystem_020_IsInputAvailable_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_019_IsInputAvailable_params +struct wow64_IVRSystem_IVRSystem_020_IsInputAvailable_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_019_IsSteamVRDrawingControllers_params +struct IVRSystem_IVRSystem_020_IsSteamVRDrawingControllers_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_019_IsSteamVRDrawingControllers_params +struct wow64_IVRSystem_IVRSystem_020_IsSteamVRDrawingControllers_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_019_ShouldApplicationPause_params +struct IVRSystem_IVRSystem_020_ShouldApplicationPause_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_019_ShouldApplicationPause_params +struct wow64_IVRSystem_IVRSystem_020_ShouldApplicationPause_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_019_ShouldApplicationReduceRenderingWork_params +struct IVRSystem_IVRSystem_020_ShouldApplicationReduceRenderingWork_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_019_ShouldApplicationReduceRenderingWork_params +struct wow64_IVRSystem_IVRSystem_020_ShouldApplicationReduceRenderingWork_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_019_DriverDebugRequest_params +struct IVRSystem_IVRSystem_020_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; - const char *pchRequest; - char *pchResponseBuffer; - uint32_t unResponseBufferSize; }; -struct wow64_IVRSystem_IVRSystem_019_DriverDebugRequest_params +struct wow64_IVRSystem_IVRSystem_020_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; - W32_PTR(const char *pchRequest, pchRequest, const char *); - W32_PTR(char *pchResponseBuffer, pchResponseBuffer, char *); - uint32_t unResponseBufferSize; }; -struct IVRSystem_IVRSystem_019_PerformFirmwareUpdate_params +struct IVRSystem_IVRSystem_020_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_019_PerformFirmwareUpdate_params +struct wow64_IVRSystem_IVRSystem_020_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_019_AcknowledgeQuit_Exiting_params +struct IVRSystem_IVRSystem_020_AcknowledgeQuit_UserPrompt_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_019_AcknowledgeQuit_Exiting_params +struct wow64_IVRSystem_IVRSystem_020_AcknowledgeQuit_UserPrompt_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_019_AcknowledgeQuit_UserPrompt_params +struct IVRSystem_IVRSystem_020_GetAppContainerFilePaths_params { struct u_iface u_iface; + uint32_t _ret; + char *pchBuffer; + uint32_t unBufferSize; }; -struct wow64_IVRSystem_IVRSystem_019_AcknowledgeQuit_UserPrompt_params +struct wow64_IVRSystem_IVRSystem_020_GetAppContainerFilePaths_params { struct u_iface u_iface; + uint32_t _ret; + W32_PTR(char *pchBuffer, pchBuffer, char *); + uint32_t unBufferSize; }; -struct IVRSystem_IVRSystem_020_GetRecommendedRenderTargetSize_params +struct IVRSystem_IVRSystem_020_GetRuntimeVersion_params +{ + struct u_iface u_iface; + struct u_buffer _ret; +}; + +struct wow64_IVRSystem_IVRSystem_020_GetRuntimeVersion_params +{ + struct u_iface u_iface; + struct u_buffer _ret; +}; + +struct IVRSystem_IVRSystem_021_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; uint32_t *pnWidth; uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_020_GetRecommendedRenderTargetSize_params +struct wow64_IVRSystem_IVRSystem_021_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_020_GetProjectionMatrix_params +struct IVRSystem_IVRSystem_021_GetProjectionMatrix_params { struct u_iface u_iface; HmdMatrix44_t *_ret; @@ -56262,7 +57740,7 @@ struct IVRSystem_IVRSystem_020_GetProjectionMatrix_params float fFarZ; }; -struct wow64_IVRSystem_IVRSystem_020_GetProjectionMatrix_params +struct wow64_IVRSystem_IVRSystem_021_GetProjectionMatrix_params { struct u_iface u_iface; W32_PTR(HmdMatrix44_t *_ret, _ret, HmdMatrix44_t *); @@ -56271,7 +57749,7 @@ struct wow64_IVRSystem_IVRSystem_020_GetProjectionMatrix_params float fFarZ; }; -struct IVRSystem_IVRSystem_020_GetProjectionRaw_params +struct IVRSystem_IVRSystem_021_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -56281,7 +57759,7 @@ struct IVRSystem_IVRSystem_020_GetProjectionRaw_params float *pfBottom; }; -struct wow64_IVRSystem_IVRSystem_020_GetProjectionRaw_params +struct wow64_IVRSystem_IVRSystem_021_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -56291,7 +57769,7 @@ struct wow64_IVRSystem_IVRSystem_020_GetProjectionRaw_params W32_PTR(float *pfBottom, pfBottom, float *); }; -struct IVRSystem_IVRSystem_020_ComputeDistortion_params +struct IVRSystem_IVRSystem_021_ComputeDistortion_params { struct u_iface u_iface; int8_t _ret; @@ -56301,7 +57779,7 @@ struct IVRSystem_IVRSystem_020_ComputeDistortion_params DistortionCoordinates_t *pDistortionCoordinates; }; -struct wow64_IVRSystem_IVRSystem_020_ComputeDistortion_params +struct wow64_IVRSystem_IVRSystem_021_ComputeDistortion_params { struct u_iface u_iface; int8_t _ret; @@ -56311,21 +57789,21 @@ struct wow64_IVRSystem_IVRSystem_020_ComputeDistortion_params W32_PTR(DistortionCoordinates_t *pDistortionCoordinates, pDistortionCoordinates, DistortionCoordinates_t *); }; -struct IVRSystem_IVRSystem_020_GetEyeToHeadTransform_params +struct IVRSystem_IVRSystem_021_GetEyeToHeadTransform_params { struct u_iface u_iface; HmdMatrix34_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_020_GetEyeToHeadTransform_params +struct wow64_IVRSystem_IVRSystem_021_GetEyeToHeadTransform_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_020_GetTimeSinceLastVsync_params +struct IVRSystem_IVRSystem_021_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -56333,7 +57811,7 @@ struct IVRSystem_IVRSystem_020_GetTimeSinceLastVsync_params uint64_t *pulFrameCounter; }; -struct wow64_IVRSystem_IVRSystem_020_GetTimeSinceLastVsync_params +struct wow64_IVRSystem_IVRSystem_021_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -56341,31 +57819,31 @@ struct wow64_IVRSystem_IVRSystem_020_GetTimeSinceLastVsync_params W32_PTR(uint64_t *pulFrameCounter, pulFrameCounter, uint64_t *); }; -struct IVRSystem_IVRSystem_020_GetD3D9AdapterIndex_params +struct IVRSystem_IVRSystem_021_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct wow64_IVRSystem_IVRSystem_020_GetD3D9AdapterIndex_params +struct wow64_IVRSystem_IVRSystem_021_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct IVRSystem_IVRSystem_020_GetDXGIOutputInfo_params +struct IVRSystem_IVRSystem_021_GetDXGIOutputInfo_params { struct u_iface u_iface; int32_t *pnAdapterIndex; }; -struct wow64_IVRSystem_IVRSystem_020_GetDXGIOutputInfo_params +struct wow64_IVRSystem_IVRSystem_021_GetDXGIOutputInfo_params { struct u_iface u_iface; W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); }; -struct IVRSystem_IVRSystem_020_GetOutputDevice_params +struct IVRSystem_IVRSystem_021_GetOutputDevice_params { struct u_iface u_iface; uint64_t *pnDevice; @@ -56373,7 +57851,7 @@ struct IVRSystem_IVRSystem_020_GetOutputDevice_params VkInstance_T *pInstance; }; -struct wow64_IVRSystem_IVRSystem_020_GetOutputDevice_params +struct wow64_IVRSystem_IVRSystem_021_GetOutputDevice_params { struct u_iface u_iface; W32_PTR(uint64_t *pnDevice, pnDevice, uint64_t *); @@ -56381,33 +57859,33 @@ struct wow64_IVRSystem_IVRSystem_020_GetOutputDevice_params W32_PTR(VkInstance_T *pInstance, pInstance, VkInstance_T *); }; -struct IVRSystem_IVRSystem_020_IsDisplayOnDesktop_params +struct IVRSystem_IVRSystem_021_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_020_IsDisplayOnDesktop_params +struct wow64_IVRSystem_IVRSystem_021_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_020_SetDisplayVisibility_params +struct IVRSystem_IVRSystem_021_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct wow64_IVRSystem_IVRSystem_020_SetDisplayVisibility_params +struct wow64_IVRSystem_IVRSystem_021_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct IVRSystem_IVRSystem_020_GetDeviceToAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_021_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -56416,7 +57894,7 @@ struct IVRSystem_IVRSystem_020_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct wow64_IVRSystem_IVRSystem_020_GetDeviceToAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_021_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -56425,41 +57903,41 @@ struct wow64_IVRSystem_IVRSystem_020_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct IVRSystem_IVRSystem_020_ResetSeatedZeroPose_params +struct IVRSystem_IVRSystem_021_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_020_ResetSeatedZeroPose_params +struct wow64_IVRSystem_IVRSystem_021_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_020_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_021_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_020_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_021_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_020_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_021_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_020_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_021_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_020_GetSortedTrackedDeviceIndicesOfClass_params +struct IVRSystem_IVRSystem_021_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -56469,7 +57947,7 @@ struct IVRSystem_IVRSystem_020_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_020_GetSortedTrackedDeviceIndicesOfClass_params +struct wow64_IVRSystem_IVRSystem_021_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -56479,21 +57957,21 @@ struct wow64_IVRSystem_IVRSystem_020_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct IVRSystem_IVRSystem_020_GetTrackedDeviceActivityLevel_params +struct IVRSystem_IVRSystem_021_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct wow64_IVRSystem_IVRSystem_020_GetTrackedDeviceActivityLevel_params +struct wow64_IVRSystem_IVRSystem_021_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct IVRSystem_IVRSystem_020_ApplyTransform_params +struct IVRSystem_IVRSystem_021_ApplyTransform_params { struct u_iface u_iface; TrackedDevicePose_t *pOutputPose; @@ -56501,7 +57979,7 @@ struct IVRSystem_IVRSystem_020_ApplyTransform_params const HmdMatrix34_t *pTransform; }; -struct wow64_IVRSystem_IVRSystem_020_ApplyTransform_params +struct wow64_IVRSystem_IVRSystem_021_ApplyTransform_params { struct u_iface u_iface; W32_PTR(TrackedDevicePose_t *pOutputPose, pOutputPose, TrackedDevicePose_t *); @@ -56509,63 +57987,63 @@ struct wow64_IVRSystem_IVRSystem_020_ApplyTransform_params W32_PTR(const HmdMatrix34_t *pTransform, pTransform, const HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_020_GetTrackedDeviceIndexForControllerRole_params +struct IVRSystem_IVRSystem_021_GetTrackedDeviceIndexForControllerRole_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceType; }; -struct wow64_IVRSystem_IVRSystem_020_GetTrackedDeviceIndexForControllerRole_params +struct wow64_IVRSystem_IVRSystem_021_GetTrackedDeviceIndexForControllerRole_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceType; }; -struct IVRSystem_IVRSystem_020_GetControllerRoleForTrackedDeviceIndex_params +struct IVRSystem_IVRSystem_021_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_020_GetControllerRoleForTrackedDeviceIndex_params +struct wow64_IVRSystem_IVRSystem_021_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_020_GetTrackedDeviceClass_params +struct IVRSystem_IVRSystem_021_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_020_GetTrackedDeviceClass_params +struct wow64_IVRSystem_IVRSystem_021_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_020_IsTrackedDeviceConnected_params +struct IVRSystem_IVRSystem_021_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_020_IsTrackedDeviceConnected_params +struct wow64_IVRSystem_IVRSystem_021_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_020_GetBoolTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_021_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -56574,7 +58052,7 @@ struct IVRSystem_IVRSystem_020_GetBoolTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_020_GetBoolTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_021_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -56583,7 +58061,7 @@ struct wow64_IVRSystem_IVRSystem_020_GetBoolTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_020_GetFloatTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_021_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -56592,7 +58070,7 @@ struct IVRSystem_IVRSystem_020_GetFloatTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_020_GetFloatTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_021_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -56601,7 +58079,7 @@ struct wow64_IVRSystem_IVRSystem_020_GetFloatTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_020_GetInt32TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_021_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -56610,7 +58088,7 @@ struct IVRSystem_IVRSystem_020_GetInt32TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_020_GetInt32TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_021_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -56619,7 +58097,7 @@ struct wow64_IVRSystem_IVRSystem_020_GetInt32TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_020_GetUint64TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_021_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -56628,7 +58106,7 @@ struct IVRSystem_IVRSystem_020_GetUint64TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_020_GetUint64TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_021_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -56637,7 +58115,7 @@ struct wow64_IVRSystem_IVRSystem_020_GetUint64TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_020_GetMatrix34TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_021_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; HmdMatrix34_t *_ret; @@ -56646,7 +58124,7 @@ struct IVRSystem_IVRSystem_020_GetMatrix34TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_020_GetMatrix34TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_021_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); @@ -56655,7 +58133,7 @@ struct wow64_IVRSystem_IVRSystem_020_GetMatrix34TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_020_GetArrayTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_021_GetArrayTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -56667,7 +58145,7 @@ struct IVRSystem_IVRSystem_020_GetArrayTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_020_GetArrayTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_021_GetArrayTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -56679,7 +58157,7 @@ struct wow64_IVRSystem_IVRSystem_020_GetArrayTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_020_GetStringTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_021_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -56690,7 +58168,7 @@ struct IVRSystem_IVRSystem_020_GetStringTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_020_GetStringTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_021_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -56701,71 +58179,71 @@ struct wow64_IVRSystem_IVRSystem_020_GetStringTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_020_GetPropErrorNameFromEnum_params +struct IVRSystem_IVRSystem_021_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVRSystem_IVRSystem_020_GetPropErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_021_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVRSystem_IVRSystem_020_PollNextEvent_params +struct IVRSystem_IVRSystem_021_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - w_VREvent_t_1322 *pEvent; + w_VREvent_t_11030 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVRSystem_IVRSystem_020_PollNextEvent_params +struct wow64_IVRSystem_IVRSystem_021_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - W32_PTR(w32_VREvent_t_1322 *pEvent, pEvent, w32_VREvent_t_1322 *); + W32_PTR(w32_VREvent_t_11030 *pEvent, pEvent, w32_VREvent_t_11030 *); uint32_t uncbVREvent; }; -struct IVRSystem_IVRSystem_020_PollNextEventWithPose_params +struct IVRSystem_IVRSystem_021_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - w_VREvent_t_1322 *pEvent; + w_VREvent_t_11030 *pEvent; uint32_t uncbVREvent; TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_020_PollNextEventWithPose_params +struct wow64_IVRSystem_IVRSystem_021_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - W32_PTR(w32_VREvent_t_1322 *pEvent, pEvent, w32_VREvent_t_1322 *); + W32_PTR(w32_VREvent_t_11030 *pEvent, pEvent, w32_VREvent_t_11030 *); uint32_t uncbVREvent; W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_020_GetEventTypeNameFromEnum_params +struct IVRSystem_IVRSystem_021_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct wow64_IVRSystem_IVRSystem_020_GetEventTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_021_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct IVRSystem_IVRSystem_020_GetHiddenAreaMesh_params +struct IVRSystem_IVRSystem_021_GetHiddenAreaMesh_params { struct u_iface u_iface; w_HiddenAreaMesh_t *_ret; @@ -56773,7 +58251,7 @@ struct IVRSystem_IVRSystem_020_GetHiddenAreaMesh_params uint32_t type; }; -struct wow64_IVRSystem_IVRSystem_020_GetHiddenAreaMesh_params +struct wow64_IVRSystem_IVRSystem_021_GetHiddenAreaMesh_params { struct u_iface u_iface; W32_PTR(w32_HiddenAreaMesh_t *_ret, _ret, w32_HiddenAreaMesh_t *); @@ -56781,7 +58259,7 @@ struct wow64_IVRSystem_IVRSystem_020_GetHiddenAreaMesh_params uint32_t type; }; -struct IVRSystem_IVRSystem_020_GetControllerState_params +struct IVRSystem_IVRSystem_021_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -56790,7 +58268,7 @@ struct IVRSystem_IVRSystem_020_GetControllerState_params uint32_t unControllerStateSize; }; -struct wow64_IVRSystem_IVRSystem_020_GetControllerState_params +struct wow64_IVRSystem_IVRSystem_021_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -56799,7 +58277,7 @@ struct wow64_IVRSystem_IVRSystem_020_GetControllerState_params uint32_t unControllerStateSize; }; -struct IVRSystem_IVRSystem_020_GetControllerStateWithPose_params +struct IVRSystem_IVRSystem_021_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -56810,7 +58288,7 @@ struct IVRSystem_IVRSystem_020_GetControllerStateWithPose_params TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_020_GetControllerStateWithPose_params +struct wow64_IVRSystem_IVRSystem_021_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -56821,7 +58299,7 @@ struct wow64_IVRSystem_IVRSystem_020_GetControllerStateWithPose_params W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_020_TriggerHapticPulse_params +struct IVRSystem_IVRSystem_021_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -56829,7 +58307,7 @@ struct IVRSystem_IVRSystem_020_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct wow64_IVRSystem_IVRSystem_020_TriggerHapticPulse_params +struct wow64_IVRSystem_IVRSystem_021_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -56837,117 +58315,107 @@ struct wow64_IVRSystem_IVRSystem_020_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct IVRSystem_IVRSystem_020_GetButtonIdNameFromEnum_params +struct IVRSystem_IVRSystem_021_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct wow64_IVRSystem_IVRSystem_020_GetButtonIdNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_021_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct IVRSystem_IVRSystem_020_GetControllerAxisTypeNameFromEnum_params +struct IVRSystem_IVRSystem_021_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct wow64_IVRSystem_IVRSystem_020_GetControllerAxisTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_021_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct IVRSystem_IVRSystem_020_IsInputAvailable_params +struct IVRSystem_IVRSystem_021_IsInputAvailable_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_020_IsInputAvailable_params +struct wow64_IVRSystem_IVRSystem_021_IsInputAvailable_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_020_IsSteamVRDrawingControllers_params +struct IVRSystem_IVRSystem_021_IsSteamVRDrawingControllers_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_020_IsSteamVRDrawingControllers_params +struct wow64_IVRSystem_IVRSystem_021_IsSteamVRDrawingControllers_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_020_ShouldApplicationPause_params +struct IVRSystem_IVRSystem_021_ShouldApplicationPause_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_020_ShouldApplicationPause_params +struct wow64_IVRSystem_IVRSystem_021_ShouldApplicationPause_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_020_ShouldApplicationReduceRenderingWork_params +struct IVRSystem_IVRSystem_021_ShouldApplicationReduceRenderingWork_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_020_ShouldApplicationReduceRenderingWork_params +struct wow64_IVRSystem_IVRSystem_021_ShouldApplicationReduceRenderingWork_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_020_PerformFirmwareUpdate_params +struct IVRSystem_IVRSystem_021_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_020_PerformFirmwareUpdate_params +struct wow64_IVRSystem_IVRSystem_021_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_020_AcknowledgeQuit_Exiting_params -{ - struct u_iface u_iface; -}; - -struct wow64_IVRSystem_IVRSystem_020_AcknowledgeQuit_Exiting_params -{ - struct u_iface u_iface; -}; - -struct IVRSystem_IVRSystem_020_AcknowledgeQuit_UserPrompt_params +struct IVRSystem_IVRSystem_021_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_020_AcknowledgeQuit_UserPrompt_params +struct wow64_IVRSystem_IVRSystem_021_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_020_GetAppContainerFilePaths_params +struct IVRSystem_IVRSystem_021_GetAppContainerFilePaths_params { struct u_iface u_iface; uint32_t _ret; @@ -56955,7 +58423,7 @@ struct IVRSystem_IVRSystem_020_GetAppContainerFilePaths_params uint32_t unBufferSize; }; -struct wow64_IVRSystem_IVRSystem_020_GetAppContainerFilePaths_params +struct wow64_IVRSystem_IVRSystem_021_GetAppContainerFilePaths_params { struct u_iface u_iface; uint32_t _ret; @@ -56963,33 +58431,33 @@ struct wow64_IVRSystem_IVRSystem_020_GetAppContainerFilePaths_params uint32_t unBufferSize; }; -struct IVRSystem_IVRSystem_020_GetRuntimeVersion_params +struct IVRSystem_IVRSystem_021_GetRuntimeVersion_params { struct u_iface u_iface; struct u_buffer _ret; }; -struct wow64_IVRSystem_IVRSystem_020_GetRuntimeVersion_params +struct wow64_IVRSystem_IVRSystem_021_GetRuntimeVersion_params { struct u_iface u_iface; struct u_buffer _ret; }; -struct IVRSystem_IVRSystem_021_GetRecommendedRenderTargetSize_params +struct IVRSystem_IVRSystem_022_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; uint32_t *pnWidth; uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_021_GetRecommendedRenderTargetSize_params +struct wow64_IVRSystem_IVRSystem_022_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_021_GetProjectionMatrix_params +struct IVRSystem_IVRSystem_022_GetProjectionMatrix_params { struct u_iface u_iface; HmdMatrix44_t *_ret; @@ -56998,7 +58466,7 @@ struct IVRSystem_IVRSystem_021_GetProjectionMatrix_params float fFarZ; }; -struct wow64_IVRSystem_IVRSystem_021_GetProjectionMatrix_params +struct wow64_IVRSystem_IVRSystem_022_GetProjectionMatrix_params { struct u_iface u_iface; W32_PTR(HmdMatrix44_t *_ret, _ret, HmdMatrix44_t *); @@ -57007,7 +58475,7 @@ struct wow64_IVRSystem_IVRSystem_021_GetProjectionMatrix_params float fFarZ; }; -struct IVRSystem_IVRSystem_021_GetProjectionRaw_params +struct IVRSystem_IVRSystem_022_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -57017,7 +58485,7 @@ struct IVRSystem_IVRSystem_021_GetProjectionRaw_params float *pfBottom; }; -struct wow64_IVRSystem_IVRSystem_021_GetProjectionRaw_params +struct wow64_IVRSystem_IVRSystem_022_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -57027,7 +58495,7 @@ struct wow64_IVRSystem_IVRSystem_021_GetProjectionRaw_params W32_PTR(float *pfBottom, pfBottom, float *); }; -struct IVRSystem_IVRSystem_021_ComputeDistortion_params +struct IVRSystem_IVRSystem_022_ComputeDistortion_params { struct u_iface u_iface; int8_t _ret; @@ -57037,7 +58505,7 @@ struct IVRSystem_IVRSystem_021_ComputeDistortion_params DistortionCoordinates_t *pDistortionCoordinates; }; -struct wow64_IVRSystem_IVRSystem_021_ComputeDistortion_params +struct wow64_IVRSystem_IVRSystem_022_ComputeDistortion_params { struct u_iface u_iface; int8_t _ret; @@ -57047,21 +58515,21 @@ struct wow64_IVRSystem_IVRSystem_021_ComputeDistortion_params W32_PTR(DistortionCoordinates_t *pDistortionCoordinates, pDistortionCoordinates, DistortionCoordinates_t *); }; -struct IVRSystem_IVRSystem_021_GetEyeToHeadTransform_params +struct IVRSystem_IVRSystem_022_GetEyeToHeadTransform_params { struct u_iface u_iface; HmdMatrix34_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_021_GetEyeToHeadTransform_params +struct wow64_IVRSystem_IVRSystem_022_GetEyeToHeadTransform_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_021_GetTimeSinceLastVsync_params +struct IVRSystem_IVRSystem_022_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -57069,7 +58537,7 @@ struct IVRSystem_IVRSystem_021_GetTimeSinceLastVsync_params uint64_t *pulFrameCounter; }; -struct wow64_IVRSystem_IVRSystem_021_GetTimeSinceLastVsync_params +struct wow64_IVRSystem_IVRSystem_022_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -57077,31 +58545,31 @@ struct wow64_IVRSystem_IVRSystem_021_GetTimeSinceLastVsync_params W32_PTR(uint64_t *pulFrameCounter, pulFrameCounter, uint64_t *); }; -struct IVRSystem_IVRSystem_021_GetD3D9AdapterIndex_params +struct IVRSystem_IVRSystem_022_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct wow64_IVRSystem_IVRSystem_021_GetD3D9AdapterIndex_params +struct wow64_IVRSystem_IVRSystem_022_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct IVRSystem_IVRSystem_021_GetDXGIOutputInfo_params +struct IVRSystem_IVRSystem_022_GetDXGIOutputInfo_params { struct u_iface u_iface; int32_t *pnAdapterIndex; }; -struct wow64_IVRSystem_IVRSystem_021_GetDXGIOutputInfo_params +struct wow64_IVRSystem_IVRSystem_022_GetDXGIOutputInfo_params { struct u_iface u_iface; W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); }; -struct IVRSystem_IVRSystem_021_GetOutputDevice_params +struct IVRSystem_IVRSystem_022_GetOutputDevice_params { struct u_iface u_iface; uint64_t *pnDevice; @@ -57109,7 +58577,7 @@ struct IVRSystem_IVRSystem_021_GetOutputDevice_params VkInstance_T *pInstance; }; -struct wow64_IVRSystem_IVRSystem_021_GetOutputDevice_params +struct wow64_IVRSystem_IVRSystem_022_GetOutputDevice_params { struct u_iface u_iface; W32_PTR(uint64_t *pnDevice, pnDevice, uint64_t *); @@ -57117,33 +58585,33 @@ struct wow64_IVRSystem_IVRSystem_021_GetOutputDevice_params W32_PTR(VkInstance_T *pInstance, pInstance, VkInstance_T *); }; -struct IVRSystem_IVRSystem_021_IsDisplayOnDesktop_params +struct IVRSystem_IVRSystem_022_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_021_IsDisplayOnDesktop_params +struct wow64_IVRSystem_IVRSystem_022_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_021_SetDisplayVisibility_params +struct IVRSystem_IVRSystem_022_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct wow64_IVRSystem_IVRSystem_021_SetDisplayVisibility_params +struct wow64_IVRSystem_IVRSystem_022_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct IVRSystem_IVRSystem_021_GetDeviceToAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_022_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -57152,7 +58620,7 @@ struct IVRSystem_IVRSystem_021_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct wow64_IVRSystem_IVRSystem_021_GetDeviceToAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_022_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -57161,41 +58629,31 @@ struct wow64_IVRSystem_IVRSystem_021_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct IVRSystem_IVRSystem_021_ResetSeatedZeroPose_params -{ - struct u_iface u_iface; -}; - -struct wow64_IVRSystem_IVRSystem_021_ResetSeatedZeroPose_params -{ - struct u_iface u_iface; -}; - -struct IVRSystem_IVRSystem_021_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_022_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_021_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_022_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_021_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_022_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_021_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_022_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_021_GetSortedTrackedDeviceIndicesOfClass_params +struct IVRSystem_IVRSystem_022_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -57205,7 +58663,7 @@ struct IVRSystem_IVRSystem_021_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_021_GetSortedTrackedDeviceIndicesOfClass_params +struct wow64_IVRSystem_IVRSystem_022_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -57215,21 +58673,21 @@ struct wow64_IVRSystem_IVRSystem_021_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct IVRSystem_IVRSystem_021_GetTrackedDeviceActivityLevel_params +struct IVRSystem_IVRSystem_022_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct wow64_IVRSystem_IVRSystem_021_GetTrackedDeviceActivityLevel_params +struct wow64_IVRSystem_IVRSystem_022_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct IVRSystem_IVRSystem_021_ApplyTransform_params +struct IVRSystem_IVRSystem_022_ApplyTransform_params { struct u_iface u_iface; TrackedDevicePose_t *pOutputPose; @@ -57237,7 +58695,7 @@ struct IVRSystem_IVRSystem_021_ApplyTransform_params const HmdMatrix34_t *pTransform; }; -struct wow64_IVRSystem_IVRSystem_021_ApplyTransform_params +struct wow64_IVRSystem_IVRSystem_022_ApplyTransform_params { struct u_iface u_iface; W32_PTR(TrackedDevicePose_t *pOutputPose, pOutputPose, TrackedDevicePose_t *); @@ -57245,63 +58703,63 @@ struct wow64_IVRSystem_IVRSystem_021_ApplyTransform_params W32_PTR(const HmdMatrix34_t *pTransform, pTransform, const HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_021_GetTrackedDeviceIndexForControllerRole_params +struct IVRSystem_IVRSystem_022_GetTrackedDeviceIndexForControllerRole_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceType; }; -struct wow64_IVRSystem_IVRSystem_021_GetTrackedDeviceIndexForControllerRole_params +struct wow64_IVRSystem_IVRSystem_022_GetTrackedDeviceIndexForControllerRole_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceType; }; -struct IVRSystem_IVRSystem_021_GetControllerRoleForTrackedDeviceIndex_params +struct IVRSystem_IVRSystem_022_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_021_GetControllerRoleForTrackedDeviceIndex_params +struct wow64_IVRSystem_IVRSystem_022_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_021_GetTrackedDeviceClass_params +struct IVRSystem_IVRSystem_022_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_021_GetTrackedDeviceClass_params +struct wow64_IVRSystem_IVRSystem_022_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_021_IsTrackedDeviceConnected_params +struct IVRSystem_IVRSystem_022_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_021_IsTrackedDeviceConnected_params +struct wow64_IVRSystem_IVRSystem_022_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_021_GetBoolTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_022_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -57310,7 +58768,7 @@ struct IVRSystem_IVRSystem_021_GetBoolTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_021_GetBoolTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_022_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -57319,7 +58777,7 @@ struct wow64_IVRSystem_IVRSystem_021_GetBoolTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_021_GetFloatTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_022_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -57328,7 +58786,7 @@ struct IVRSystem_IVRSystem_021_GetFloatTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_021_GetFloatTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_022_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -57337,7 +58795,7 @@ struct wow64_IVRSystem_IVRSystem_021_GetFloatTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_021_GetInt32TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_022_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -57346,7 +58804,7 @@ struct IVRSystem_IVRSystem_021_GetInt32TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_021_GetInt32TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_022_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -57355,7 +58813,7 @@ struct wow64_IVRSystem_IVRSystem_021_GetInt32TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_021_GetUint64TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_022_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -57364,7 +58822,7 @@ struct IVRSystem_IVRSystem_021_GetUint64TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_021_GetUint64TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_022_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -57373,7 +58831,7 @@ struct wow64_IVRSystem_IVRSystem_021_GetUint64TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_021_GetMatrix34TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_022_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; HmdMatrix34_t *_ret; @@ -57382,7 +58840,7 @@ struct IVRSystem_IVRSystem_021_GetMatrix34TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_021_GetMatrix34TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_022_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); @@ -57391,7 +58849,7 @@ struct wow64_IVRSystem_IVRSystem_021_GetMatrix34TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_021_GetArrayTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_022_GetArrayTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -57403,7 +58861,7 @@ struct IVRSystem_IVRSystem_021_GetArrayTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_021_GetArrayTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_022_GetArrayTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -57415,7 +58873,7 @@ struct wow64_IVRSystem_IVRSystem_021_GetArrayTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_021_GetStringTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_022_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -57426,7 +58884,7 @@ struct IVRSystem_IVRSystem_021_GetStringTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_021_GetStringTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_022_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -57437,71 +58895,71 @@ struct wow64_IVRSystem_IVRSystem_021_GetStringTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_021_GetPropErrorNameFromEnum_params +struct IVRSystem_IVRSystem_022_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVRSystem_IVRSystem_021_GetPropErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_022_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVRSystem_IVRSystem_021_PollNextEvent_params +struct IVRSystem_IVRSystem_022_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - w_VREvent_t_11030 *pEvent; + w_VREvent_t_223 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVRSystem_IVRSystem_021_PollNextEvent_params +struct wow64_IVRSystem_IVRSystem_022_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - W32_PTR(w32_VREvent_t_11030 *pEvent, pEvent, w32_VREvent_t_11030 *); + W32_PTR(w32_VREvent_t_223 *pEvent, pEvent, w32_VREvent_t_223 *); uint32_t uncbVREvent; }; -struct IVRSystem_IVRSystem_021_PollNextEventWithPose_params +struct IVRSystem_IVRSystem_022_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - w_VREvent_t_11030 *pEvent; + w_VREvent_t_223 *pEvent; uint32_t uncbVREvent; TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_021_PollNextEventWithPose_params +struct wow64_IVRSystem_IVRSystem_022_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - W32_PTR(w32_VREvent_t_11030 *pEvent, pEvent, w32_VREvent_t_11030 *); + W32_PTR(w32_VREvent_t_223 *pEvent, pEvent, w32_VREvent_t_223 *); uint32_t uncbVREvent; W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_021_GetEventTypeNameFromEnum_params +struct IVRSystem_IVRSystem_022_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct wow64_IVRSystem_IVRSystem_021_GetEventTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_022_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct IVRSystem_IVRSystem_021_GetHiddenAreaMesh_params +struct IVRSystem_IVRSystem_022_GetHiddenAreaMesh_params { struct u_iface u_iface; w_HiddenAreaMesh_t *_ret; @@ -57509,7 +58967,7 @@ struct IVRSystem_IVRSystem_021_GetHiddenAreaMesh_params uint32_t type; }; -struct wow64_IVRSystem_IVRSystem_021_GetHiddenAreaMesh_params +struct wow64_IVRSystem_IVRSystem_022_GetHiddenAreaMesh_params { struct u_iface u_iface; W32_PTR(w32_HiddenAreaMesh_t *_ret, _ret, w32_HiddenAreaMesh_t *); @@ -57517,7 +58975,7 @@ struct wow64_IVRSystem_IVRSystem_021_GetHiddenAreaMesh_params uint32_t type; }; -struct IVRSystem_IVRSystem_021_GetControllerState_params +struct IVRSystem_IVRSystem_022_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -57526,7 +58984,7 @@ struct IVRSystem_IVRSystem_021_GetControllerState_params uint32_t unControllerStateSize; }; -struct wow64_IVRSystem_IVRSystem_021_GetControllerState_params +struct wow64_IVRSystem_IVRSystem_022_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -57535,7 +58993,7 @@ struct wow64_IVRSystem_IVRSystem_021_GetControllerState_params uint32_t unControllerStateSize; }; -struct IVRSystem_IVRSystem_021_GetControllerStateWithPose_params +struct IVRSystem_IVRSystem_022_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -57546,7 +59004,7 @@ struct IVRSystem_IVRSystem_021_GetControllerStateWithPose_params TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_021_GetControllerStateWithPose_params +struct wow64_IVRSystem_IVRSystem_022_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -57557,7 +59015,7 @@ struct wow64_IVRSystem_IVRSystem_021_GetControllerStateWithPose_params W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_021_TriggerHapticPulse_params +struct IVRSystem_IVRSystem_022_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -57565,7 +59023,7 @@ struct IVRSystem_IVRSystem_021_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct wow64_IVRSystem_IVRSystem_021_TriggerHapticPulse_params +struct wow64_IVRSystem_IVRSystem_022_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -57573,107 +59031,107 @@ struct wow64_IVRSystem_IVRSystem_021_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct IVRSystem_IVRSystem_021_GetButtonIdNameFromEnum_params +struct IVRSystem_IVRSystem_022_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct wow64_IVRSystem_IVRSystem_021_GetButtonIdNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_022_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct IVRSystem_IVRSystem_021_GetControllerAxisTypeNameFromEnum_params +struct IVRSystem_IVRSystem_022_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct wow64_IVRSystem_IVRSystem_021_GetControllerAxisTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_022_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct IVRSystem_IVRSystem_021_IsInputAvailable_params +struct IVRSystem_IVRSystem_022_IsInputAvailable_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_021_IsInputAvailable_params +struct wow64_IVRSystem_IVRSystem_022_IsInputAvailable_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_021_IsSteamVRDrawingControllers_params +struct IVRSystem_IVRSystem_022_IsSteamVRDrawingControllers_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_021_IsSteamVRDrawingControllers_params +struct wow64_IVRSystem_IVRSystem_022_IsSteamVRDrawingControllers_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_021_ShouldApplicationPause_params +struct IVRSystem_IVRSystem_022_ShouldApplicationPause_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_021_ShouldApplicationPause_params +struct wow64_IVRSystem_IVRSystem_022_ShouldApplicationPause_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_021_ShouldApplicationReduceRenderingWork_params +struct IVRSystem_IVRSystem_022_ShouldApplicationReduceRenderingWork_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_021_ShouldApplicationReduceRenderingWork_params +struct wow64_IVRSystem_IVRSystem_022_ShouldApplicationReduceRenderingWork_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_021_PerformFirmwareUpdate_params +struct IVRSystem_IVRSystem_022_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_021_PerformFirmwareUpdate_params +struct wow64_IVRSystem_IVRSystem_022_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_021_AcknowledgeQuit_Exiting_params +struct IVRSystem_IVRSystem_022_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_021_AcknowledgeQuit_Exiting_params +struct wow64_IVRSystem_IVRSystem_022_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_021_GetAppContainerFilePaths_params +struct IVRSystem_IVRSystem_022_GetAppContainerFilePaths_params { struct u_iface u_iface; uint32_t _ret; @@ -57681,7 +59139,7 @@ struct IVRSystem_IVRSystem_021_GetAppContainerFilePaths_params uint32_t unBufferSize; }; -struct wow64_IVRSystem_IVRSystem_021_GetAppContainerFilePaths_params +struct wow64_IVRSystem_IVRSystem_022_GetAppContainerFilePaths_params { struct u_iface u_iface; uint32_t _ret; @@ -57689,33 +59147,33 @@ struct wow64_IVRSystem_IVRSystem_021_GetAppContainerFilePaths_params uint32_t unBufferSize; }; -struct IVRSystem_IVRSystem_021_GetRuntimeVersion_params +struct IVRSystem_IVRSystem_022_GetRuntimeVersion_params { struct u_iface u_iface; struct u_buffer _ret; }; -struct wow64_IVRSystem_IVRSystem_021_GetRuntimeVersion_params +struct wow64_IVRSystem_IVRSystem_022_GetRuntimeVersion_params { struct u_iface u_iface; struct u_buffer _ret; }; -struct IVRSystem_IVRSystem_022_GetRecommendedRenderTargetSize_params +struct IVRSystem_IVRSystem_023_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; uint32_t *pnWidth; uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_022_GetRecommendedRenderTargetSize_params +struct wow64_IVRSystem_IVRSystem_023_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_022_GetProjectionMatrix_params +struct IVRSystem_IVRSystem_023_GetProjectionMatrix_params { struct u_iface u_iface; HmdMatrix44_t *_ret; @@ -57724,7 +59182,7 @@ struct IVRSystem_IVRSystem_022_GetProjectionMatrix_params float fFarZ; }; -struct wow64_IVRSystem_IVRSystem_022_GetProjectionMatrix_params +struct wow64_IVRSystem_IVRSystem_023_GetProjectionMatrix_params { struct u_iface u_iface; W32_PTR(HmdMatrix44_t *_ret, _ret, HmdMatrix44_t *); @@ -57733,7 +59191,7 @@ struct wow64_IVRSystem_IVRSystem_022_GetProjectionMatrix_params float fFarZ; }; -struct IVRSystem_IVRSystem_022_GetProjectionRaw_params +struct IVRSystem_IVRSystem_023_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -57743,7 +59201,7 @@ struct IVRSystem_IVRSystem_022_GetProjectionRaw_params float *pfBottom; }; -struct wow64_IVRSystem_IVRSystem_022_GetProjectionRaw_params +struct wow64_IVRSystem_IVRSystem_023_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -57753,7 +59211,7 @@ struct wow64_IVRSystem_IVRSystem_022_GetProjectionRaw_params W32_PTR(float *pfBottom, pfBottom, float *); }; -struct IVRSystem_IVRSystem_022_ComputeDistortion_params +struct IVRSystem_IVRSystem_023_ComputeDistortion_params { struct u_iface u_iface; int8_t _ret; @@ -57763,7 +59221,7 @@ struct IVRSystem_IVRSystem_022_ComputeDistortion_params DistortionCoordinates_t *pDistortionCoordinates; }; -struct wow64_IVRSystem_IVRSystem_022_ComputeDistortion_params +struct wow64_IVRSystem_IVRSystem_023_ComputeDistortion_params { struct u_iface u_iface; int8_t _ret; @@ -57773,21 +59231,21 @@ struct wow64_IVRSystem_IVRSystem_022_ComputeDistortion_params W32_PTR(DistortionCoordinates_t *pDistortionCoordinates, pDistortionCoordinates, DistortionCoordinates_t *); }; -struct IVRSystem_IVRSystem_022_GetEyeToHeadTransform_params +struct IVRSystem_IVRSystem_023_GetEyeToHeadTransform_params { struct u_iface u_iface; HmdMatrix34_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_022_GetEyeToHeadTransform_params +struct wow64_IVRSystem_IVRSystem_023_GetEyeToHeadTransform_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_022_GetTimeSinceLastVsync_params +struct IVRSystem_IVRSystem_023_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -57795,7 +59253,7 @@ struct IVRSystem_IVRSystem_022_GetTimeSinceLastVsync_params uint64_t *pulFrameCounter; }; -struct wow64_IVRSystem_IVRSystem_022_GetTimeSinceLastVsync_params +struct wow64_IVRSystem_IVRSystem_023_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -57803,31 +59261,31 @@ struct wow64_IVRSystem_IVRSystem_022_GetTimeSinceLastVsync_params W32_PTR(uint64_t *pulFrameCounter, pulFrameCounter, uint64_t *); }; -struct IVRSystem_IVRSystem_022_GetD3D9AdapterIndex_params +struct IVRSystem_IVRSystem_023_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct wow64_IVRSystem_IVRSystem_022_GetD3D9AdapterIndex_params +struct wow64_IVRSystem_IVRSystem_023_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct IVRSystem_IVRSystem_022_GetDXGIOutputInfo_params +struct IVRSystem_IVRSystem_023_GetDXGIOutputInfo_params { struct u_iface u_iface; int32_t *pnAdapterIndex; }; -struct wow64_IVRSystem_IVRSystem_022_GetDXGIOutputInfo_params +struct wow64_IVRSystem_IVRSystem_023_GetDXGIOutputInfo_params { struct u_iface u_iface; W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); }; -struct IVRSystem_IVRSystem_022_GetOutputDevice_params +struct IVRSystem_IVRSystem_023_GetOutputDevice_params { struct u_iface u_iface; uint64_t *pnDevice; @@ -57835,7 +59293,7 @@ struct IVRSystem_IVRSystem_022_GetOutputDevice_params VkInstance_T *pInstance; }; -struct wow64_IVRSystem_IVRSystem_022_GetOutputDevice_params +struct wow64_IVRSystem_IVRSystem_023_GetOutputDevice_params { struct u_iface u_iface; W32_PTR(uint64_t *pnDevice, pnDevice, uint64_t *); @@ -57843,33 +59301,33 @@ struct wow64_IVRSystem_IVRSystem_022_GetOutputDevice_params W32_PTR(VkInstance_T *pInstance, pInstance, VkInstance_T *); }; -struct IVRSystem_IVRSystem_022_IsDisplayOnDesktop_params +struct IVRSystem_IVRSystem_023_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_022_IsDisplayOnDesktop_params +struct wow64_IVRSystem_IVRSystem_023_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_022_SetDisplayVisibility_params +struct IVRSystem_IVRSystem_023_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct wow64_IVRSystem_IVRSystem_022_SetDisplayVisibility_params +struct wow64_IVRSystem_IVRSystem_023_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct IVRSystem_IVRSystem_022_GetDeviceToAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_023_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -57878,7 +59336,7 @@ struct IVRSystem_IVRSystem_022_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct wow64_IVRSystem_IVRSystem_022_GetDeviceToAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_023_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -57887,31 +59345,31 @@ struct wow64_IVRSystem_IVRSystem_022_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct IVRSystem_IVRSystem_022_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_023_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_022_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_023_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_022_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_023_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_022_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_023_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_022_GetSortedTrackedDeviceIndicesOfClass_params +struct IVRSystem_IVRSystem_023_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -57921,7 +59379,7 @@ struct IVRSystem_IVRSystem_022_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_022_GetSortedTrackedDeviceIndicesOfClass_params +struct wow64_IVRSystem_IVRSystem_023_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -57931,21 +59389,21 @@ struct wow64_IVRSystem_IVRSystem_022_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct IVRSystem_IVRSystem_022_GetTrackedDeviceActivityLevel_params +struct IVRSystem_IVRSystem_023_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct wow64_IVRSystem_IVRSystem_022_GetTrackedDeviceActivityLevel_params +struct wow64_IVRSystem_IVRSystem_023_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct IVRSystem_IVRSystem_022_ApplyTransform_params +struct IVRSystem_IVRSystem_023_ApplyTransform_params { struct u_iface u_iface; TrackedDevicePose_t *pOutputPose; @@ -57953,7 +59411,7 @@ struct IVRSystem_IVRSystem_022_ApplyTransform_params const HmdMatrix34_t *pTransform; }; -struct wow64_IVRSystem_IVRSystem_022_ApplyTransform_params +struct wow64_IVRSystem_IVRSystem_023_ApplyTransform_params { struct u_iface u_iface; W32_PTR(TrackedDevicePose_t *pOutputPose, pOutputPose, TrackedDevicePose_t *); @@ -57961,63 +59419,63 @@ struct wow64_IVRSystem_IVRSystem_022_ApplyTransform_params W32_PTR(const HmdMatrix34_t *pTransform, pTransform, const HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_022_GetTrackedDeviceIndexForControllerRole_params +struct IVRSystem_IVRSystem_023_GetTrackedDeviceIndexForControllerRole_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceType; }; -struct wow64_IVRSystem_IVRSystem_022_GetTrackedDeviceIndexForControllerRole_params +struct wow64_IVRSystem_IVRSystem_023_GetTrackedDeviceIndexForControllerRole_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceType; }; -struct IVRSystem_IVRSystem_022_GetControllerRoleForTrackedDeviceIndex_params +struct IVRSystem_IVRSystem_023_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_022_GetControllerRoleForTrackedDeviceIndex_params +struct wow64_IVRSystem_IVRSystem_023_GetControllerRoleForTrackedDeviceIndex_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_022_GetTrackedDeviceClass_params +struct IVRSystem_IVRSystem_023_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_022_GetTrackedDeviceClass_params +struct wow64_IVRSystem_IVRSystem_023_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_022_IsTrackedDeviceConnected_params +struct IVRSystem_IVRSystem_023_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_022_IsTrackedDeviceConnected_params +struct wow64_IVRSystem_IVRSystem_023_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_022_GetBoolTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_023_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -58026,7 +59484,7 @@ struct IVRSystem_IVRSystem_022_GetBoolTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_022_GetBoolTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_023_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -58035,7 +59493,7 @@ struct wow64_IVRSystem_IVRSystem_022_GetBoolTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_022_GetFloatTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_023_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -58044,7 +59502,7 @@ struct IVRSystem_IVRSystem_022_GetFloatTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_022_GetFloatTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_023_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -58053,7 +59511,7 @@ struct wow64_IVRSystem_IVRSystem_022_GetFloatTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_022_GetInt32TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_023_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -58062,7 +59520,7 @@ struct IVRSystem_IVRSystem_022_GetInt32TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_022_GetInt32TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_023_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -58071,7 +59529,7 @@ struct wow64_IVRSystem_IVRSystem_022_GetInt32TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_022_GetUint64TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_023_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -58080,7 +59538,7 @@ struct IVRSystem_IVRSystem_022_GetUint64TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_022_GetUint64TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_023_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -58089,7 +59547,7 @@ struct wow64_IVRSystem_IVRSystem_022_GetUint64TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_022_GetMatrix34TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_023_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; HmdMatrix34_t *_ret; @@ -58098,7 +59556,7 @@ struct IVRSystem_IVRSystem_022_GetMatrix34TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_022_GetMatrix34TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_023_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); @@ -58107,7 +59565,7 @@ struct wow64_IVRSystem_IVRSystem_022_GetMatrix34TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_022_GetArrayTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_023_GetArrayTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -58119,7 +59577,7 @@ struct IVRSystem_IVRSystem_022_GetArrayTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_022_GetArrayTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_023_GetArrayTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -58131,7 +59589,7 @@ struct wow64_IVRSystem_IVRSystem_022_GetArrayTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_022_GetStringTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_023_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -58142,7 +59600,7 @@ struct IVRSystem_IVRSystem_022_GetStringTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_022_GetStringTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_023_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -58153,21 +59611,21 @@ struct wow64_IVRSystem_IVRSystem_022_GetStringTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_022_GetPropErrorNameFromEnum_params +struct IVRSystem_IVRSystem_023_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVRSystem_IVRSystem_022_GetPropErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_023_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVRSystem_IVRSystem_022_PollNextEvent_params +struct IVRSystem_IVRSystem_023_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; @@ -58175,7 +59633,7 @@ struct IVRSystem_IVRSystem_022_PollNextEvent_params uint32_t uncbVREvent; }; -struct wow64_IVRSystem_IVRSystem_022_PollNextEvent_params +struct wow64_IVRSystem_IVRSystem_023_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; @@ -58183,7 +59641,7 @@ struct wow64_IVRSystem_IVRSystem_022_PollNextEvent_params uint32_t uncbVREvent; }; -struct IVRSystem_IVRSystem_022_PollNextEventWithPose_params +struct IVRSystem_IVRSystem_023_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -58193,7 +59651,7 @@ struct IVRSystem_IVRSystem_022_PollNextEventWithPose_params TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_022_PollNextEventWithPose_params +struct wow64_IVRSystem_IVRSystem_023_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -58203,21 +59661,43 @@ struct wow64_IVRSystem_IVRSystem_022_PollNextEventWithPose_params W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_022_GetEventTypeNameFromEnum_params +struct IVRSystem_IVRSystem_023_PollNextEventWithPoseAndOverlays_params +{ + struct u_iface u_iface; + int8_t _ret; + uint32_t eOrigin; + w_VREvent_t_223 *pEvent; + uint32_t uncbVREvent; + TrackedDevicePose_t *pTrackedDevicePose; + uint64_t *pulOverlayHandle; +}; + +struct wow64_IVRSystem_IVRSystem_023_PollNextEventWithPoseAndOverlays_params +{ + struct u_iface u_iface; + int8_t _ret; + uint32_t eOrigin; + W32_PTR(w32_VREvent_t_223 *pEvent, pEvent, w32_VREvent_t_223 *); + uint32_t uncbVREvent; + W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); + W32_PTR(uint64_t *pulOverlayHandle, pulOverlayHandle, uint64_t *); +}; + +struct IVRSystem_IVRSystem_023_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct wow64_IVRSystem_IVRSystem_022_GetEventTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_023_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct IVRSystem_IVRSystem_022_GetHiddenAreaMesh_params +struct IVRSystem_IVRSystem_023_GetHiddenAreaMesh_params { struct u_iface u_iface; w_HiddenAreaMesh_t *_ret; @@ -58225,7 +59705,7 @@ struct IVRSystem_IVRSystem_022_GetHiddenAreaMesh_params uint32_t type; }; -struct wow64_IVRSystem_IVRSystem_022_GetHiddenAreaMesh_params +struct wow64_IVRSystem_IVRSystem_023_GetHiddenAreaMesh_params { struct u_iface u_iface; W32_PTR(w32_HiddenAreaMesh_t *_ret, _ret, w32_HiddenAreaMesh_t *); @@ -58233,7 +59713,7 @@ struct wow64_IVRSystem_IVRSystem_022_GetHiddenAreaMesh_params uint32_t type; }; -struct IVRSystem_IVRSystem_022_GetControllerState_params +struct IVRSystem_IVRSystem_023_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -58242,7 +59722,7 @@ struct IVRSystem_IVRSystem_022_GetControllerState_params uint32_t unControllerStateSize; }; -struct wow64_IVRSystem_IVRSystem_022_GetControllerState_params +struct wow64_IVRSystem_IVRSystem_023_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -58251,7 +59731,7 @@ struct wow64_IVRSystem_IVRSystem_022_GetControllerState_params uint32_t unControllerStateSize; }; -struct IVRSystem_IVRSystem_022_GetControllerStateWithPose_params +struct IVRSystem_IVRSystem_023_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -58262,7 +59742,7 @@ struct IVRSystem_IVRSystem_022_GetControllerStateWithPose_params TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_022_GetControllerStateWithPose_params +struct wow64_IVRSystem_IVRSystem_023_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -58273,7 +59753,7 @@ struct wow64_IVRSystem_IVRSystem_022_GetControllerStateWithPose_params W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_022_TriggerHapticPulse_params +struct IVRSystem_IVRSystem_023_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -58281,7 +59761,7 @@ struct IVRSystem_IVRSystem_022_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct wow64_IVRSystem_IVRSystem_022_TriggerHapticPulse_params +struct wow64_IVRSystem_IVRSystem_023_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -58289,107 +59769,107 @@ struct wow64_IVRSystem_IVRSystem_022_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct IVRSystem_IVRSystem_022_GetButtonIdNameFromEnum_params +struct IVRSystem_IVRSystem_023_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct wow64_IVRSystem_IVRSystem_022_GetButtonIdNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_023_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct IVRSystem_IVRSystem_022_GetControllerAxisTypeNameFromEnum_params +struct IVRSystem_IVRSystem_023_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct wow64_IVRSystem_IVRSystem_022_GetControllerAxisTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_023_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct IVRSystem_IVRSystem_022_IsInputAvailable_params +struct IVRSystem_IVRSystem_023_IsInputAvailable_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_022_IsInputAvailable_params +struct wow64_IVRSystem_IVRSystem_023_IsInputAvailable_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_022_IsSteamVRDrawingControllers_params +struct IVRSystem_IVRSystem_023_IsSteamVRDrawingControllers_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_022_IsSteamVRDrawingControllers_params +struct wow64_IVRSystem_IVRSystem_023_IsSteamVRDrawingControllers_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_022_ShouldApplicationPause_params +struct IVRSystem_IVRSystem_023_ShouldApplicationPause_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_022_ShouldApplicationPause_params +struct wow64_IVRSystem_IVRSystem_023_ShouldApplicationPause_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_022_ShouldApplicationReduceRenderingWork_params +struct IVRSystem_IVRSystem_023_ShouldApplicationReduceRenderingWork_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_022_ShouldApplicationReduceRenderingWork_params +struct wow64_IVRSystem_IVRSystem_023_ShouldApplicationReduceRenderingWork_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_022_PerformFirmwareUpdate_params +struct IVRSystem_IVRSystem_023_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_022_PerformFirmwareUpdate_params +struct wow64_IVRSystem_IVRSystem_023_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_022_AcknowledgeQuit_Exiting_params +struct IVRSystem_IVRSystem_023_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_022_AcknowledgeQuit_Exiting_params +struct wow64_IVRSystem_IVRSystem_023_AcknowledgeQuit_Exiting_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_022_GetAppContainerFilePaths_params +struct IVRSystem_IVRSystem_023_GetAppContainerFilePaths_params { struct u_iface u_iface; uint32_t _ret; @@ -58397,7 +59877,7 @@ struct IVRSystem_IVRSystem_022_GetAppContainerFilePaths_params uint32_t unBufferSize; }; -struct wow64_IVRSystem_IVRSystem_022_GetAppContainerFilePaths_params +struct wow64_IVRSystem_IVRSystem_023_GetAppContainerFilePaths_params { struct u_iface u_iface; uint32_t _ret; @@ -58405,13 +59885,13 @@ struct wow64_IVRSystem_IVRSystem_022_GetAppContainerFilePaths_params uint32_t unBufferSize; }; -struct IVRSystem_IVRSystem_022_GetRuntimeVersion_params +struct IVRSystem_IVRSystem_023_GetRuntimeVersion_params { struct u_iface u_iface; struct u_buffer _ret; }; -struct wow64_IVRSystem_IVRSystem_022_GetRuntimeVersion_params +struct wow64_IVRSystem_IVRSystem_023_GetRuntimeVersion_params { struct u_iface u_iface; struct u_buffer _ret; @@ -60850,6 +62330,59 @@ enum unix_funcs unix_IVRCompositor_IVRCompositor_028_GetCompositorBenchmarkResults, unix_IVRCompositor_IVRCompositor_028_GetLastPosePredictionIDs, unix_IVRCompositor_IVRCompositor_028_GetPosesForFrame, + unix_IVRCompositor_IVRCompositor_029_SetTrackingSpace, + unix_IVRCompositor_IVRCompositor_029_GetTrackingSpace, + unix_IVRCompositor_IVRCompositor_029_WaitGetPoses, + unix_IVRCompositor_IVRCompositor_029_GetLastPoses, + unix_IVRCompositor_IVRCompositor_029_GetLastPoseForTrackedDeviceIndex, + unix_IVRCompositor_IVRCompositor_029_GetSubmitTexture, + unix_IVRCompositor_IVRCompositor_029_Submit, + unix_IVRCompositor_IVRCompositor_029_SubmitWithArrayIndex, + unix_IVRCompositor_IVRCompositor_029_ClearLastSubmittedFrame, + unix_IVRCompositor_IVRCompositor_029_PostPresentHandoff, + unix_IVRCompositor_IVRCompositor_029_GetFrameTiming, + unix_IVRCompositor_IVRCompositor_029_GetFrameTimings, + unix_IVRCompositor_IVRCompositor_029_GetFrameTimeRemaining, + unix_IVRCompositor_IVRCompositor_029_GetCumulativeStats, + unix_IVRCompositor_IVRCompositor_029_FadeToColor, + unix_IVRCompositor_IVRCompositor_029_GetCurrentFadeColor, + unix_IVRCompositor_IVRCompositor_029_FadeGrid, + unix_IVRCompositor_IVRCompositor_029_GetCurrentGridAlpha, + unix_IVRCompositor_IVRCompositor_029_SetSkyboxOverride, + unix_IVRCompositor_IVRCompositor_029_ClearSkyboxOverride, + unix_IVRCompositor_IVRCompositor_029_CompositorBringToFront, + unix_IVRCompositor_IVRCompositor_029_CompositorGoToBack, + unix_IVRCompositor_IVRCompositor_029_CompositorQuit, + unix_IVRCompositor_IVRCompositor_029_IsFullscreen, + unix_IVRCompositor_IVRCompositor_029_GetCurrentSceneFocusProcess, + unix_IVRCompositor_IVRCompositor_029_GetLastFrameRenderer, + unix_IVRCompositor_IVRCompositor_029_CanRenderScene, + unix_IVRCompositor_IVRCompositor_029_ShowMirrorWindow, + unix_IVRCompositor_IVRCompositor_029_HideMirrorWindow, + unix_IVRCompositor_IVRCompositor_029_IsMirrorWindowVisible, + unix_IVRCompositor_IVRCompositor_029_CompositorDumpImages, + unix_IVRCompositor_IVRCompositor_029_ShouldAppRenderWithLowResources, + unix_IVRCompositor_IVRCompositor_029_ForceInterleavedReprojectionOn, + unix_IVRCompositor_IVRCompositor_029_ForceReconnectProcess, + unix_IVRCompositor_IVRCompositor_029_SuspendRendering, + unix_IVRCompositor_IVRCompositor_029_GetMirrorTextureD3D11, + unix_IVRCompositor_IVRCompositor_029_ReleaseMirrorTextureD3D11, + unix_IVRCompositor_IVRCompositor_029_GetMirrorTextureGL, + unix_IVRCompositor_IVRCompositor_029_ReleaseSharedGLTexture, + unix_IVRCompositor_IVRCompositor_029_LockGLSharedTextureForAccess, + unix_IVRCompositor_IVRCompositor_029_UnlockGLSharedTextureForAccess, + unix_IVRCompositor_IVRCompositor_029_GetVulkanInstanceExtensionsRequired, + unix_IVRCompositor_IVRCompositor_029_GetVulkanDeviceExtensionsRequired, + unix_IVRCompositor_IVRCompositor_029_SetExplicitTimingMode, + unix_IVRCompositor_IVRCompositor_029_SubmitExplicitTimingData, + unix_IVRCompositor_IVRCompositor_029_IsMotionSmoothingEnabled, + unix_IVRCompositor_IVRCompositor_029_IsMotionSmoothingSupported, + unix_IVRCompositor_IVRCompositor_029_IsCurrentSceneFocusAppLoading, + unix_IVRCompositor_IVRCompositor_029_SetStageOverride_Async, + unix_IVRCompositor_IVRCompositor_029_ClearStageOverride, + unix_IVRCompositor_IVRCompositor_029_GetCompositorBenchmarkResults, + unix_IVRCompositor_IVRCompositor_029_GetLastPosePredictionIDs, + unix_IVRCompositor_IVRCompositor_029_GetPosesForFrame, unix_IVRControlPanel_IVRControlPanel_006_undoc1, unix_IVRControlPanel_IVRControlPanel_006_undoc2, unix_IVRControlPanel_IVRControlPanel_006_undoc3, @@ -63530,6 +65063,53 @@ enum unix_funcs unix_IVRSystem_IVRSystem_022_AcknowledgeQuit_Exiting, unix_IVRSystem_IVRSystem_022_GetAppContainerFilePaths, unix_IVRSystem_IVRSystem_022_GetRuntimeVersion, + unix_IVRSystem_IVRSystem_023_GetRecommendedRenderTargetSize, + unix_IVRSystem_IVRSystem_023_GetProjectionMatrix, + unix_IVRSystem_IVRSystem_023_GetProjectionRaw, + unix_IVRSystem_IVRSystem_023_ComputeDistortion, + unix_IVRSystem_IVRSystem_023_GetEyeToHeadTransform, + unix_IVRSystem_IVRSystem_023_GetTimeSinceLastVsync, + unix_IVRSystem_IVRSystem_023_GetD3D9AdapterIndex, + unix_IVRSystem_IVRSystem_023_GetDXGIOutputInfo, + unix_IVRSystem_IVRSystem_023_GetOutputDevice, + unix_IVRSystem_IVRSystem_023_IsDisplayOnDesktop, + unix_IVRSystem_IVRSystem_023_SetDisplayVisibility, + unix_IVRSystem_IVRSystem_023_GetDeviceToAbsoluteTrackingPose, + unix_IVRSystem_IVRSystem_023_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, + unix_IVRSystem_IVRSystem_023_GetRawZeroPoseToStandingAbsoluteTrackingPose, + unix_IVRSystem_IVRSystem_023_GetSortedTrackedDeviceIndicesOfClass, + unix_IVRSystem_IVRSystem_023_GetTrackedDeviceActivityLevel, + unix_IVRSystem_IVRSystem_023_ApplyTransform, + unix_IVRSystem_IVRSystem_023_GetTrackedDeviceIndexForControllerRole, + unix_IVRSystem_IVRSystem_023_GetControllerRoleForTrackedDeviceIndex, + unix_IVRSystem_IVRSystem_023_GetTrackedDeviceClass, + unix_IVRSystem_IVRSystem_023_IsTrackedDeviceConnected, + unix_IVRSystem_IVRSystem_023_GetBoolTrackedDeviceProperty, + unix_IVRSystem_IVRSystem_023_GetFloatTrackedDeviceProperty, + unix_IVRSystem_IVRSystem_023_GetInt32TrackedDeviceProperty, + unix_IVRSystem_IVRSystem_023_GetUint64TrackedDeviceProperty, + unix_IVRSystem_IVRSystem_023_GetMatrix34TrackedDeviceProperty, + unix_IVRSystem_IVRSystem_023_GetArrayTrackedDeviceProperty, + unix_IVRSystem_IVRSystem_023_GetStringTrackedDeviceProperty, + unix_IVRSystem_IVRSystem_023_GetPropErrorNameFromEnum, + unix_IVRSystem_IVRSystem_023_PollNextEvent, + unix_IVRSystem_IVRSystem_023_PollNextEventWithPose, + unix_IVRSystem_IVRSystem_023_PollNextEventWithPoseAndOverlays, + unix_IVRSystem_IVRSystem_023_GetEventTypeNameFromEnum, + unix_IVRSystem_IVRSystem_023_GetHiddenAreaMesh, + unix_IVRSystem_IVRSystem_023_GetControllerState, + unix_IVRSystem_IVRSystem_023_GetControllerStateWithPose, + unix_IVRSystem_IVRSystem_023_TriggerHapticPulse, + unix_IVRSystem_IVRSystem_023_GetButtonIdNameFromEnum, + unix_IVRSystem_IVRSystem_023_GetControllerAxisTypeNameFromEnum, + unix_IVRSystem_IVRSystem_023_IsInputAvailable, + unix_IVRSystem_IVRSystem_023_IsSteamVRDrawingControllers, + unix_IVRSystem_IVRSystem_023_ShouldApplicationPause, + unix_IVRSystem_IVRSystem_023_ShouldApplicationReduceRenderingWork, + unix_IVRSystem_IVRSystem_023_PerformFirmwareUpdate, + unix_IVRSystem_IVRSystem_023_AcknowledgeQuit_Exiting, + unix_IVRSystem_IVRSystem_023_GetAppContainerFilePaths, + unix_IVRSystem_IVRSystem_023_GetRuntimeVersion, unix_IVRTrackedCamera_IVRTrackedCamera_001_HasCamera, unix_IVRTrackedCamera_IVRTrackedCamera_001_GetCameraFirmwareDescription, unix_IVRTrackedCamera_IVRTrackedCamera_001_GetCameraFrameDimensions, diff --git a/vrclient_x64/vrclient_generated.c b/vrclient_x64/vrclient_generated.c index 602253e76a..dbb1f86cb9 100644 --- a/vrclient_x64/vrclient_generated.c +++ b/vrclient_x64/vrclient_generated.c @@ -78,6 +78,8 @@ static const struct { const char *iface_version; iface_constructor ctor; } const {"FnTable:IVRCompositor_027", create_winIVRCompositor_IVRCompositor_027_FnTable}, {"IVRCompositor_028", create_winIVRCompositor_IVRCompositor_028}, {"FnTable:IVRCompositor_028", create_winIVRCompositor_IVRCompositor_028_FnTable}, + {"IVRCompositor_029", create_winIVRCompositor_IVRCompositor_029}, + {"FnTable:IVRCompositor_029", create_winIVRCompositor_IVRCompositor_029_FnTable}, {"IVRControlPanel_006", create_winIVRControlPanel_IVRControlPanel_006}, {"FnTable:IVRControlPanel_006", create_winIVRControlPanel_IVRControlPanel_006_FnTable}, {"IVRDriverManager_001", create_winIVRDriverManager_IVRDriverManager_001}, @@ -210,6 +212,8 @@ static const struct { const char *iface_version; iface_constructor ctor; } const {"FnTable:IVRSystem_021", create_winIVRSystem_IVRSystem_021_FnTable}, {"IVRSystem_022", create_winIVRSystem_IVRSystem_022}, {"FnTable:IVRSystem_022", create_winIVRSystem_IVRSystem_022_FnTable}, + {"IVRSystem_023", create_winIVRSystem_IVRSystem_023}, + {"FnTable:IVRSystem_023", create_winIVRSystem_IVRSystem_023_FnTable}, {"IVRTrackedCamera_001", create_winIVRTrackedCamera_IVRTrackedCamera_001}, {"FnTable:IVRTrackedCamera_001", create_winIVRTrackedCamera_IVRTrackedCamera_001_FnTable}, {"IVRTrackedCamera_002", create_winIVRTrackedCamera_IVRTrackedCamera_002}, @@ -309,6 +313,8 @@ static const struct { const char *iface_version; iface_destructor dtor; } destru {"FnTable:IVRCompositor_027", destroy_winIVRCompositor_IVRCompositor_027_FnTable}, {"IVRCompositor_028", destroy_winIVRCompositor_IVRCompositor_028}, {"FnTable:IVRCompositor_028", destroy_winIVRCompositor_IVRCompositor_028_FnTable}, + {"IVRCompositor_029", destroy_winIVRCompositor_IVRCompositor_029}, + {"FnTable:IVRCompositor_029", destroy_winIVRCompositor_IVRCompositor_029_FnTable}, {"IVRControlPanel_006", destroy_winIVRControlPanel_IVRControlPanel_006}, {"FnTable:IVRControlPanel_006", destroy_winIVRControlPanel_IVRControlPanel_006_FnTable}, {"IVRDriverManager_001", destroy_winIVRDriverManager_IVRDriverManager_001}, @@ -441,6 +447,8 @@ static const struct { const char *iface_version; iface_destructor dtor; } destru {"FnTable:IVRSystem_021", destroy_winIVRSystem_IVRSystem_021_FnTable}, {"IVRSystem_022", destroy_winIVRSystem_IVRSystem_022}, {"FnTable:IVRSystem_022", destroy_winIVRSystem_IVRSystem_022_FnTable}, + {"IVRSystem_023", destroy_winIVRSystem_IVRSystem_023}, + {"FnTable:IVRSystem_023", destroy_winIVRSystem_IVRSystem_023_FnTable}, {"IVRTrackedCamera_001", destroy_winIVRTrackedCamera_IVRTrackedCamera_001}, {"FnTable:IVRTrackedCamera_001", destroy_winIVRTrackedCamera_IVRTrackedCamera_001_FnTable}, {"IVRTrackedCamera_002", destroy_winIVRTrackedCamera_IVRTrackedCamera_002}, diff --git a/vrclient_x64/vrclient_generated.h b/vrclient_x64/vrclient_generated.h index a72e3cfb5d..ec5e6d94b4 100644 --- a/vrclient_x64/vrclient_generated.h +++ b/vrclient_x64/vrclient_generated.h @@ -148,6 +148,10 @@ extern struct w_iface *create_winIVRCompositor_IVRCompositor_028( struct u_iface extern struct w_iface *create_winIVRCompositor_IVRCompositor_028_FnTable( struct u_iface ); extern void destroy_winIVRCompositor_IVRCompositor_028(struct w_iface *); extern void destroy_winIVRCompositor_IVRCompositor_028_FnTable(struct w_iface *); +extern struct w_iface *create_winIVRCompositor_IVRCompositor_029( struct u_iface ); +extern struct w_iface *create_winIVRCompositor_IVRCompositor_029_FnTable( struct u_iface ); +extern void destroy_winIVRCompositor_IVRCompositor_029(struct w_iface *); +extern void destroy_winIVRCompositor_IVRCompositor_029_FnTable(struct w_iface *); extern struct w_iface *create_winIVRControlPanel_IVRControlPanel_006( struct u_iface ); extern struct w_iface *create_winIVRControlPanel_IVRControlPanel_006_FnTable( struct u_iface ); extern void destroy_winIVRControlPanel_IVRControlPanel_006(struct w_iface *); @@ -412,6 +416,10 @@ extern struct w_iface *create_winIVRSystem_IVRSystem_022( struct u_iface ); extern struct w_iface *create_winIVRSystem_IVRSystem_022_FnTable( struct u_iface ); extern void destroy_winIVRSystem_IVRSystem_022(struct w_iface *); extern void destroy_winIVRSystem_IVRSystem_022_FnTable(struct w_iface *); +extern struct w_iface *create_winIVRSystem_IVRSystem_023( struct u_iface ); +extern struct w_iface *create_winIVRSystem_IVRSystem_023_FnTable( struct u_iface ); +extern void destroy_winIVRSystem_IVRSystem_023(struct w_iface *); +extern void destroy_winIVRSystem_IVRSystem_023_FnTable(struct w_iface *); extern struct w_iface *create_winIVRTrackedCamera_IVRTrackedCamera_001( struct u_iface ); extern struct w_iface *create_winIVRTrackedCamera_IVRTrackedCamera_001_FnTable( struct u_iface ); extern void destroy_winIVRTrackedCamera_IVRTrackedCamera_001(struct w_iface *); diff --git a/vrclient_x64/vrclient_structs_generated.h b/vrclient_x64/vrclient_structs_generated.h index 5228f06a80..2cb601c1a4 100644 --- a/vrclient_x64/vrclient_structs_generated.h +++ b/vrclient_x64/vrclient_structs_generated.h @@ -1468,6 +1468,19 @@ struct VRControllerAxis_t }; #pragma pack( pop ) +typedef struct VREyeTrackingData_t VREyeTrackingData_t; +#pragma pack( push, 4 ) +struct VREyeTrackingData_t +{ + int8_t bActive; + int8_t bValid; + int8_t bTracked; + uint8_t __pad_3[1]; + HmdVector3_t vGazeOrigin; + HmdVector3_t vGazeTarget; +}; +#pragma pack( pop ) + typedef struct VROverlayIntersectionMaskPrimitive_t VROverlayIntersectionMaskPrimitive_t; #pragma pack( push, 4 ) struct VROverlayIntersectionMaskPrimitive_t @@ -4285,35 +4298,35 @@ struct u_IVRDebug_IVRDebug_001 #endif /* __cplusplus */ }; -struct w_IVRIPCResourceManagerClient_IVRIPCResourceManagerClient_001 +struct w_IVRIPCResourceManagerClient_IVRIPCResourceManagerClient_002 { #ifdef __cplusplus virtual int8_t NewSharedVulkanImage( uint32_t, uint32_t, uint32_t, int8_t, int8_t, int8_t, uint32_t, uint32_t, uint64_t * ) = 0; virtual int8_t NewSharedVulkanBuffer( uint32_t, uint32_t, uint64_t * ) = 0; - virtual int8_t NewSharedVulkanSemaphore( uint64_t * ) = 0; + virtual int8_t NewSharedVulkanSemaphore( int8_t, uint64_t * ) = 0; virtual int8_t RefResource( uint64_t, uint64_t * ) = 0; virtual int8_t UnrefResource( uint64_t ) = 0; virtual int8_t GetDmabufFormats( uint32_t *, uint32_t * ) = 0; virtual int8_t GetDmabufModifiers( uint32_t, uint32_t, uint32_t *, uint64_t * ) = 0; virtual int8_t ImportDmabuf( uint32_t, w_DmabufAttributes_t *, uint64_t * ) = 0; virtual int8_t ReceiveSharedFd( uint64_t, int32_t * ) = 0; - virtual ~w_IVRIPCResourceManagerClient_IVRIPCResourceManagerClient_001( ) = 0; + virtual ~w_IVRIPCResourceManagerClient_IVRIPCResourceManagerClient_002( ) = 0; #endif /* __cplusplus */ }; -struct u_IVRIPCResourceManagerClient_IVRIPCResourceManagerClient_001 +struct u_IVRIPCResourceManagerClient_IVRIPCResourceManagerClient_002 { #ifdef __cplusplus virtual int8_t NewSharedVulkanImage( uint32_t, uint32_t, uint32_t, int8_t, int8_t, int8_t, uint32_t, uint32_t, uint64_t * ) = 0; virtual int8_t NewSharedVulkanBuffer( uint32_t, uint32_t, uint64_t * ) = 0; - virtual int8_t NewSharedVulkanSemaphore( uint64_t * ) = 0; + virtual int8_t NewSharedVulkanSemaphore( int8_t, uint64_t * ) = 0; virtual int8_t RefResource( uint64_t, uint64_t * ) = 0; virtual int8_t UnrefResource( uint64_t ) = 0; virtual int8_t GetDmabufFormats( uint32_t *, uint32_t * ) = 0; virtual int8_t GetDmabufModifiers( uint32_t, uint32_t, uint32_t *, uint64_t * ) = 0; virtual int8_t ImportDmabuf( uint32_t, u_DmabufAttributes_t *, uint64_t * ) = 0; virtual int8_t ReceiveSharedFd( uint64_t, int32_t * ) = 0; - virtual ~u_IVRIPCResourceManagerClient_IVRIPCResourceManagerClient_001( ) = 0; + virtual ~u_IVRIPCResourceManagerClient_IVRIPCResourceManagerClient_002( ) = 0; #endif /* __cplusplus */ }; diff --git a/vrclient_x64/vrcompositor_manual.c b/vrclient_x64/vrcompositor_manual.c index f674aca82f..bf444a0526 100644 --- a/vrclient_x64/vrcompositor_manual.c +++ b/vrclient_x64/vrcompositor_manual.c @@ -1782,3 +1782,162 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_028_SetSkyboxOverride( struct set_skybox_override_done( pTextures, unTextureCount ); return params._ret; } + + +uint32_t __thiscall winIVRCompositor_IVRCompositor_029_WaitGetPoses( struct w_iface *_this, + TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, + TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount ) +{ + struct IVRCompositor_IVRCompositor_029_WaitGetPoses_params params = + { + .u_iface = _this->u_iface, + .pRenderPoseArray = pRenderPoseArray, + .unRenderPoseArrayCount = unRenderPoseArrayCount, + .pGamePoseArray = pGamePoseArray, + .unGamePoseArrayCount = unGamePoseArrayCount, + }; + TRACE( "%p\n", _this ); + wait_get_poses_init( _this->u_iface ); + + if (compositor_data.dxvk_device && compositor_data.d3d11_explicit_handoff && !compositor_data.handoff_called) + { + struct IVRCompositor_IVRCompositor_029_PostPresentHandoff_params params = {.u_iface = _this->u_iface}; + /* Calling handoff after submit is optional for d3d11 but mandatory for Vulkan + * if explicit timing mode is set. */ + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_PostPresentHandoff, ¶ms ); + } + + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_WaitGetPoses, ¶ms ); + + if (compositor_data.dxvk_device && compositor_data.d3d11_explicit_handoff) + { + struct IVRCompositor_IVRCompositor_029_SubmitExplicitTimingData_params params = {.u_iface = _this->u_iface}; + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_SubmitExplicitTimingData, ¶ms ); + } + + wait_get_poses_done( _this->u_iface ); + return params._ret; +} + +uint32_t __thiscall winIVRCompositor_IVRCompositor_029_Submit( struct w_iface *_this, + uint32_t eEye, const w_Texture_t *pTexture, + const VRTextureBounds_t *pBounds, uint32_t nSubmitFlags ) +{ + struct submit_state state = {0}; + struct IVRCompositor_IVRCompositor_029_Submit_params params = + { + .u_iface = _this->u_iface, + .eEye = eEye, + .pTexture = pTexture, + .pBounds = pBounds, + .nSubmitFlags = nSubmitFlags, + }; + TRACE( "_this %p, eEye %u, pTexture %p (eType %u), pBounds %p, nSubmitFlags %#x\n", _this, eEye, pTexture, pTexture->eType, pBounds, nSubmitFlags ); + + compositor_data.handoff_called = FALSE; + params.pTexture = load_compositor_texture( eEye, pTexture, ¶ms.nSubmitFlags, &state, ~0u ); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_Submit, ¶ms ); + free_compositor_texture( pTexture->eType, &state ); + return params._ret; +} + +uint32_t __thiscall winIVRCompositor_IVRCompositor_029_SubmitWithArrayIndex( struct w_iface *_this, + uint32_t eEye, const w_Texture_t *pTexture, uint32_t unTextureArrayIndex, + const VRTextureBounds_t *pBounds, uint32_t nSubmitFlags ) +{ + struct submit_state state = {0}; + uint32_t ret; + + TRACE( "_this %p, eEye %u, pTexture %p (eType %u), unTextureArrayIndex %u, pBounds %p, nSubmitFlags %#x\n", + _this, eEye, pTexture, pTexture->eType, unTextureArrayIndex, pBounds, nSubmitFlags ); + + compositor_data.handoff_called = FALSE; + if (pTexture->eType == TextureType_DirectX) + { + struct IVRCompositor_IVRCompositor_029_Submit_params params = + { + .u_iface = _this->u_iface, + .eEye = eEye, + .pTexture = pTexture, + .pBounds = pBounds, + .nSubmitFlags = nSubmitFlags, + }; + + params.pTexture = load_compositor_texture_dxvk( eEye, pTexture, ¶ms.nSubmitFlags, &state, unTextureArrayIndex ); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_Submit, ¶ms ); + ret = params._ret; + } + else if (pTexture->eType == TextureType_DirectX12) + { + struct IVRCompositor_IVRCompositor_029_Submit_params params = + { + .u_iface = _this->u_iface, + .eEye = eEye, + .pTexture = pTexture, + .pBounds = pBounds, + .nSubmitFlags = nSubmitFlags, + }; + + params.pTexture = load_compositor_texture_d3d12( eEye, pTexture, ¶ms.nSubmitFlags, &state, unTextureArrayIndex ); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_Submit, ¶ms ); + ret = params._ret; + } + else + { + struct IVRCompositor_IVRCompositor_029_SubmitWithArrayIndex_params params = + { + .u_iface = _this->u_iface, + .eEye = eEye, + .pTexture = pTexture, + .unTextureArrayIndex = unTextureArrayIndex, + .pBounds = pBounds, + .nSubmitFlags = nSubmitFlags, + }; + + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_SubmitWithArrayIndex, ¶ms ); + ret = params._ret; + } + free_compositor_texture( pTexture->eType, &state ); + return ret; +} + +void __thiscall winIVRCompositor_IVRCompositor_029_PostPresentHandoff( struct w_iface *_this ) +{ + struct IVRCompositor_IVRCompositor_029_PostPresentHandoff_params params = {.u_iface = _this->u_iface}; + TRACE( "%p\n", _this ); + post_present_handoff_init( _this->u_iface, 28 ); + + if (compositor_data.dxvk_device && !compositor_data.d3d11_explicit_handoff) + { + struct IVRCompositor_IVRCompositor_029_SetExplicitTimingMode_params params = + { + .u_iface = _this->u_iface, + .eTimingMode = VRCompositorTimingMode_Explicit_ApplicationPerformsPostPresentHandoff, + }; + + /* PostPresentHandoff can be used with d3d11 without SetExplicitTimingMode + * (which is Vulkan / d3d12 only), but doing the same with Vulkan results + * in lockups and crashes. */ + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_SetExplicitTimingMode, ¶ms ); + compositor_data.d3d11_explicit_handoff = TRUE; + } + + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_PostPresentHandoff, ¶ms ); + post_present_handoff_done(); +} + +uint32_t __thiscall winIVRCompositor_IVRCompositor_029_SetSkyboxOverride( struct w_iface *_this, + const w_Texture_t *pTextures, uint32_t unTextureCount ) +{ + struct set_skybox_override_state state = {0}; + struct IVRCompositor_IVRCompositor_029_SetSkyboxOverride_params params = + { + .u_iface = _this->u_iface, + .pTextures = set_skybox_override_init( pTextures, unTextureCount, &state ), + .unTextureCount = unTextureCount, + }; + TRACE( "%p\n", _this ); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_SetSkyboxOverride, ¶ms ); + set_skybox_override_done( pTextures, unTextureCount ); + return params._ret; +} diff --git a/vrclient_x64/vrsystem_manual.c b/vrclient_x64/vrsystem_manual.c index a45c31b88a..84ffb145f7 100644 --- a/vrclient_x64/vrsystem_manual.c +++ b/vrclient_x64/vrsystem_manual.c @@ -220,6 +220,12 @@ void __thiscall winIVRSystem_IVRSystem_022_GetDXGIOutputInfo( struct w_iface *_t *pnAdapterIndex = 0; } +void __thiscall winIVRSystem_IVRSystem_023_GetDXGIOutputInfo( struct w_iface *_this, int32_t *pnAdapterIndex ) +{ + FIXME( "%p\n", _this ); + *pnAdapterIndex = 0; +} + static const WCHAR winevulkanW[] = {'w','i','n','e','v','u','l','k','a','n','.','d','l','l',0}; void __thiscall winIVRSystem_IVRSystem_017_GetOutputDevice( struct w_iface *_this, uint64_t *pnDevice, uint32_t textureType, VkInstance_T *pInstance ) @@ -314,7 +320,6 @@ void __thiscall winIVRSystem_IVRSystem_021_GetOutputDevice( struct w_iface *_thi FreeLibrary(winevulkan); } - void __thiscall winIVRSystem_IVRSystem_022_GetOutputDevice( struct w_iface *_this, uint64_t *pnDevice, uint32_t textureType, VkInstance_T *pInstance ) { struct IVRSystem_IVRSystem_022_GetOutputDevice_params params = @@ -338,3 +343,25 @@ void __thiscall winIVRSystem_IVRSystem_022_GetOutputDevice( struct w_iface *_thi FreeLibrary(winevulkan); } +void __thiscall winIVRSystem_IVRSystem_023_GetOutputDevice( struct w_iface *_this, uint64_t *pnDevice, uint32_t textureType, VkInstance_T *pInstance ) +{ + struct IVRSystem_IVRSystem_023_GetOutputDevice_params params = + { + .u_iface = _this->u_iface, + .pnDevice = pnDevice, + .textureType = textureType, + .pInstance = pInstance, + }; + HMODULE winevulkan = LoadLibraryW(winevulkanW); + + TRACE("%p\n", _this); + if (fixup_get_output_device_pre( winevulkan, ¶ms.textureType, ¶ms.pInstance ) != VK_SUCCESS) + *pnDevice = 0; + else + { + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetOutputDevice, ¶ms ); + fixup_get_output_device_post( winevulkan, pnDevice, ¶ms.pInstance, textureType ); + } + + FreeLibrary(winevulkan); +} diff --git a/vrclient_x64/winIVRCompositor.c b/vrclient_x64/winIVRCompositor.c index 4a8bd3c395..5f6753735b 100644 --- a/vrclient_x64/winIVRCompositor.c +++ b/vrclient_x64/winIVRCompositor.c @@ -11548,6 +11548,791 @@ void destroy_winIVRCompositor_IVRCompositor_028_FnTable(struct w_iface *object) HeapFree(GetProcessHeap(), 0, object); } +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_SetTrackingSpace, 8) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_GetTrackingSpace, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_WaitGetPoses, 20) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_GetLastPoses, 20) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_GetLastPoseForTrackedDeviceIndex, 16) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_GetSubmitTexture, 28) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_Submit, 20) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_SubmitWithArrayIndex, 24) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_ClearLastSubmittedFrame, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_PostPresentHandoff, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_GetFrameTiming, 12) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_GetFrameTimings, 12) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_GetFrameTimeRemaining, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_GetCumulativeStats, 12) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_FadeToColor, 28) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_GetCurrentFadeColor, 12) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_FadeGrid, 12) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_GetCurrentGridAlpha, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_SetSkyboxOverride, 12) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_ClearSkyboxOverride, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_CompositorBringToFront, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_CompositorGoToBack, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_CompositorQuit, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_IsFullscreen, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_GetCurrentSceneFocusProcess, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_GetLastFrameRenderer, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_CanRenderScene, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_ShowMirrorWindow, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_HideMirrorWindow, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_IsMirrorWindowVisible, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_CompositorDumpImages, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_ShouldAppRenderWithLowResources, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_ForceInterleavedReprojectionOn, 8) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_ForceReconnectProcess, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_SuspendRendering, 8) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_GetMirrorTextureD3D11, 16) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_ReleaseMirrorTextureD3D11, 8) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_GetMirrorTextureGL, 16) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_ReleaseSharedGLTexture, 12) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_LockGLSharedTextureForAccess, 8) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_UnlockGLSharedTextureForAccess, 8) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_GetVulkanInstanceExtensionsRequired, 12) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_GetVulkanDeviceExtensionsRequired, 16) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_SetExplicitTimingMode, 8) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_SubmitExplicitTimingData, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_IsMotionSmoothingEnabled, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_IsMotionSmoothingSupported, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_IsCurrentSceneFocusAppLoading, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_SetStageOverride_Async, 20) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_ClearStageOverride, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_GetCompositorBenchmarkResults, 12) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_GetLastPosePredictionIDs, 12) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_029_GetPosesForFrame, 16) + +void __thiscall winIVRCompositor_IVRCompositor_029_SetTrackingSpace(struct w_iface *_this, uint32_t eOrigin) +{ + struct IVRCompositor_IVRCompositor_029_SetTrackingSpace_params params = + { + .u_iface = _this->u_iface, + .eOrigin = eOrigin, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_SetTrackingSpace, ¶ms ); +} + +uint32_t __thiscall winIVRCompositor_IVRCompositor_029_GetTrackingSpace(struct w_iface *_this) +{ + struct IVRCompositor_IVRCompositor_029_GetTrackingSpace_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_GetTrackingSpace, ¶ms ); + return params._ret; +} + +extern uint32_t __thiscall winIVRCompositor_IVRCompositor_029_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount); + +uint32_t __thiscall winIVRCompositor_IVRCompositor_029_GetLastPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount) +{ + struct IVRCompositor_IVRCompositor_029_GetLastPoses_params params = + { + .u_iface = _this->u_iface, + .pRenderPoseArray = pRenderPoseArray, + .unRenderPoseArrayCount = unRenderPoseArrayCount, + .pGamePoseArray = pGamePoseArray, + .unGamePoseArrayCount = unGamePoseArrayCount, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_GetLastPoses, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVRCompositor_IVRCompositor_029_GetLastPoseForTrackedDeviceIndex(struct w_iface *_this, uint32_t unDeviceIndex, TrackedDevicePose_t *pOutputPose, TrackedDevicePose_t *pOutputGamePose) +{ + struct IVRCompositor_IVRCompositor_029_GetLastPoseForTrackedDeviceIndex_params params = + { + .u_iface = _this->u_iface, + .unDeviceIndex = unDeviceIndex, + .pOutputPose = pOutputPose, + .pOutputGamePose = pOutputGamePose, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_GetLastPoseForTrackedDeviceIndex, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVRCompositor_IVRCompositor_029_GetSubmitTexture(struct w_iface *_this, w_Texture_t *pOutTexture, int8_t *pNeedsFlush, uint32_t eUsage, const w_Texture_t *pTexture, const VRTextureBounds_t *pBounds, uint32_t nSubmitFlags) +{ + struct IVRCompositor_IVRCompositor_029_GetSubmitTexture_params params = + { + .u_iface = _this->u_iface, + .pOutTexture = pOutTexture, + .pNeedsFlush = pNeedsFlush, + .eUsage = eUsage, + .pTexture = pTexture, + .pBounds = pBounds, + .nSubmitFlags = nSubmitFlags, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_GetSubmitTexture, ¶ms ); + return params._ret; +} + +extern uint32_t __thiscall winIVRCompositor_IVRCompositor_029_Submit(struct w_iface *_this, uint32_t eEye, const w_Texture_t *pTexture, const VRTextureBounds_t *pBounds, uint32_t nSubmitFlags); + +extern uint32_t __thiscall winIVRCompositor_IVRCompositor_029_SubmitWithArrayIndex(struct w_iface *_this, uint32_t eEye, const w_Texture_t *pTexture, uint32_t unTextureArrayIndex, const VRTextureBounds_t *pBounds, uint32_t nSubmitFlags); + +void __thiscall winIVRCompositor_IVRCompositor_029_ClearLastSubmittedFrame(struct w_iface *_this) +{ + struct IVRCompositor_IVRCompositor_029_ClearLastSubmittedFrame_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_ClearLastSubmittedFrame, ¶ms ); +} + +extern void __thiscall winIVRCompositor_IVRCompositor_029_PostPresentHandoff(struct w_iface *_this); + +int8_t __thiscall winIVRCompositor_IVRCompositor_029_GetFrameTiming(struct w_iface *_this, w_Compositor_FrameTiming_251 *pTiming, uint32_t unFramesAgo) +{ + struct IVRCompositor_IVRCompositor_029_GetFrameTiming_params params = + { + .u_iface = _this->u_iface, + .pTiming = pTiming, + .unFramesAgo = unFramesAgo, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_GetFrameTiming, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVRCompositor_IVRCompositor_029_GetFrameTimings(struct w_iface *_this, w_Compositor_FrameTiming_251 *pTiming, uint32_t nFrames) +{ + struct IVRCompositor_IVRCompositor_029_GetFrameTimings_params params = + { + .u_iface = _this->u_iface, + .pTiming = pTiming, + .nFrames = nFrames, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_GetFrameTimings, ¶ms ); + return params._ret; +} + +float __thiscall winIVRCompositor_IVRCompositor_029_GetFrameTimeRemaining(struct w_iface *_this) +{ + struct IVRCompositor_IVRCompositor_029_GetFrameTimeRemaining_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_GetFrameTimeRemaining, ¶ms ); + return params._ret; +} + +void __thiscall winIVRCompositor_IVRCompositor_029_GetCumulativeStats(struct w_iface *_this, Compositor_CumulativeStats_1267 *pStats, uint32_t nStatsSizeInBytes) +{ + struct IVRCompositor_IVRCompositor_029_GetCumulativeStats_params params = + { + .u_iface = _this->u_iface, + .pStats = pStats, + .nStatsSizeInBytes = nStatsSizeInBytes, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_GetCumulativeStats, ¶ms ); +} + +void __thiscall winIVRCompositor_IVRCompositor_029_FadeToColor(struct w_iface *_this, float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, int8_t bBackground) +{ + struct IVRCompositor_IVRCompositor_029_FadeToColor_params params = + { + .u_iface = _this->u_iface, + .fSeconds = fSeconds, + .fRed = fRed, + .fGreen = fGreen, + .fBlue = fBlue, + .fAlpha = fAlpha, + .bBackground = bBackground, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_FadeToColor, ¶ms ); +} + +HmdColor_t * __thiscall winIVRCompositor_IVRCompositor_029_GetCurrentFadeColor(struct w_iface *_this, HmdColor_t *_ret, int8_t bBackground) +{ + struct IVRCompositor_IVRCompositor_029_GetCurrentFadeColor_params params = + { + .u_iface = _this->u_iface, + ._ret = _ret, + .bBackground = bBackground, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_GetCurrentFadeColor, ¶ms ); + return params._ret; +} + +void __thiscall winIVRCompositor_IVRCompositor_029_FadeGrid(struct w_iface *_this, float fSeconds, int8_t bFadeGridIn) +{ + struct IVRCompositor_IVRCompositor_029_FadeGrid_params params = + { + .u_iface = _this->u_iface, + .fSeconds = fSeconds, + .bFadeGridIn = bFadeGridIn, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_FadeGrid, ¶ms ); +} + +float __thiscall winIVRCompositor_IVRCompositor_029_GetCurrentGridAlpha(struct w_iface *_this) +{ + struct IVRCompositor_IVRCompositor_029_GetCurrentGridAlpha_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_GetCurrentGridAlpha, ¶ms ); + return params._ret; +} + +extern uint32_t __thiscall winIVRCompositor_IVRCompositor_029_SetSkyboxOverride(struct w_iface *_this, const w_Texture_t *pTextures, uint32_t unTextureCount); + +void __thiscall winIVRCompositor_IVRCompositor_029_ClearSkyboxOverride(struct w_iface *_this) +{ + struct IVRCompositor_IVRCompositor_029_ClearSkyboxOverride_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_ClearSkyboxOverride, ¶ms ); +} + +void __thiscall winIVRCompositor_IVRCompositor_029_CompositorBringToFront(struct w_iface *_this) +{ + struct IVRCompositor_IVRCompositor_029_CompositorBringToFront_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_CompositorBringToFront, ¶ms ); +} + +void __thiscall winIVRCompositor_IVRCompositor_029_CompositorGoToBack(struct w_iface *_this) +{ + struct IVRCompositor_IVRCompositor_029_CompositorGoToBack_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_CompositorGoToBack, ¶ms ); +} + +void __thiscall winIVRCompositor_IVRCompositor_029_CompositorQuit(struct w_iface *_this) +{ + struct IVRCompositor_IVRCompositor_029_CompositorQuit_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_CompositorQuit, ¶ms ); +} + +int8_t __thiscall winIVRCompositor_IVRCompositor_029_IsFullscreen(struct w_iface *_this) +{ + struct IVRCompositor_IVRCompositor_029_IsFullscreen_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_IsFullscreen, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVRCompositor_IVRCompositor_029_GetCurrentSceneFocusProcess(struct w_iface *_this) +{ + struct IVRCompositor_IVRCompositor_029_GetCurrentSceneFocusProcess_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_GetCurrentSceneFocusProcess, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVRCompositor_IVRCompositor_029_GetLastFrameRenderer(struct w_iface *_this) +{ + struct IVRCompositor_IVRCompositor_029_GetLastFrameRenderer_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_GetLastFrameRenderer, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVRCompositor_IVRCompositor_029_CanRenderScene(struct w_iface *_this) +{ + struct IVRCompositor_IVRCompositor_029_CanRenderScene_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_CanRenderScene, ¶ms ); + return params._ret; +} + +void __thiscall winIVRCompositor_IVRCompositor_029_ShowMirrorWindow(struct w_iface *_this) +{ + struct IVRCompositor_IVRCompositor_029_ShowMirrorWindow_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_ShowMirrorWindow, ¶ms ); +} + +void __thiscall winIVRCompositor_IVRCompositor_029_HideMirrorWindow(struct w_iface *_this) +{ + struct IVRCompositor_IVRCompositor_029_HideMirrorWindow_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_HideMirrorWindow, ¶ms ); +} + +int8_t __thiscall winIVRCompositor_IVRCompositor_029_IsMirrorWindowVisible(struct w_iface *_this) +{ + struct IVRCompositor_IVRCompositor_029_IsMirrorWindowVisible_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_IsMirrorWindowVisible, ¶ms ); + return params._ret; +} + +void __thiscall winIVRCompositor_IVRCompositor_029_CompositorDumpImages(struct w_iface *_this) +{ + struct IVRCompositor_IVRCompositor_029_CompositorDumpImages_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_CompositorDumpImages, ¶ms ); +} + +int8_t __thiscall winIVRCompositor_IVRCompositor_029_ShouldAppRenderWithLowResources(struct w_iface *_this) +{ + struct IVRCompositor_IVRCompositor_029_ShouldAppRenderWithLowResources_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_ShouldAppRenderWithLowResources, ¶ms ); + return params._ret; +} + +void __thiscall winIVRCompositor_IVRCompositor_029_ForceInterleavedReprojectionOn(struct w_iface *_this, int8_t bOverride) +{ + struct IVRCompositor_IVRCompositor_029_ForceInterleavedReprojectionOn_params params = + { + .u_iface = _this->u_iface, + .bOverride = bOverride, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_ForceInterleavedReprojectionOn, ¶ms ); +} + +void __thiscall winIVRCompositor_IVRCompositor_029_ForceReconnectProcess(struct w_iface *_this) +{ + struct IVRCompositor_IVRCompositor_029_ForceReconnectProcess_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_ForceReconnectProcess, ¶ms ); +} + +void __thiscall winIVRCompositor_IVRCompositor_029_SuspendRendering(struct w_iface *_this, int8_t bSuspend) +{ + struct IVRCompositor_IVRCompositor_029_SuspendRendering_params params = + { + .u_iface = _this->u_iface, + .bSuspend = bSuspend, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_SuspendRendering, ¶ms ); +} + +uint32_t __thiscall winIVRCompositor_IVRCompositor_029_GetMirrorTextureD3D11(struct w_iface *_this, uint32_t eEye, void *pD3D11DeviceOrResource, void **ppD3D11ShaderResourceView) +{ + struct IVRCompositor_IVRCompositor_029_GetMirrorTextureD3D11_params params = + { + .u_iface = _this->u_iface, + .eEye = eEye, + .pD3D11DeviceOrResource = pD3D11DeviceOrResource, + .ppD3D11ShaderResourceView = ppD3D11ShaderResourceView, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_GetMirrorTextureD3D11, ¶ms ); + return params._ret; +} + +void __thiscall winIVRCompositor_IVRCompositor_029_ReleaseMirrorTextureD3D11(struct w_iface *_this, void *pD3D11ShaderResourceView) +{ + struct IVRCompositor_IVRCompositor_029_ReleaseMirrorTextureD3D11_params params = + { + .u_iface = _this->u_iface, + .pD3D11ShaderResourceView = pD3D11ShaderResourceView, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_ReleaseMirrorTextureD3D11, ¶ms ); +} + +uint32_t __thiscall winIVRCompositor_IVRCompositor_029_GetMirrorTextureGL(struct w_iface *_this, uint32_t eEye, uint32_t *pglTextureId, void **pglSharedTextureHandle) +{ + struct IVRCompositor_IVRCompositor_029_GetMirrorTextureGL_params params = + { + .u_iface = _this->u_iface, + .eEye = eEye, + .pglTextureId = pglTextureId, + .pglSharedTextureHandle = pglSharedTextureHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_GetMirrorTextureGL, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVRCompositor_IVRCompositor_029_ReleaseSharedGLTexture(struct w_iface *_this, uint32_t glTextureId, void *glSharedTextureHandle) +{ + struct IVRCompositor_IVRCompositor_029_ReleaseSharedGLTexture_params params = + { + .u_iface = _this->u_iface, + .glTextureId = glTextureId, + .glSharedTextureHandle = glSharedTextureHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_ReleaseSharedGLTexture, ¶ms ); + return params._ret; +} + +void __thiscall winIVRCompositor_IVRCompositor_029_LockGLSharedTextureForAccess(struct w_iface *_this, void *glSharedTextureHandle) +{ + struct IVRCompositor_IVRCompositor_029_LockGLSharedTextureForAccess_params params = + { + .u_iface = _this->u_iface, + .glSharedTextureHandle = glSharedTextureHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_LockGLSharedTextureForAccess, ¶ms ); +} + +void __thiscall winIVRCompositor_IVRCompositor_029_UnlockGLSharedTextureForAccess(struct w_iface *_this, void *glSharedTextureHandle) +{ + struct IVRCompositor_IVRCompositor_029_UnlockGLSharedTextureForAccess_params params = + { + .u_iface = _this->u_iface, + .glSharedTextureHandle = glSharedTextureHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_UnlockGLSharedTextureForAccess, ¶ms ); +} + +uint32_t __thiscall winIVRCompositor_IVRCompositor_029_GetVulkanInstanceExtensionsRequired(struct w_iface *_this, char *pchValue, uint32_t unBufferSize) +{ + struct IVRCompositor_IVRCompositor_029_GetVulkanInstanceExtensionsRequired_params params = + { + .u_iface = _this->u_iface, + .pchValue = pchValue, + .unBufferSize = unBufferSize, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_GetVulkanInstanceExtensionsRequired, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVRCompositor_IVRCompositor_029_GetVulkanDeviceExtensionsRequired(struct w_iface *_this, VkPhysicalDevice_T *pPhysicalDevice, char *pchValue, uint32_t unBufferSize) +{ + struct IVRCompositor_IVRCompositor_029_GetVulkanDeviceExtensionsRequired_params params = + { + .u_iface = _this->u_iface, + .pPhysicalDevice = pPhysicalDevice, + .pchValue = pchValue, + .unBufferSize = unBufferSize, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_GetVulkanDeviceExtensionsRequired, ¶ms ); + return params._ret; +} + +void __thiscall winIVRCompositor_IVRCompositor_029_SetExplicitTimingMode(struct w_iface *_this, uint32_t eTimingMode) +{ + struct IVRCompositor_IVRCompositor_029_SetExplicitTimingMode_params params = + { + .u_iface = _this->u_iface, + .eTimingMode = eTimingMode, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_SetExplicitTimingMode, ¶ms ); +} + +uint32_t __thiscall winIVRCompositor_IVRCompositor_029_SubmitExplicitTimingData(struct w_iface *_this) +{ + struct IVRCompositor_IVRCompositor_029_SubmitExplicitTimingData_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_SubmitExplicitTimingData, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVRCompositor_IVRCompositor_029_IsMotionSmoothingEnabled(struct w_iface *_this) +{ + struct IVRCompositor_IVRCompositor_029_IsMotionSmoothingEnabled_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_IsMotionSmoothingEnabled, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVRCompositor_IVRCompositor_029_IsMotionSmoothingSupported(struct w_iface *_this) +{ + struct IVRCompositor_IVRCompositor_029_IsMotionSmoothingSupported_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_IsMotionSmoothingSupported, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVRCompositor_IVRCompositor_029_IsCurrentSceneFocusAppLoading(struct w_iface *_this) +{ + struct IVRCompositor_IVRCompositor_029_IsCurrentSceneFocusAppLoading_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_IsCurrentSceneFocusAppLoading, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVRCompositor_IVRCompositor_029_SetStageOverride_Async(struct w_iface *_this, const char *pchRenderModelPath, const HmdMatrix34_t *pTransform, const Compositor_StageRenderSettings *pRenderSettings, uint32_t nSizeOfRenderSettings) +{ + struct IVRCompositor_IVRCompositor_029_SetStageOverride_Async_params params = + { + .u_iface = _this->u_iface, + .pchRenderModelPath = pchRenderModelPath, + .pTransform = pTransform, + .pRenderSettings = pRenderSettings, + .nSizeOfRenderSettings = nSizeOfRenderSettings, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_SetStageOverride_Async, ¶ms ); + return params._ret; +} + +void __thiscall winIVRCompositor_IVRCompositor_029_ClearStageOverride(struct w_iface *_this) +{ + struct IVRCompositor_IVRCompositor_029_ClearStageOverride_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_ClearStageOverride, ¶ms ); +} + +int8_t __thiscall winIVRCompositor_IVRCompositor_029_GetCompositorBenchmarkResults(struct w_iface *_this, Compositor_BenchmarkResults *pBenchmarkResults, uint32_t nSizeOfBenchmarkResults) +{ + struct IVRCompositor_IVRCompositor_029_GetCompositorBenchmarkResults_params params = + { + .u_iface = _this->u_iface, + .pBenchmarkResults = pBenchmarkResults, + .nSizeOfBenchmarkResults = nSizeOfBenchmarkResults, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_GetCompositorBenchmarkResults, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVRCompositor_IVRCompositor_029_GetLastPosePredictionIDs(struct w_iface *_this, uint32_t *pRenderPosePredictionID, uint32_t *pGamePosePredictionID) +{ + struct IVRCompositor_IVRCompositor_029_GetLastPosePredictionIDs_params params = + { + .u_iface = _this->u_iface, + .pRenderPosePredictionID = pRenderPosePredictionID, + .pGamePosePredictionID = pGamePosePredictionID, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_GetLastPosePredictionIDs, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVRCompositor_IVRCompositor_029_GetPosesForFrame(struct w_iface *_this, uint32_t unPosePredictionID, TrackedDevicePose_t *pPoseArray, uint32_t unPoseArrayCount) +{ + struct IVRCompositor_IVRCompositor_029_GetPosesForFrame_params params = + { + .u_iface = _this->u_iface, + .unPosePredictionID = unPosePredictionID, + .pPoseArray = pPoseArray, + .unPoseArrayCount = unPoseArrayCount, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_029_GetPosesForFrame, ¶ms ); + return params._ret; +} + +extern vtable_ptr winIVRCompositor_IVRCompositor_029_vtable; + +DEFINE_RTTI_DATA0(winIVRCompositor_IVRCompositor_029, 0, ".?AVIVRCompositor@@") + +__ASM_BLOCK_BEGIN(winIVRCompositor_IVRCompositor_029_vtables) + __ASM_VTABLE(winIVRCompositor_IVRCompositor_029, + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_SetTrackingSpace) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_GetTrackingSpace) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_WaitGetPoses) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_GetLastPoses) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_GetLastPoseForTrackedDeviceIndex) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_GetSubmitTexture) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_Submit) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_SubmitWithArrayIndex) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_ClearLastSubmittedFrame) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_PostPresentHandoff) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_GetFrameTiming) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_GetFrameTimings) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_GetFrameTimeRemaining) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_GetCumulativeStats) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_FadeToColor) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_GetCurrentFadeColor) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_FadeGrid) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_GetCurrentGridAlpha) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_SetSkyboxOverride) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_ClearSkyboxOverride) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_CompositorBringToFront) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_CompositorGoToBack) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_CompositorQuit) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_IsFullscreen) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_GetCurrentSceneFocusProcess) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_GetLastFrameRenderer) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_CanRenderScene) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_ShowMirrorWindow) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_HideMirrorWindow) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_IsMirrorWindowVisible) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_CompositorDumpImages) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_ShouldAppRenderWithLowResources) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_ForceInterleavedReprojectionOn) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_ForceReconnectProcess) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_SuspendRendering) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_GetMirrorTextureD3D11) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_ReleaseMirrorTextureD3D11) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_GetMirrorTextureGL) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_ReleaseSharedGLTexture) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_LockGLSharedTextureForAccess) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_UnlockGLSharedTextureForAccess) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_GetVulkanInstanceExtensionsRequired) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_GetVulkanDeviceExtensionsRequired) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_SetExplicitTimingMode) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_SubmitExplicitTimingData) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_IsMotionSmoothingEnabled) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_IsMotionSmoothingSupported) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_IsCurrentSceneFocusAppLoading) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_SetStageOverride_Async) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_ClearStageOverride) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_GetCompositorBenchmarkResults) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_GetLastPosePredictionIDs) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_029_GetPosesForFrame) + ); +__ASM_BLOCK_END + +struct w_iface *create_winIVRCompositor_IVRCompositor_029( struct u_iface u_iface ) +{ + struct w_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); + TRACE("-> %p\n", r); + r->vtable = &winIVRCompositor_IVRCompositor_029_vtable; + r->u_iface = u_iface; + return r; +} + +void destroy_winIVRCompositor_IVRCompositor_029(struct w_iface *object) +{ + TRACE("%p\n", object); + HeapFree(GetProcessHeap(), 0, object); +} + +struct w_iface *create_winIVRCompositor_IVRCompositor_029_FnTable( struct u_iface u_iface ) +{ + struct w_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); + struct thunk *thunks = alloc_thunks(53); + struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 53 * sizeof(*vtable)); + int i; + + TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); + init_thunk(&thunks[0], r, winIVRCompositor_IVRCompositor_029_SetTrackingSpace, 1, FALSE, FALSE); + init_thunk(&thunks[1], r, winIVRCompositor_IVRCompositor_029_GetTrackingSpace, 0, FALSE, FALSE); + init_thunk(&thunks[2], r, winIVRCompositor_IVRCompositor_029_WaitGetPoses, 4, FALSE, FALSE); + init_thunk(&thunks[3], r, winIVRCompositor_IVRCompositor_029_GetLastPoses, 4, FALSE, FALSE); + init_thunk(&thunks[4], r, winIVRCompositor_IVRCompositor_029_GetLastPoseForTrackedDeviceIndex, 3, FALSE, FALSE); + init_thunk(&thunks[5], r, winIVRCompositor_IVRCompositor_029_GetSubmitTexture, 6, FALSE, FALSE); + init_thunk(&thunks[6], r, winIVRCompositor_IVRCompositor_029_Submit, 4, FALSE, FALSE); + init_thunk(&thunks[7], r, winIVRCompositor_IVRCompositor_029_SubmitWithArrayIndex, 5, FALSE, FALSE); + init_thunk(&thunks[8], r, winIVRCompositor_IVRCompositor_029_ClearLastSubmittedFrame, 0, FALSE, FALSE); + init_thunk(&thunks[9], r, winIVRCompositor_IVRCompositor_029_PostPresentHandoff, 0, FALSE, FALSE); + init_thunk(&thunks[10], r, winIVRCompositor_IVRCompositor_029_GetFrameTiming, 2, FALSE, FALSE); + init_thunk(&thunks[11], r, winIVRCompositor_IVRCompositor_029_GetFrameTimings, 2, FALSE, FALSE); + init_thunk(&thunks[12], r, winIVRCompositor_IVRCompositor_029_GetFrameTimeRemaining, 0, FALSE, FALSE); + init_thunk(&thunks[13], r, winIVRCompositor_IVRCompositor_029_GetCumulativeStats, 2, FALSE, FALSE); + init_thunk(&thunks[14], r, winIVRCompositor_IVRCompositor_029_FadeToColor, 6, TRUE, TRUE); + init_thunk(&thunks[15], r, winIVRCompositor_IVRCompositor_029_GetCurrentFadeColor, 2, FALSE, FALSE); + init_thunk(&thunks[16], r, winIVRCompositor_IVRCompositor_029_FadeGrid, 2, TRUE, FALSE); + init_thunk(&thunks[17], r, winIVRCompositor_IVRCompositor_029_GetCurrentGridAlpha, 0, FALSE, FALSE); + init_thunk(&thunks[18], r, winIVRCompositor_IVRCompositor_029_SetSkyboxOverride, 2, FALSE, FALSE); + init_thunk(&thunks[19], r, winIVRCompositor_IVRCompositor_029_ClearSkyboxOverride, 0, FALSE, FALSE); + init_thunk(&thunks[20], r, winIVRCompositor_IVRCompositor_029_CompositorBringToFront, 0, FALSE, FALSE); + init_thunk(&thunks[21], r, winIVRCompositor_IVRCompositor_029_CompositorGoToBack, 0, FALSE, FALSE); + init_thunk(&thunks[22], r, winIVRCompositor_IVRCompositor_029_CompositorQuit, 0, FALSE, FALSE); + init_thunk(&thunks[23], r, winIVRCompositor_IVRCompositor_029_IsFullscreen, 0, FALSE, FALSE); + init_thunk(&thunks[24], r, winIVRCompositor_IVRCompositor_029_GetCurrentSceneFocusProcess, 0, FALSE, FALSE); + init_thunk(&thunks[25], r, winIVRCompositor_IVRCompositor_029_GetLastFrameRenderer, 0, FALSE, FALSE); + init_thunk(&thunks[26], r, winIVRCompositor_IVRCompositor_029_CanRenderScene, 0, FALSE, FALSE); + init_thunk(&thunks[27], r, winIVRCompositor_IVRCompositor_029_ShowMirrorWindow, 0, FALSE, FALSE); + init_thunk(&thunks[28], r, winIVRCompositor_IVRCompositor_029_HideMirrorWindow, 0, FALSE, FALSE); + init_thunk(&thunks[29], r, winIVRCompositor_IVRCompositor_029_IsMirrorWindowVisible, 0, FALSE, FALSE); + init_thunk(&thunks[30], r, winIVRCompositor_IVRCompositor_029_CompositorDumpImages, 0, FALSE, FALSE); + init_thunk(&thunks[31], r, winIVRCompositor_IVRCompositor_029_ShouldAppRenderWithLowResources, 0, FALSE, FALSE); + init_thunk(&thunks[32], r, winIVRCompositor_IVRCompositor_029_ForceInterleavedReprojectionOn, 1, FALSE, FALSE); + init_thunk(&thunks[33], r, winIVRCompositor_IVRCompositor_029_ForceReconnectProcess, 0, FALSE, FALSE); + init_thunk(&thunks[34], r, winIVRCompositor_IVRCompositor_029_SuspendRendering, 1, FALSE, FALSE); + init_thunk(&thunks[35], r, winIVRCompositor_IVRCompositor_029_GetMirrorTextureD3D11, 3, FALSE, FALSE); + init_thunk(&thunks[36], r, winIVRCompositor_IVRCompositor_029_ReleaseMirrorTextureD3D11, 1, FALSE, FALSE); + init_thunk(&thunks[37], r, winIVRCompositor_IVRCompositor_029_GetMirrorTextureGL, 3, FALSE, FALSE); + init_thunk(&thunks[38], r, winIVRCompositor_IVRCompositor_029_ReleaseSharedGLTexture, 2, FALSE, FALSE); + init_thunk(&thunks[39], r, winIVRCompositor_IVRCompositor_029_LockGLSharedTextureForAccess, 1, FALSE, FALSE); + init_thunk(&thunks[40], r, winIVRCompositor_IVRCompositor_029_UnlockGLSharedTextureForAccess, 1, FALSE, FALSE); + init_thunk(&thunks[41], r, winIVRCompositor_IVRCompositor_029_GetVulkanInstanceExtensionsRequired, 2, FALSE, FALSE); + init_thunk(&thunks[42], r, winIVRCompositor_IVRCompositor_029_GetVulkanDeviceExtensionsRequired, 3, FALSE, FALSE); + init_thunk(&thunks[43], r, winIVRCompositor_IVRCompositor_029_SetExplicitTimingMode, 1, FALSE, FALSE); + init_thunk(&thunks[44], r, winIVRCompositor_IVRCompositor_029_SubmitExplicitTimingData, 0, FALSE, FALSE); + init_thunk(&thunks[45], r, winIVRCompositor_IVRCompositor_029_IsMotionSmoothingEnabled, 0, FALSE, FALSE); + init_thunk(&thunks[46], r, winIVRCompositor_IVRCompositor_029_IsMotionSmoothingSupported, 0, FALSE, FALSE); + init_thunk(&thunks[47], r, winIVRCompositor_IVRCompositor_029_IsCurrentSceneFocusAppLoading, 0, FALSE, FALSE); + init_thunk(&thunks[48], r, winIVRCompositor_IVRCompositor_029_SetStageOverride_Async, 4, FALSE, FALSE); + init_thunk(&thunks[49], r, winIVRCompositor_IVRCompositor_029_ClearStageOverride, 0, FALSE, FALSE); + init_thunk(&thunks[50], r, winIVRCompositor_IVRCompositor_029_GetCompositorBenchmarkResults, 2, FALSE, FALSE); + init_thunk(&thunks[51], r, winIVRCompositor_IVRCompositor_029_GetLastPosePredictionIDs, 2, FALSE, FALSE); + init_thunk(&thunks[52], r, winIVRCompositor_IVRCompositor_029_GetPosesForFrame, 3, FALSE, FALSE); + for (i = 0; i < 53; i++) + vtable[i] = &thunks[i]; + r->u_iface = u_iface; + r->vtable = (void *)vtable; + return r; +} + +void destroy_winIVRCompositor_IVRCompositor_029_FnTable(struct w_iface *object) +{ + TRACE("%p\n", object); + VirtualFree(object->vtable[0], 0, MEM_RELEASE); + HeapFree(GetProcessHeap(), 0, object->vtable); + HeapFree(GetProcessHeap(), 0, object); +} + void init_winIVRCompositor_rtti( char *base ) { #if defined(__x86_64__) || defined(__aarch64__) @@ -11573,5 +12358,6 @@ void init_winIVRCompositor_rtti( char *base ) init_winIVRCompositor_IVRCompositor_026_rtti( base ); init_winIVRCompositor_IVRCompositor_027_rtti( base ); init_winIVRCompositor_IVRCompositor_028_rtti( base ); + init_winIVRCompositor_IVRCompositor_029_rtti( base ); #endif /* defined(__x86_64__) || defined(__aarch64__) */ } diff --git a/vrclient_x64/winIVRSystem.c b/vrclient_x64/winIVRSystem.c index 938543704b..5eb298d7ad 100644 --- a/vrclient_x64/winIVRSystem.c +++ b/vrclient_x64/winIVRSystem.c @@ -11757,6 +11757,805 @@ void destroy_winIVRSystem_IVRSystem_022_FnTable(struct w_iface *object) HeapFree(GetProcessHeap(), 0, object); } +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetRecommendedRenderTargetSize, 12) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetProjectionMatrix, 20) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetProjectionRaw, 24) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_ComputeDistortion, 20) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetEyeToHeadTransform, 12) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetTimeSinceLastVsync, 12) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetD3D9AdapterIndex, 4) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetDXGIOutputInfo, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetOutputDevice, 16) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_IsDisplayOnDesktop, 4) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_SetDisplayVisibility, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetDeviceToAbsoluteTrackingPose, 20) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetRawZeroPoseToStandingAbsoluteTrackingPose, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetSortedTrackedDeviceIndicesOfClass, 20) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetTrackedDeviceActivityLevel, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_ApplyTransform, 16) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetTrackedDeviceIndexForControllerRole, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetControllerRoleForTrackedDeviceIndex, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetTrackedDeviceClass, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_IsTrackedDeviceConnected, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetBoolTrackedDeviceProperty, 16) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetFloatTrackedDeviceProperty, 16) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetInt32TrackedDeviceProperty, 16) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetUint64TrackedDeviceProperty, 16) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetMatrix34TrackedDeviceProperty, 20) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetArrayTrackedDeviceProperty, 28) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetStringTrackedDeviceProperty, 24) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetPropErrorNameFromEnum, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_PollNextEvent, 12) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_PollNextEventWithPose, 20) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_PollNextEventWithPoseAndOverlays, 24) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetEventTypeNameFromEnum, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetHiddenAreaMesh, 16) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetControllerState, 16) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetControllerStateWithPose, 24) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_TriggerHapticPulse, 16) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetButtonIdNameFromEnum, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetControllerAxisTypeNameFromEnum, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_IsInputAvailable, 4) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_IsSteamVRDrawingControllers, 4) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_ShouldApplicationPause, 4) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_ShouldApplicationReduceRenderingWork, 4) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_PerformFirmwareUpdate, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_AcknowledgeQuit_Exiting, 4) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetAppContainerFilePaths, 12) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_023_GetRuntimeVersion, 4) + +void __thiscall winIVRSystem_IVRSystem_023_GetRecommendedRenderTargetSize(struct w_iface *_this, uint32_t *pnWidth, uint32_t *pnHeight) +{ + struct IVRSystem_IVRSystem_023_GetRecommendedRenderTargetSize_params params = + { + .u_iface = _this->u_iface, + .pnWidth = pnWidth, + .pnHeight = pnHeight, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetRecommendedRenderTargetSize, ¶ms ); +} + +HmdMatrix44_t * __thiscall winIVRSystem_IVRSystem_023_GetProjectionMatrix(struct w_iface *_this, HmdMatrix44_t *_ret, uint32_t eEye, float fNearZ, float fFarZ) +{ + struct IVRSystem_IVRSystem_023_GetProjectionMatrix_params params = + { + .u_iface = _this->u_iface, + ._ret = _ret, + .eEye = eEye, + .fNearZ = fNearZ, + .fFarZ = fFarZ, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetProjectionMatrix, ¶ms ); + return params._ret; +} + +void __thiscall winIVRSystem_IVRSystem_023_GetProjectionRaw(struct w_iface *_this, uint32_t eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom) +{ + struct IVRSystem_IVRSystem_023_GetProjectionRaw_params params = + { + .u_iface = _this->u_iface, + .eEye = eEye, + .pfLeft = pfLeft, + .pfRight = pfRight, + .pfTop = pfTop, + .pfBottom = pfBottom, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetProjectionRaw, ¶ms ); +} + +int8_t __thiscall winIVRSystem_IVRSystem_023_ComputeDistortion(struct w_iface *_this, uint32_t eEye, float fU, float fV, DistortionCoordinates_t *pDistortionCoordinates) +{ + struct IVRSystem_IVRSystem_023_ComputeDistortion_params params = + { + .u_iface = _this->u_iface, + .eEye = eEye, + .fU = fU, + .fV = fV, + .pDistortionCoordinates = pDistortionCoordinates, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_ComputeDistortion, ¶ms ); + return params._ret; +} + +HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_023_GetEyeToHeadTransform(struct w_iface *_this, HmdMatrix34_t *_ret, uint32_t eEye) +{ + struct IVRSystem_IVRSystem_023_GetEyeToHeadTransform_params params = + { + .u_iface = _this->u_iface, + ._ret = _ret, + .eEye = eEye, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetEyeToHeadTransform, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVRSystem_IVRSystem_023_GetTimeSinceLastVsync(struct w_iface *_this, float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter) +{ + struct IVRSystem_IVRSystem_023_GetTimeSinceLastVsync_params params = + { + .u_iface = _this->u_iface, + .pfSecondsSinceLastVsync = pfSecondsSinceLastVsync, + .pulFrameCounter = pulFrameCounter, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetTimeSinceLastVsync, ¶ms ); + return params._ret; +} + +int32_t __thiscall winIVRSystem_IVRSystem_023_GetD3D9AdapterIndex(struct w_iface *_this) +{ + struct IVRSystem_IVRSystem_023_GetD3D9AdapterIndex_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetD3D9AdapterIndex, ¶ms ); + return params._ret; +} + +extern void __thiscall winIVRSystem_IVRSystem_023_GetDXGIOutputInfo(struct w_iface *_this, int32_t *pnAdapterIndex); + +extern void __thiscall winIVRSystem_IVRSystem_023_GetOutputDevice(struct w_iface *_this, uint64_t *pnDevice, uint32_t textureType, VkInstance_T *pInstance); + +int8_t __thiscall winIVRSystem_IVRSystem_023_IsDisplayOnDesktop(struct w_iface *_this) +{ + struct IVRSystem_IVRSystem_023_IsDisplayOnDesktop_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_IsDisplayOnDesktop, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVRSystem_IVRSystem_023_SetDisplayVisibility(struct w_iface *_this, int8_t bIsVisibleOnDesktop) +{ + struct IVRSystem_IVRSystem_023_SetDisplayVisibility_params params = + { + .u_iface = _this->u_iface, + .bIsVisibleOnDesktop = bIsVisibleOnDesktop, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_SetDisplayVisibility, ¶ms ); + return params._ret; +} + +void __thiscall winIVRSystem_IVRSystem_023_GetDeviceToAbsoluteTrackingPose(struct w_iface *_this, uint32_t eOrigin, float fPredictedSecondsToPhotonsFromNow, TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount) +{ + struct IVRSystem_IVRSystem_023_GetDeviceToAbsoluteTrackingPose_params params = + { + .u_iface = _this->u_iface, + .eOrigin = eOrigin, + .fPredictedSecondsToPhotonsFromNow = fPredictedSecondsToPhotonsFromNow, + .pTrackedDevicePoseArray = pTrackedDevicePoseArray, + .unTrackedDevicePoseArrayCount = unTrackedDevicePoseArrayCount, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetDeviceToAbsoluteTrackingPose, ¶ms ); +} + +HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_023_GetSeatedZeroPoseToStandingAbsoluteTrackingPose(struct w_iface *_this, HmdMatrix34_t *_ret) +{ + struct IVRSystem_IVRSystem_023_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params params = + { + .u_iface = _this->u_iface, + ._ret = _ret, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); + return params._ret; +} + +HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_023_GetRawZeroPoseToStandingAbsoluteTrackingPose(struct w_iface *_this, HmdMatrix34_t *_ret) +{ + struct IVRSystem_IVRSystem_023_GetRawZeroPoseToStandingAbsoluteTrackingPose_params params = + { + .u_iface = _this->u_iface, + ._ret = _ret, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetRawZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVRSystem_IVRSystem_023_GetSortedTrackedDeviceIndicesOfClass(struct w_iface *_this, uint32_t eTrackedDeviceClass, uint32_t *punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, uint32_t unRelativeToTrackedDeviceIndex) +{ + struct IVRSystem_IVRSystem_023_GetSortedTrackedDeviceIndicesOfClass_params params = + { + .u_iface = _this->u_iface, + .eTrackedDeviceClass = eTrackedDeviceClass, + .punTrackedDeviceIndexArray = punTrackedDeviceIndexArray, + .unTrackedDeviceIndexArrayCount = unTrackedDeviceIndexArrayCount, + .unRelativeToTrackedDeviceIndex = unRelativeToTrackedDeviceIndex, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetSortedTrackedDeviceIndicesOfClass, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVRSystem_IVRSystem_023_GetTrackedDeviceActivityLevel(struct w_iface *_this, uint32_t unDeviceId) +{ + struct IVRSystem_IVRSystem_023_GetTrackedDeviceActivityLevel_params params = + { + .u_iface = _this->u_iface, + .unDeviceId = unDeviceId, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetTrackedDeviceActivityLevel, ¶ms ); + return params._ret; +} + +void __thiscall winIVRSystem_IVRSystem_023_ApplyTransform(struct w_iface *_this, TrackedDevicePose_t *pOutputPose, const TrackedDevicePose_t *pTrackedDevicePose, const HmdMatrix34_t *pTransform) +{ + struct IVRSystem_IVRSystem_023_ApplyTransform_params params = + { + .u_iface = _this->u_iface, + .pOutputPose = pOutputPose, + .pTrackedDevicePose = pTrackedDevicePose, + .pTransform = pTransform, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_ApplyTransform, ¶ms ); +} + +uint32_t __thiscall winIVRSystem_IVRSystem_023_GetTrackedDeviceIndexForControllerRole(struct w_iface *_this, uint32_t unDeviceType) +{ + struct IVRSystem_IVRSystem_023_GetTrackedDeviceIndexForControllerRole_params params = + { + .u_iface = _this->u_iface, + .unDeviceType = unDeviceType, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetTrackedDeviceIndexForControllerRole, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVRSystem_IVRSystem_023_GetControllerRoleForTrackedDeviceIndex(struct w_iface *_this, uint32_t unDeviceIndex) +{ + struct IVRSystem_IVRSystem_023_GetControllerRoleForTrackedDeviceIndex_params params = + { + .u_iface = _this->u_iface, + .unDeviceIndex = unDeviceIndex, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetControllerRoleForTrackedDeviceIndex, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVRSystem_IVRSystem_023_GetTrackedDeviceClass(struct w_iface *_this, uint32_t unDeviceIndex) +{ + struct IVRSystem_IVRSystem_023_GetTrackedDeviceClass_params params = + { + .u_iface = _this->u_iface, + .unDeviceIndex = unDeviceIndex, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetTrackedDeviceClass, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVRSystem_IVRSystem_023_IsTrackedDeviceConnected(struct w_iface *_this, uint32_t unDeviceIndex) +{ + struct IVRSystem_IVRSystem_023_IsTrackedDeviceConnected_params params = + { + .u_iface = _this->u_iface, + .unDeviceIndex = unDeviceIndex, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_IsTrackedDeviceConnected, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVRSystem_IVRSystem_023_GetBoolTrackedDeviceProperty(struct w_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) +{ + struct IVRSystem_IVRSystem_023_GetBoolTrackedDeviceProperty_params params = + { + .u_iface = _this->u_iface, + .unDeviceIndex = unDeviceIndex, + .prop = prop, + .pError = pError, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetBoolTrackedDeviceProperty, ¶ms ); + return params._ret; +} + +float __thiscall winIVRSystem_IVRSystem_023_GetFloatTrackedDeviceProperty(struct w_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) +{ + struct IVRSystem_IVRSystem_023_GetFloatTrackedDeviceProperty_params params = + { + .u_iface = _this->u_iface, + .unDeviceIndex = unDeviceIndex, + .prop = prop, + .pError = pError, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetFloatTrackedDeviceProperty, ¶ms ); + return params._ret; +} + +int32_t __thiscall winIVRSystem_IVRSystem_023_GetInt32TrackedDeviceProperty(struct w_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) +{ + struct IVRSystem_IVRSystem_023_GetInt32TrackedDeviceProperty_params params = + { + .u_iface = _this->u_iface, + .unDeviceIndex = unDeviceIndex, + .prop = prop, + .pError = pError, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetInt32TrackedDeviceProperty, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winIVRSystem_IVRSystem_023_GetUint64TrackedDeviceProperty(struct w_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) +{ + struct IVRSystem_IVRSystem_023_GetUint64TrackedDeviceProperty_params params = + { + .u_iface = _this->u_iface, + .unDeviceIndex = unDeviceIndex, + .prop = prop, + .pError = pError, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetUint64TrackedDeviceProperty, ¶ms ); + return params._ret; +} + +HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_023_GetMatrix34TrackedDeviceProperty(struct w_iface *_this, HmdMatrix34_t *_ret, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) +{ + struct IVRSystem_IVRSystem_023_GetMatrix34TrackedDeviceProperty_params params = + { + .u_iface = _this->u_iface, + ._ret = _ret, + .unDeviceIndex = unDeviceIndex, + .prop = prop, + .pError = pError, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetMatrix34TrackedDeviceProperty, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVRSystem_IVRSystem_023_GetArrayTrackedDeviceProperty(struct w_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t propType, void *pBuffer, uint32_t unBufferSize, uint32_t *pError) +{ + struct IVRSystem_IVRSystem_023_GetArrayTrackedDeviceProperty_params params = + { + .u_iface = _this->u_iface, + .unDeviceIndex = unDeviceIndex, + .prop = prop, + .propType = propType, + .pBuffer = pBuffer, + .unBufferSize = unBufferSize, + .pError = pError, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetArrayTrackedDeviceProperty, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVRSystem_IVRSystem_023_GetStringTrackedDeviceProperty(struct w_iface *_this, uint32_t unDeviceIndex, uint32_t prop, char *pchValue, uint32_t unBufferSize, uint32_t *pError) +{ + struct IVRSystem_IVRSystem_023_GetStringTrackedDeviceProperty_params params = + { + .u_iface = _this->u_iface, + .unDeviceIndex = unDeviceIndex, + .prop = prop, + .pchValue = pchValue, + .unBufferSize = unBufferSize, + .pError = pError, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetStringTrackedDeviceProperty, ¶ms ); + return params._ret; +} + +const char * __thiscall winIVRSystem_IVRSystem_023_GetPropErrorNameFromEnum(struct w_iface *_this, uint32_t error) +{ + struct IVRSystem_IVRSystem_023_GetPropErrorNameFromEnum_params params = + { + .u_iface = _this->u_iface, + .error = error, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetPropErrorNameFromEnum, ¶ms ); + return get_unix_buffer( params._ret ); +} + +int8_t __thiscall winIVRSystem_IVRSystem_023_PollNextEvent(struct w_iface *_this, w_VREvent_t_223 *pEvent, uint32_t uncbVREvent) +{ + w_VREvent_t_223 w_pEvent; + struct IVRSystem_IVRSystem_023_PollNextEvent_params params = + { + .u_iface = _this->u_iface, + .pEvent = pEvent ? &w_pEvent : NULL, + .uncbVREvent = uncbVREvent, + }; + TRACE("%p\n", _this); + uncbVREvent = min( uncbVREvent, sizeof(w_pEvent) ); + if (pEvent) memcpy( &w_pEvent, pEvent, uncbVREvent ); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_PollNextEvent, ¶ms ); + if (pEvent) memcpy( pEvent, &w_pEvent, uncbVREvent ); + return params._ret; +} + +int8_t __thiscall winIVRSystem_IVRSystem_023_PollNextEventWithPose(struct w_iface *_this, uint32_t eOrigin, w_VREvent_t_223 *pEvent, uint32_t uncbVREvent, TrackedDevicePose_t *pTrackedDevicePose) +{ + w_VREvent_t_223 w_pEvent; + struct IVRSystem_IVRSystem_023_PollNextEventWithPose_params params = + { + .u_iface = _this->u_iface, + .eOrigin = eOrigin, + .pEvent = pEvent ? &w_pEvent : NULL, + .uncbVREvent = uncbVREvent, + .pTrackedDevicePose = pTrackedDevicePose, + }; + TRACE("%p\n", _this); + uncbVREvent = min( uncbVREvent, sizeof(w_pEvent) ); + if (pEvent) memcpy( &w_pEvent, pEvent, uncbVREvent ); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_PollNextEventWithPose, ¶ms ); + if (pEvent) memcpy( pEvent, &w_pEvent, uncbVREvent ); + return params._ret; +} + +int8_t __thiscall winIVRSystem_IVRSystem_023_PollNextEventWithPoseAndOverlays(struct w_iface *_this, uint32_t eOrigin, w_VREvent_t_223 *pEvent, uint32_t uncbVREvent, TrackedDevicePose_t *pTrackedDevicePose, uint64_t *pulOverlayHandle) +{ + w_VREvent_t_223 w_pEvent; + struct IVRSystem_IVRSystem_023_PollNextEventWithPoseAndOverlays_params params = + { + .u_iface = _this->u_iface, + .eOrigin = eOrigin, + .pEvent = pEvent ? &w_pEvent : NULL, + .uncbVREvent = uncbVREvent, + .pTrackedDevicePose = pTrackedDevicePose, + .pulOverlayHandle = pulOverlayHandle, + }; + TRACE("%p\n", _this); + uncbVREvent = min( uncbVREvent, sizeof(w_pEvent) ); + if (pEvent) memcpy( &w_pEvent, pEvent, uncbVREvent ); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_PollNextEventWithPoseAndOverlays, ¶ms ); + if (pEvent) memcpy( pEvent, &w_pEvent, uncbVREvent ); + return params._ret; +} + +const char * __thiscall winIVRSystem_IVRSystem_023_GetEventTypeNameFromEnum(struct w_iface *_this, uint32_t eType) +{ + struct IVRSystem_IVRSystem_023_GetEventTypeNameFromEnum_params params = + { + .u_iface = _this->u_iface, + .eType = eType, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetEventTypeNameFromEnum, ¶ms ); + return get_unix_buffer( params._ret ); +} + +w_HiddenAreaMesh_t * __thiscall winIVRSystem_IVRSystem_023_GetHiddenAreaMesh(struct w_iface *_this, w_HiddenAreaMesh_t *_ret, uint32_t eEye, uint32_t type) +{ + struct IVRSystem_IVRSystem_023_GetHiddenAreaMesh_params params = + { + .u_iface = _this->u_iface, + ._ret = _ret, + .eEye = eEye, + .type = type, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetHiddenAreaMesh, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVRSystem_IVRSystem_023_GetControllerState(struct w_iface *_this, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, uint32_t unControllerStateSize) +{ + w_VRControllerState001_t w_pControllerState; + struct IVRSystem_IVRSystem_023_GetControllerState_params params = + { + .u_iface = _this->u_iface, + .unControllerDeviceIndex = unControllerDeviceIndex, + .pControllerState = pControllerState ? &w_pControllerState : NULL, + .unControllerStateSize = unControllerStateSize, + }; + TRACE("%p\n", _this); + unControllerStateSize = min( unControllerStateSize, sizeof(w_pControllerState) ); + if (pControllerState) memcpy( &w_pControllerState, pControllerState, unControllerStateSize ); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetControllerState, ¶ms ); + if (pControllerState) memcpy( pControllerState, &w_pControllerState, unControllerStateSize ); + return params._ret; +} + +int8_t __thiscall winIVRSystem_IVRSystem_023_GetControllerStateWithPose(struct w_iface *_this, uint32_t eOrigin, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, uint32_t unControllerStateSize, TrackedDevicePose_t *pTrackedDevicePose) +{ + w_VRControllerState001_t w_pControllerState; + struct IVRSystem_IVRSystem_023_GetControllerStateWithPose_params params = + { + .u_iface = _this->u_iface, + .eOrigin = eOrigin, + .unControllerDeviceIndex = unControllerDeviceIndex, + .pControllerState = pControllerState ? &w_pControllerState : NULL, + .unControllerStateSize = unControllerStateSize, + .pTrackedDevicePose = pTrackedDevicePose, + }; + TRACE("%p\n", _this); + unControllerStateSize = min( unControllerStateSize, sizeof(w_pControllerState) ); + if (pControllerState) memcpy( &w_pControllerState, pControllerState, unControllerStateSize ); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetControllerStateWithPose, ¶ms ); + if (pControllerState) memcpy( pControllerState, &w_pControllerState, unControllerStateSize ); + return params._ret; +} + +void __thiscall winIVRSystem_IVRSystem_023_TriggerHapticPulse(struct w_iface *_this, uint32_t unControllerDeviceIndex, uint32_t unAxisId, uint16_t usDurationMicroSec) +{ + struct IVRSystem_IVRSystem_023_TriggerHapticPulse_params params = + { + .u_iface = _this->u_iface, + .unControllerDeviceIndex = unControllerDeviceIndex, + .unAxisId = unAxisId, + .usDurationMicroSec = usDurationMicroSec, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_TriggerHapticPulse, ¶ms ); +} + +const char * __thiscall winIVRSystem_IVRSystem_023_GetButtonIdNameFromEnum(struct w_iface *_this, uint32_t eButtonId) +{ + struct IVRSystem_IVRSystem_023_GetButtonIdNameFromEnum_params params = + { + .u_iface = _this->u_iface, + .eButtonId = eButtonId, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetButtonIdNameFromEnum, ¶ms ); + return get_unix_buffer( params._ret ); +} + +const char * __thiscall winIVRSystem_IVRSystem_023_GetControllerAxisTypeNameFromEnum(struct w_iface *_this, uint32_t eAxisType) +{ + struct IVRSystem_IVRSystem_023_GetControllerAxisTypeNameFromEnum_params params = + { + .u_iface = _this->u_iface, + .eAxisType = eAxisType, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetControllerAxisTypeNameFromEnum, ¶ms ); + return get_unix_buffer( params._ret ); +} + +int8_t __thiscall winIVRSystem_IVRSystem_023_IsInputAvailable(struct w_iface *_this) +{ + struct IVRSystem_IVRSystem_023_IsInputAvailable_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_IsInputAvailable, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVRSystem_IVRSystem_023_IsSteamVRDrawingControllers(struct w_iface *_this) +{ + struct IVRSystem_IVRSystem_023_IsSteamVRDrawingControllers_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_IsSteamVRDrawingControllers, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVRSystem_IVRSystem_023_ShouldApplicationPause(struct w_iface *_this) +{ + struct IVRSystem_IVRSystem_023_ShouldApplicationPause_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_ShouldApplicationPause, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVRSystem_IVRSystem_023_ShouldApplicationReduceRenderingWork(struct w_iface *_this) +{ + struct IVRSystem_IVRSystem_023_ShouldApplicationReduceRenderingWork_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_ShouldApplicationReduceRenderingWork, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVRSystem_IVRSystem_023_PerformFirmwareUpdate(struct w_iface *_this, uint32_t unDeviceIndex) +{ + struct IVRSystem_IVRSystem_023_PerformFirmwareUpdate_params params = + { + .u_iface = _this->u_iface, + .unDeviceIndex = unDeviceIndex, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_PerformFirmwareUpdate, ¶ms ); + return params._ret; +} + +void __thiscall winIVRSystem_IVRSystem_023_AcknowledgeQuit_Exiting(struct w_iface *_this) +{ + struct IVRSystem_IVRSystem_023_AcknowledgeQuit_Exiting_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_AcknowledgeQuit_Exiting, ¶ms ); +} + +uint32_t __thiscall winIVRSystem_IVRSystem_023_GetAppContainerFilePaths(struct w_iface *_this, char *pchBuffer, uint32_t unBufferSize) +{ + struct IVRSystem_IVRSystem_023_GetAppContainerFilePaths_params params = + { + .u_iface = _this->u_iface, + .pchBuffer = pchBuffer, + .unBufferSize = unBufferSize, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetAppContainerFilePaths, ¶ms ); + return params._ret; +} + +const char * __thiscall winIVRSystem_IVRSystem_023_GetRuntimeVersion(struct w_iface *_this) +{ + struct IVRSystem_IVRSystem_023_GetRuntimeVersion_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_023_GetRuntimeVersion, ¶ms ); + return get_unix_buffer( params._ret ); +} + +extern vtable_ptr winIVRSystem_IVRSystem_023_vtable; + +DEFINE_RTTI_DATA0(winIVRSystem_IVRSystem_023, 0, ".?AVIVRSystem@@") + +__ASM_BLOCK_BEGIN(winIVRSystem_IVRSystem_023_vtables) + __ASM_VTABLE(winIVRSystem_IVRSystem_023, + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetRecommendedRenderTargetSize) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetProjectionMatrix) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetProjectionRaw) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_ComputeDistortion) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetEyeToHeadTransform) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetTimeSinceLastVsync) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetD3D9AdapterIndex) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetDXGIOutputInfo) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetOutputDevice) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_IsDisplayOnDesktop) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_SetDisplayVisibility) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetDeviceToAbsoluteTrackingPose) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetSeatedZeroPoseToStandingAbsoluteTrackingPose) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetRawZeroPoseToStandingAbsoluteTrackingPose) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetSortedTrackedDeviceIndicesOfClass) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetTrackedDeviceActivityLevel) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_ApplyTransform) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetTrackedDeviceIndexForControllerRole) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetControllerRoleForTrackedDeviceIndex) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetTrackedDeviceClass) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_IsTrackedDeviceConnected) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetBoolTrackedDeviceProperty) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetFloatTrackedDeviceProperty) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetInt32TrackedDeviceProperty) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetUint64TrackedDeviceProperty) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetMatrix34TrackedDeviceProperty) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetArrayTrackedDeviceProperty) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetStringTrackedDeviceProperty) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetPropErrorNameFromEnum) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_PollNextEvent) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_PollNextEventWithPose) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_PollNextEventWithPoseAndOverlays) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetEventTypeNameFromEnum) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetHiddenAreaMesh) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetControllerState) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetControllerStateWithPose) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_TriggerHapticPulse) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetButtonIdNameFromEnum) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetControllerAxisTypeNameFromEnum) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_IsInputAvailable) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_IsSteamVRDrawingControllers) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_ShouldApplicationPause) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_ShouldApplicationReduceRenderingWork) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_PerformFirmwareUpdate) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_AcknowledgeQuit_Exiting) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetAppContainerFilePaths) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_023_GetRuntimeVersion) + ); +__ASM_BLOCK_END + +struct w_iface *create_winIVRSystem_IVRSystem_023( struct u_iface u_iface ) +{ + struct w_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); + TRACE("-> %p\n", r); + r->vtable = &winIVRSystem_IVRSystem_023_vtable; + r->u_iface = u_iface; + return r; +} + +void destroy_winIVRSystem_IVRSystem_023(struct w_iface *object) +{ + TRACE("%p\n", object); + HeapFree(GetProcessHeap(), 0, object); +} + +struct w_iface *create_winIVRSystem_IVRSystem_023_FnTable( struct u_iface u_iface ) +{ + struct w_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); + struct thunk *thunks = alloc_thunks(47); + struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 47 * sizeof(*vtable)); + int i; + + TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); + init_thunk(&thunks[0], r, winIVRSystem_IVRSystem_023_GetRecommendedRenderTargetSize, 2, FALSE, FALSE); + init_thunk(&thunks[1], r, winIVRSystem_IVRSystem_023_GetProjectionMatrix, 4, TRUE, TRUE); + init_thunk(&thunks[2], r, winIVRSystem_IVRSystem_023_GetProjectionRaw, 5, FALSE, FALSE); + init_thunk(&thunks[3], r, winIVRSystem_IVRSystem_023_ComputeDistortion, 4, TRUE, FALSE); + init_thunk(&thunks[4], r, winIVRSystem_IVRSystem_023_GetEyeToHeadTransform, 2, FALSE, FALSE); + init_thunk(&thunks[5], r, winIVRSystem_IVRSystem_023_GetTimeSinceLastVsync, 2, FALSE, FALSE); + init_thunk(&thunks[6], r, winIVRSystem_IVRSystem_023_GetD3D9AdapterIndex, 0, FALSE, FALSE); + init_thunk(&thunks[7], r, winIVRSystem_IVRSystem_023_GetDXGIOutputInfo, 1, FALSE, FALSE); + init_thunk(&thunks[8], r, winIVRSystem_IVRSystem_023_GetOutputDevice, 3, FALSE, FALSE); + init_thunk(&thunks[9], r, winIVRSystem_IVRSystem_023_IsDisplayOnDesktop, 0, FALSE, FALSE); + init_thunk(&thunks[10], r, winIVRSystem_IVRSystem_023_SetDisplayVisibility, 1, FALSE, FALSE); + init_thunk(&thunks[11], r, winIVRSystem_IVRSystem_023_GetDeviceToAbsoluteTrackingPose, 4, TRUE, FALSE); + init_thunk(&thunks[12], r, winIVRSystem_IVRSystem_023_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); + init_thunk(&thunks[13], r, winIVRSystem_IVRSystem_023_GetRawZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); + init_thunk(&thunks[14], r, winIVRSystem_IVRSystem_023_GetSortedTrackedDeviceIndicesOfClass, 4, FALSE, FALSE); + init_thunk(&thunks[15], r, winIVRSystem_IVRSystem_023_GetTrackedDeviceActivityLevel, 1, FALSE, FALSE); + init_thunk(&thunks[16], r, winIVRSystem_IVRSystem_023_ApplyTransform, 3, FALSE, FALSE); + init_thunk(&thunks[17], r, winIVRSystem_IVRSystem_023_GetTrackedDeviceIndexForControllerRole, 1, FALSE, FALSE); + init_thunk(&thunks[18], r, winIVRSystem_IVRSystem_023_GetControllerRoleForTrackedDeviceIndex, 1, FALSE, FALSE); + init_thunk(&thunks[19], r, winIVRSystem_IVRSystem_023_GetTrackedDeviceClass, 1, FALSE, FALSE); + init_thunk(&thunks[20], r, winIVRSystem_IVRSystem_023_IsTrackedDeviceConnected, 1, FALSE, FALSE); + init_thunk(&thunks[21], r, winIVRSystem_IVRSystem_023_GetBoolTrackedDeviceProperty, 3, FALSE, FALSE); + init_thunk(&thunks[22], r, winIVRSystem_IVRSystem_023_GetFloatTrackedDeviceProperty, 3, FALSE, FALSE); + init_thunk(&thunks[23], r, winIVRSystem_IVRSystem_023_GetInt32TrackedDeviceProperty, 3, FALSE, FALSE); + init_thunk(&thunks[24], r, winIVRSystem_IVRSystem_023_GetUint64TrackedDeviceProperty, 3, FALSE, FALSE); + init_thunk(&thunks[25], r, winIVRSystem_IVRSystem_023_GetMatrix34TrackedDeviceProperty, 4, FALSE, FALSE); + init_thunk(&thunks[26], r, winIVRSystem_IVRSystem_023_GetArrayTrackedDeviceProperty, 6, FALSE, FALSE); + init_thunk(&thunks[27], r, winIVRSystem_IVRSystem_023_GetStringTrackedDeviceProperty, 5, FALSE, FALSE); + init_thunk(&thunks[28], r, winIVRSystem_IVRSystem_023_GetPropErrorNameFromEnum, 1, FALSE, FALSE); + init_thunk(&thunks[29], r, winIVRSystem_IVRSystem_023_PollNextEvent, 2, FALSE, FALSE); + init_thunk(&thunks[30], r, winIVRSystem_IVRSystem_023_PollNextEventWithPose, 4, FALSE, FALSE); + init_thunk(&thunks[31], r, winIVRSystem_IVRSystem_023_PollNextEventWithPoseAndOverlays, 5, FALSE, FALSE); + init_thunk(&thunks[32], r, winIVRSystem_IVRSystem_023_GetEventTypeNameFromEnum, 1, FALSE, FALSE); + init_thunk(&thunks[33], r, winIVRSystem_IVRSystem_023_GetHiddenAreaMesh, 3, FALSE, FALSE); + init_thunk(&thunks[34], r, winIVRSystem_IVRSystem_023_GetControllerState, 3, FALSE, FALSE); + init_thunk(&thunks[35], r, winIVRSystem_IVRSystem_023_GetControllerStateWithPose, 5, FALSE, FALSE); + init_thunk(&thunks[36], r, winIVRSystem_IVRSystem_023_TriggerHapticPulse, 3, FALSE, FALSE); + init_thunk(&thunks[37], r, winIVRSystem_IVRSystem_023_GetButtonIdNameFromEnum, 1, FALSE, FALSE); + init_thunk(&thunks[38], r, winIVRSystem_IVRSystem_023_GetControllerAxisTypeNameFromEnum, 1, FALSE, FALSE); + init_thunk(&thunks[39], r, winIVRSystem_IVRSystem_023_IsInputAvailable, 0, FALSE, FALSE); + init_thunk(&thunks[40], r, winIVRSystem_IVRSystem_023_IsSteamVRDrawingControllers, 0, FALSE, FALSE); + init_thunk(&thunks[41], r, winIVRSystem_IVRSystem_023_ShouldApplicationPause, 0, FALSE, FALSE); + init_thunk(&thunks[42], r, winIVRSystem_IVRSystem_023_ShouldApplicationReduceRenderingWork, 0, FALSE, FALSE); + init_thunk(&thunks[43], r, winIVRSystem_IVRSystem_023_PerformFirmwareUpdate, 1, FALSE, FALSE); + init_thunk(&thunks[44], r, winIVRSystem_IVRSystem_023_AcknowledgeQuit_Exiting, 0, FALSE, FALSE); + init_thunk(&thunks[45], r, winIVRSystem_IVRSystem_023_GetAppContainerFilePaths, 2, FALSE, FALSE); + init_thunk(&thunks[46], r, winIVRSystem_IVRSystem_023_GetRuntimeVersion, 0, FALSE, FALSE); + for (i = 0; i < 47; i++) + vtable[i] = &thunks[i]; + r->u_iface = u_iface; + r->vtable = (void *)vtable; + return r; +} + +void destroy_winIVRSystem_IVRSystem_023_FnTable(struct w_iface *object) +{ + TRACE("%p\n", object); + VirtualFree(object->vtable[0], 0, MEM_RELEASE); + HeapFree(GetProcessHeap(), 0, object->vtable); + HeapFree(GetProcessHeap(), 0, object); +} + void init_winIVRSystem_rtti( char *base ) { #if defined(__x86_64__) || defined(__aarch64__) @@ -11776,5 +12575,6 @@ void init_winIVRSystem_rtti( char *base ) init_winIVRSystem_IVRSystem_020_rtti( base ); init_winIVRSystem_IVRSystem_021_rtti( base ); init_winIVRSystem_IVRSystem_022_rtti( base ); + init_winIVRSystem_IVRSystem_023_rtti( base ); #endif /* defined(__x86_64__) || defined(__aarch64__) */ } From d842e2e3fe441baf6b41a59ab0cc8a5591a257ad Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Fri, 5 Sep 2025 13:25:44 -0600 Subject: [PATCH 47/65] lsteamclient: Fixup ISteamUserStats ver 001, 002 prototype so CGameID is passed by reference. Based on a patch by Patrick Zacharias <1475802+Fighter19@users.noreply.github.com>. Link: https://github.com/ValveSoftware/Proton/pull/8985 CW-Bug-Id: #25907 --- lsteamclient/gen_wrapper.py | 6 ++ lsteamclient/unix_private_generated.h | 80 +++++++++++++-------------- 2 files changed, 46 insertions(+), 40 deletions(-) diff --git a/lsteamclient/gen_wrapper.py b/lsteamclient/gen_wrapper.py index b4bf22fba7..cee4492280 100755 --- a/lsteamclient/gen_wrapper.py +++ b/lsteamclient/gen_wrapper.py @@ -844,6 +844,12 @@ def write_definition(self, out, prefix): and method.name == 'InitiateGameConnection': types[3] = 'CGameID *' + if self.full_name == 'ISteamUserStats_STEAMUSERSTATS_INTERFACE_VERSION001' \ + or self.full_name == 'ISteamUserStats_STEAMUSERSTATS_INTERFACE_VERSION002': + for i, t in enumerate(types): + if t == 'CGameID': + types[i] = 'CGameID &' + if type(method) is Destructor: out(f' virtual ~{prefix}{self.full_name}( {", ".join(types)} ) = 0;\n') else: diff --git a/lsteamclient/unix_private_generated.h b/lsteamclient/unix_private_generated.h index 96f722936a..385826310b 100644 --- a/lsteamclient/unix_private_generated.h +++ b/lsteamclient/unix_private_generated.h @@ -169,28 +169,28 @@ struct u_ISteamMatchmakingServers_SteamMatchMakingServers001 struct u_ISteamUserStats_STEAMUSERSTATS_INTERFACE_VERSION001 { #ifdef __cplusplus - virtual uint32_t GetNumStats( CGameID ) = 0; - virtual const char * GetStatName( CGameID, uint32_t ) = 0; - virtual uint32_t GetStatType( CGameID, const char * ) = 0; - virtual uint32_t GetNumAchievements( CGameID ) = 0; - virtual const char * GetAchievementName( CGameID, uint32_t ) = 0; - virtual uint32_t GetNumGroupAchievements( CGameID ) = 0; - virtual const char * GetGroupAchievementName( CGameID, uint32_t ) = 0; - virtual int8_t RequestCurrentStats( CGameID ) = 0; - virtual int8_t GetStat( CGameID, const char *, int32_t * ) = 0; - virtual int8_t GetStat( CGameID, const char *, float * ) = 0; - virtual int8_t SetStat( CGameID, const char *, int32_t ) = 0; - virtual int8_t SetStat( CGameID, const char *, float ) = 0; - virtual int8_t UpdateAvgRateStat( CGameID, const char *, float, double ) = 0; - virtual int8_t GetAchievement( CGameID, const char *, int8_t * ) = 0; - virtual int8_t GetGroupAchievement( CGameID, const char *, int8_t * ) = 0; - virtual int8_t SetAchievement( CGameID, const char * ) = 0; - virtual int8_t SetGroupAchievement( CGameID, const char * ) = 0; - virtual int8_t StoreStats( CGameID ) = 0; - virtual int8_t ClearAchievement( CGameID, const char * ) = 0; - virtual int8_t ClearGroupAchievement( CGameID, const char * ) = 0; - virtual int32_t GetAchievementIcon( CGameID, const char * ) = 0; - virtual const char * GetAchievementDisplayAttribute( CGameID, const char *, const char * ) = 0; + virtual uint32_t GetNumStats( CGameID & ) = 0; + virtual const char * GetStatName( CGameID &, uint32_t ) = 0; + virtual uint32_t GetStatType( CGameID &, const char * ) = 0; + virtual uint32_t GetNumAchievements( CGameID & ) = 0; + virtual const char * GetAchievementName( CGameID &, uint32_t ) = 0; + virtual uint32_t GetNumGroupAchievements( CGameID & ) = 0; + virtual const char * GetGroupAchievementName( CGameID &, uint32_t ) = 0; + virtual int8_t RequestCurrentStats( CGameID & ) = 0; + virtual int8_t GetStat( CGameID &, const char *, int32_t * ) = 0; + virtual int8_t GetStat( CGameID &, const char *, float * ) = 0; + virtual int8_t SetStat( CGameID &, const char *, int32_t ) = 0; + virtual int8_t SetStat( CGameID &, const char *, float ) = 0; + virtual int8_t UpdateAvgRateStat( CGameID &, const char *, float, double ) = 0; + virtual int8_t GetAchievement( CGameID &, const char *, int8_t * ) = 0; + virtual int8_t GetGroupAchievement( CGameID &, const char *, int8_t * ) = 0; + virtual int8_t SetAchievement( CGameID &, const char * ) = 0; + virtual int8_t SetGroupAchievement( CGameID &, const char * ) = 0; + virtual int8_t StoreStats( CGameID & ) = 0; + virtual int8_t ClearAchievement( CGameID &, const char * ) = 0; + virtual int8_t ClearGroupAchievement( CGameID &, const char * ) = 0; + virtual int32_t GetAchievementIcon( CGameID &, const char * ) = 0; + virtual const char * GetAchievementDisplayAttribute( CGameID &, const char *, const char * ) = 0; #endif /* __cplusplus */ }; @@ -400,24 +400,24 @@ struct u_ISteamFriends_SteamFriends002 struct u_ISteamUserStats_STEAMUSERSTATS_INTERFACE_VERSION002 { #ifdef __cplusplus - virtual uint32_t GetNumStats( CGameID ) = 0; - virtual const char * GetStatName( CGameID, uint32_t ) = 0; - virtual uint32_t GetStatType( CGameID, const char * ) = 0; - virtual uint32_t GetNumAchievements( CGameID ) = 0; - virtual const char * GetAchievementName( CGameID, uint32_t ) = 0; - virtual int8_t RequestCurrentStats( CGameID ) = 0; - virtual int8_t GetStat( CGameID, const char *, int32_t * ) = 0; - virtual int8_t GetStat( CGameID, const char *, float * ) = 0; - virtual int8_t SetStat( CGameID, const char *, int32_t ) = 0; - virtual int8_t SetStat( CGameID, const char *, float ) = 0; - virtual int8_t UpdateAvgRateStat( CGameID, const char *, float, double ) = 0; - virtual int8_t GetAchievement( CGameID, const char *, int8_t * ) = 0; - virtual int8_t SetAchievement( CGameID, const char * ) = 0; - virtual int8_t ClearAchievement( CGameID, const char * ) = 0; - virtual int8_t StoreStats( CGameID ) = 0; - virtual int32_t GetAchievementIcon( CGameID, const char * ) = 0; - virtual const char * GetAchievementDisplayAttribute( CGameID, const char *, const char * ) = 0; - virtual int8_t IndicateAchievementProgress( CGameID, const char *, uint32_t, uint32_t ) = 0; + virtual uint32_t GetNumStats( CGameID & ) = 0; + virtual const char * GetStatName( CGameID &, uint32_t ) = 0; + virtual uint32_t GetStatType( CGameID &, const char * ) = 0; + virtual uint32_t GetNumAchievements( CGameID & ) = 0; + virtual const char * GetAchievementName( CGameID &, uint32_t ) = 0; + virtual int8_t RequestCurrentStats( CGameID & ) = 0; + virtual int8_t GetStat( CGameID &, const char *, int32_t * ) = 0; + virtual int8_t GetStat( CGameID &, const char *, float * ) = 0; + virtual int8_t SetStat( CGameID &, const char *, int32_t ) = 0; + virtual int8_t SetStat( CGameID &, const char *, float ) = 0; + virtual int8_t UpdateAvgRateStat( CGameID &, const char *, float, double ) = 0; + virtual int8_t GetAchievement( CGameID &, const char *, int8_t * ) = 0; + virtual int8_t SetAchievement( CGameID &, const char * ) = 0; + virtual int8_t ClearAchievement( CGameID &, const char * ) = 0; + virtual int8_t StoreStats( CGameID & ) = 0; + virtual int32_t GetAchievementIcon( CGameID &, const char * ) = 0; + virtual const char * GetAchievementDisplayAttribute( CGameID &, const char *, const char * ) = 0; + virtual int8_t IndicateAchievementProgress( CGameID &, const char *, uint32_t, uint32_t ) = 0; #endif /* __cplusplus */ }; From ca4869c156d7c72ed31a012c1f8b22944b516015 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Fri, 5 Sep 2025 16:16:14 -0600 Subject: [PATCH 48/65] lsteamclient: Generalize CGameID reference fixup. CW-Bug-Id: #25907 --- lsteamclient/cppISteamUser_SteamUser008.cpp | 4 ++-- lsteamclient/gen_wrapper.py | 19 ++++++------------- lsteamclient/unix_private_generated.h | 4 ++-- 3 files changed, 10 insertions(+), 17 deletions(-) diff --git a/lsteamclient/cppISteamUser_SteamUser008.cpp b/lsteamclient/cppISteamUser_SteamUser008.cpp index 32fe2850f1..bc399199fe 100644 --- a/lsteamclient/cppISteamUser_SteamUser008.cpp +++ b/lsteamclient/cppISteamUser_SteamUser008.cpp @@ -63,7 +63,7 @@ NTSTATUS ISteamUser_SteamUser008_InitiateGameConnection( void *args ) { struct ISteamUser_SteamUser008_InitiateGameConnection_params *params = (struct ISteamUser_SteamUser008_InitiateGameConnection_params *)args; struct u_ISteamUser_SteamUser008 *iface = (struct u_ISteamUser_SteamUser008 *)params->u_iface; - params->_ret = iface->InitiateGameConnection( params->pBlob, params->cbMaxBlob, params->steamID, ¶ms->gameID, params->unIPServer, params->usPortServer, params->bSecure, params->pvSteam2GetEncryptionKey, params->cbSteam2GetEncryptionKey ); + params->_ret = iface->InitiateGameConnection( params->pBlob, params->cbMaxBlob, params->steamID, params->gameID, params->unIPServer, params->usPortServer, params->bSecure, params->pvSteam2GetEncryptionKey, params->cbSteam2GetEncryptionKey ); return 0; } @@ -72,7 +72,7 @@ NTSTATUS wow64_ISteamUser_SteamUser008_InitiateGameConnection( void *args ) { struct wow64_ISteamUser_SteamUser008_InitiateGameConnection_params *params = (struct wow64_ISteamUser_SteamUser008_InitiateGameConnection_params *)args; struct u_ISteamUser_SteamUser008 *iface = (struct u_ISteamUser_SteamUser008 *)params->u_iface; - params->_ret = iface->InitiateGameConnection( params->pBlob, params->cbMaxBlob, params->steamID, ¶ms->gameID, params->unIPServer, params->usPortServer, params->bSecure, params->pvSteam2GetEncryptionKey, params->cbSteam2GetEncryptionKey ); + params->_ret = iface->InitiateGameConnection( params->pBlob, params->cbMaxBlob, params->steamID, params->gameID, params->unIPServer, params->usPortServer, params->bSecure, params->pvSteam2GetEncryptionKey, params->cbSteam2GetEncryptionKey ); return 0; } #endif diff --git a/lsteamclient/gen_wrapper.py b/lsteamclient/gen_wrapper.py index cee4492280..64cc1d32aa 100755 --- a/lsteamclient/gen_wrapper.py +++ b/lsteamclient/gen_wrapper.py @@ -315,6 +315,11 @@ "ISteamRemoteStorage_UpdatePublishedFile": lambda ver, abi: abi == 'u' and ver >= 5, } +CGameID_REF_FIXUP_INTERFACES = [ + "ISteamUser_SteamUser008", + "ISteamUserStats_STEAMUSERSTATS_INTERFACE_VERSION001", + "ISteamUserStats_STEAMUSERSTATS_INTERFACE_VERSION002", +] DEFINE_INTERFACE_VERSION = re.compile(r'^#define\s*(?PSTEAM(?:\w*)_VERSION(?:\w*))\s*"(?P.*)"') @@ -840,12 +845,7 @@ def write_definition(self, out, prefix): # CGameID -> CGameID & # Windows side follows the prototype in the header while Linux # steamclient treats gameID parameter as pointer - if self.full_name == 'ISteamUser_SteamUser008' \ - and method.name == 'InitiateGameConnection': - types[3] = 'CGameID *' - - if self.full_name == 'ISteamUserStats_STEAMUSERSTATS_INTERFACE_VERSION001' \ - or self.full_name == 'ISteamUserStats_STEAMUSERSTATS_INTERFACE_VERSION002': + if self.full_name in CGameID_REF_FIXUP_INTERFACES: for i, t in enumerate(types): if t == 'CGameID': types[i] = 'CGameID &' @@ -1130,13 +1130,6 @@ def param_call(name, param): params = [param_call(n, p) for n, p in zip(names[1:], method.get_arguments())] - # CGameID -> CGameID & - # Windows side follows the prototype in the header while Linux - # steamclient treats gameID parameter as pointer - if klass.full_name == 'ISteamUser_SteamUser008' \ - and method.name == 'InitiateGameConnection': - params[3] = f'&{params[3]}' - out(f'iface->{method.spelling}( {", ".join(params)} );\n') for name, param in sorted(need_output.items()): diff --git a/lsteamclient/unix_private_generated.h b/lsteamclient/unix_private_generated.h index 385826310b..35aba1a876 100644 --- a/lsteamclient/unix_private_generated.h +++ b/lsteamclient/unix_private_generated.h @@ -354,9 +354,9 @@ struct u_ISteamUser_SteamUser008 virtual int32_t GetHSteamUser( ) = 0; virtual int8_t BLoggedOn( ) = 0; virtual CSteamID GetSteamID( ) = 0; - virtual int32_t InitiateGameConnection( void *, int32_t, CSteamID, CGameID *, uint32_t, uint16_t, int8_t, void *, int32_t ) = 0; + virtual int32_t InitiateGameConnection( void *, int32_t, CSteamID, CGameID &, uint32_t, uint16_t, int8_t, void *, int32_t ) = 0; virtual void TerminateGameConnection( uint32_t, uint16_t ) = 0; - virtual void TrackAppUsageEvent( CGameID, int32_t, const char * ) = 0; + virtual void TrackAppUsageEvent( CGameID &, int32_t, const char * ) = 0; virtual void RefreshSteam2Login( ) = 0; #endif /* __cplusplus */ }; From 92e86183bbd7e73965b87180a7b52d37dd97b1d6 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Fri, 5 Sep 2025 18:36:37 -0600 Subject: [PATCH 49/65] wineopenxr: Update to 1.1.51 registry version. --- wineopenxr/loader_thunks.c | 886 +++++++++++++++++++++ wineopenxr/loader_thunks.h | 618 +++++++++++++++ wineopenxr/make_openxr | 2 +- wineopenxr/openxr_thunks.c | 900 +++++++++++++++++++++- wineopenxr/openxr_thunks.h | 134 ++++ wineopenxr/wineopenxr.h | 1492 +++++++++++++++++++++++++++++++++++- wineopenxr/wineopenxr.json | 2 +- 7 files changed, 4019 insertions(+), 15 deletions(-) diff --git a/wineopenxr/loader_thunks.c b/wineopenxr/loader_thunks.c index 18359f18c4..ea05bbce7a 100644 --- a/wineopenxr/loader_thunks.c +++ b/wineopenxr/loader_thunks.c @@ -206,6 +206,18 @@ XrResult WINAPI xrCreateActionSpace(XrSession session, const XrActionSpaceCreate return params.result; } +XrResult WINAPI xrCreateAnchorSpaceANDROID(XrSession session, const XrAnchorSpaceCreateInfoANDROID *createInfo, XrSpace *anchorOutput) +{ + struct xrCreateAnchorSpaceANDROID_params params; + NTSTATUS _status; + params.session = session; + params.createInfo = createInfo; + params.anchorOutput = anchorOutput; + _status = UNIX_CALL(xrCreateAnchorSpaceANDROID, ¶ms); + assert(!_status && "xrCreateAnchorSpaceANDROID"); + return params.result; +} + XrResult WINAPI xrCreateAnchorSpaceBD(XrSession session, const XrAnchorSpaceCreateInfoBD *createInfo, XrSpace *space) { struct xrCreateAnchorSpaceBD_params params; @@ -254,6 +266,18 @@ XrResult WINAPI xrCreateBodyTrackerHTC(XrSession session, const XrBodyTrackerCre return params.result; } +XrResult WINAPI xrCreateDeviceAnchorPersistenceANDROID(XrSession session, const XrDeviceAnchorPersistenceCreateInfoANDROID *createInfo, XrDeviceAnchorPersistenceANDROID *outHandle) +{ + struct xrCreateDeviceAnchorPersistenceANDROID_params params; + NTSTATUS _status; + params.session = session; + params.createInfo = createInfo; + params.outHandle = outHandle; + _status = UNIX_CALL(xrCreateDeviceAnchorPersistenceANDROID, ¶ms); + assert(!_status && "xrCreateDeviceAnchorPersistenceANDROID"); + return params.result; +} + XrResult WINAPI xrCreateEnvironmentDepthProviderMETA(XrSession session, const XrEnvironmentDepthProviderCreateInfoMETA *createInfo, XrEnvironmentDepthProviderMETA *environmentDepthProvider) { struct xrCreateEnvironmentDepthProviderMETA_params params; @@ -494,6 +518,18 @@ XrResult WINAPI xrCreatePassthroughLayerFB(XrSession session, const XrPassthroug return params.result; } +XrResult WINAPI xrCreatePersistedAnchorSpaceANDROID(XrDeviceAnchorPersistenceANDROID handle, const XrPersistedAnchorSpaceCreateInfoANDROID *createInfo, XrSpace *anchorOutput) +{ + struct xrCreatePersistedAnchorSpaceANDROID_params params; + NTSTATUS _status; + params.handle = handle; + params.createInfo = createInfo; + params.anchorOutput = anchorOutput; + _status = UNIX_CALL(xrCreatePersistedAnchorSpaceANDROID, ¶ms); + assert(!_status && "xrCreatePersistedAnchorSpaceANDROID"); + return params.result; +} + XrResult WINAPI xrCreatePlaneDetectorEXT(XrSession session, const XrPlaneDetectorCreateInfoEXT *createInfo, XrPlaneDetectorEXT *planeDetector) { struct xrCreatePlaneDetectorEXT_params params; @@ -518,6 +554,42 @@ XrResult WINAPI xrCreateReferenceSpace(XrSession session, const XrReferenceSpace return params.result; } +XrResult WINAPI xrCreateRenderModelAssetEXT(XrSession session, const XrRenderModelAssetCreateInfoEXT *createInfo, XrRenderModelAssetEXT *asset) +{ + struct xrCreateRenderModelAssetEXT_params params; + NTSTATUS _status; + params.session = session; + params.createInfo = createInfo; + params.asset = asset; + _status = UNIX_CALL(xrCreateRenderModelAssetEXT, ¶ms); + assert(!_status && "xrCreateRenderModelAssetEXT"); + return params.result; +} + +XrResult WINAPI xrCreateRenderModelEXT(XrSession session, const XrRenderModelCreateInfoEXT *createInfo, XrRenderModelEXT *renderModel) +{ + struct xrCreateRenderModelEXT_params params; + NTSTATUS _status; + params.session = session; + params.createInfo = createInfo; + params.renderModel = renderModel; + _status = UNIX_CALL(xrCreateRenderModelEXT, ¶ms); + assert(!_status && "xrCreateRenderModelEXT"); + return params.result; +} + +XrResult WINAPI xrCreateRenderModelSpaceEXT(XrSession session, const XrRenderModelSpaceCreateInfoEXT *createInfo, XrSpace *space) +{ + struct xrCreateRenderModelSpaceEXT_params params; + NTSTATUS _status; + params.session = session; + params.createInfo = createInfo; + params.space = space; + _status = UNIX_CALL(xrCreateRenderModelSpaceEXT, ¶ms); + assert(!_status && "xrCreateRenderModelSpaceEXT"); + return params.result; +} + XrResult WINAPI xrCreateSceneMSFT(XrSceneObserverMSFT sceneObserver, const XrSceneCreateInfoMSFT *createInfo, XrSceneMSFT *scene) { struct xrCreateSceneMSFT_params params; @@ -590,6 +662,19 @@ XrResult WINAPI xrCreateSpatialAnchorCompleteBD(XrSenseDataProviderBD provider, return params.result; } +XrResult WINAPI xrCreateSpatialAnchorEXT(XrSpatialContextEXT spatialContext, const XrSpatialAnchorCreateInfoEXT *createInfo, XrSpatialEntityIdEXT *anchorEntityId, XrSpatialEntityEXT *anchorEntity) +{ + struct xrCreateSpatialAnchorEXT_params params; + NTSTATUS _status; + params.spatialContext = spatialContext; + params.createInfo = createInfo; + params.anchorEntityId = anchorEntityId; + params.anchorEntity = anchorEntity; + _status = UNIX_CALL(xrCreateSpatialAnchorEXT, ¶ms); + assert(!_status && "xrCreateSpatialAnchorEXT"); + return params.result; +} + XrResult WINAPI xrCreateSpatialAnchorFB(XrSession session, const XrSpatialAnchorCreateInfoFB *info, XrAsyncRequestIdFB *requestId) { struct xrCreateSpatialAnchorFB_params params; @@ -697,6 +782,54 @@ XrResult WINAPI xrCreateSpatialAnchorsStorageML(XrSession session, const XrSpati return params.result; } +XrResult WINAPI xrCreateSpatialContextAsyncEXT(XrSession session, const XrSpatialContextCreateInfoEXT *createInfo, XrFutureEXT *future) +{ + struct xrCreateSpatialContextAsyncEXT_params params; + NTSTATUS _status; + params.session = session; + params.createInfo = createInfo; + params.future = future; + _status = UNIX_CALL(xrCreateSpatialContextAsyncEXT, ¶ms); + assert(!_status && "xrCreateSpatialContextAsyncEXT"); + return params.result; +} + +XrResult WINAPI xrCreateSpatialContextCompleteEXT(XrSession session, XrFutureEXT future, XrCreateSpatialContextCompletionEXT *completion) +{ + struct xrCreateSpatialContextCompleteEXT_params params; + NTSTATUS _status; + params.session = session; + params.future = future; + params.completion = completion; + _status = UNIX_CALL(xrCreateSpatialContextCompleteEXT, ¶ms); + assert(!_status && "xrCreateSpatialContextCompleteEXT"); + return params.result; +} + +XrResult WINAPI xrCreateSpatialDiscoverySnapshotAsyncEXT(XrSpatialContextEXT spatialContext, const XrSpatialDiscoverySnapshotCreateInfoEXT *createInfo, XrFutureEXT *future) +{ + struct xrCreateSpatialDiscoverySnapshotAsyncEXT_params params; + NTSTATUS _status; + params.spatialContext = spatialContext; + params.createInfo = createInfo; + params.future = future; + _status = UNIX_CALL(xrCreateSpatialDiscoverySnapshotAsyncEXT, ¶ms); + assert(!_status && "xrCreateSpatialDiscoverySnapshotAsyncEXT"); + return params.result; +} + +XrResult WINAPI xrCreateSpatialDiscoverySnapshotCompleteEXT(XrSpatialContextEXT spatialContext, const XrCreateSpatialDiscoverySnapshotCompletionInfoEXT *createSnapshotCompletionInfo, XrCreateSpatialDiscoverySnapshotCompletionEXT *completion) +{ + struct xrCreateSpatialDiscoverySnapshotCompleteEXT_params params; + NTSTATUS _status; + params.spatialContext = spatialContext; + params.createSnapshotCompletionInfo = createSnapshotCompletionInfo; + params.completion = completion; + _status = UNIX_CALL(xrCreateSpatialDiscoverySnapshotCompleteEXT, ¶ms); + assert(!_status && "xrCreateSpatialDiscoverySnapshotCompleteEXT"); + return params.result; +} + XrResult WINAPI xrCreateSpatialEntityAnchorBD(XrSenseDataProviderBD provider, const XrSpatialEntityAnchorCreateInfoBD *createInfo, XrAnchorBD *anchor) { struct xrCreateSpatialEntityAnchorBD_params params; @@ -709,6 +842,18 @@ XrResult WINAPI xrCreateSpatialEntityAnchorBD(XrSenseDataProviderBD provider, co return params.result; } +XrResult WINAPI xrCreateSpatialEntityFromIdEXT(XrSpatialContextEXT spatialContext, const XrSpatialEntityFromIdCreateInfoEXT *createInfo, XrSpatialEntityEXT *spatialEntity) +{ + struct xrCreateSpatialEntityFromIdEXT_params params; + NTSTATUS _status; + params.spatialContext = spatialContext; + params.createInfo = createInfo; + params.spatialEntity = spatialEntity; + _status = UNIX_CALL(xrCreateSpatialEntityFromIdEXT, ¶ms); + assert(!_status && "xrCreateSpatialEntityFromIdEXT"); + return params.result; +} + XrResult WINAPI xrCreateSpatialGraphNodeSpaceMSFT(XrSession session, const XrSpatialGraphNodeSpaceCreateInfoMSFT *createInfo, XrSpace *space) { struct xrCreateSpatialGraphNodeSpaceMSFT_params params; @@ -721,6 +866,54 @@ XrResult WINAPI xrCreateSpatialGraphNodeSpaceMSFT(XrSession session, const XrSpa return params.result; } +XrResult WINAPI xrCreateSpatialPersistenceContextAsyncEXT(XrSession session, const XrSpatialPersistenceContextCreateInfoEXT *createInfo, XrFutureEXT *future) +{ + struct xrCreateSpatialPersistenceContextAsyncEXT_params params; + NTSTATUS _status; + params.session = session; + params.createInfo = createInfo; + params.future = future; + _status = UNIX_CALL(xrCreateSpatialPersistenceContextAsyncEXT, ¶ms); + assert(!_status && "xrCreateSpatialPersistenceContextAsyncEXT"); + return params.result; +} + +XrResult WINAPI xrCreateSpatialPersistenceContextCompleteEXT(XrSession session, XrFutureEXT future, XrCreateSpatialPersistenceContextCompletionEXT *completion) +{ + struct xrCreateSpatialPersistenceContextCompleteEXT_params params; + NTSTATUS _status; + params.session = session; + params.future = future; + params.completion = completion; + _status = UNIX_CALL(xrCreateSpatialPersistenceContextCompleteEXT, ¶ms); + assert(!_status && "xrCreateSpatialPersistenceContextCompleteEXT"); + return params.result; +} + +XrResult WINAPI xrCreateSpatialUpdateSnapshotEXT(XrSpatialContextEXT spatialContext, const XrSpatialUpdateSnapshotCreateInfoEXT *createInfo, XrSpatialSnapshotEXT *snapshot) +{ + struct xrCreateSpatialUpdateSnapshotEXT_params params; + NTSTATUS _status; + params.spatialContext = spatialContext; + params.createInfo = createInfo; + params.snapshot = snapshot; + _status = UNIX_CALL(xrCreateSpatialUpdateSnapshotEXT, ¶ms); + assert(!_status && "xrCreateSpatialUpdateSnapshotEXT"); + return params.result; +} + +XrResult WINAPI xrCreateTrackableTrackerANDROID(XrSession session, const XrTrackableTrackerCreateInfoANDROID *createInfo, XrTrackableTrackerANDROID *trackableTracker) +{ + struct xrCreateTrackableTrackerANDROID_params params; + NTSTATUS _status; + params.session = session; + params.createInfo = createInfo; + params.trackableTracker = trackableTracker; + _status = UNIX_CALL(xrCreateTrackableTrackerANDROID, ¶ms); + assert(!_status && "xrCreateTrackableTrackerANDROID"); + return params.result; +} + XrResult WINAPI xrCreateTriangleMeshFB(XrSession session, const XrTriangleMeshCreateInfoFB *createInfo, XrTriangleMeshFB *outTriangleMesh) { struct xrCreateTriangleMeshFB_params params; @@ -865,6 +1058,16 @@ XrResult WINAPI xrDestroyBodyTrackerHTC(XrBodyTrackerHTC bodyTracker) return params.result; } +XrResult WINAPI xrDestroyDeviceAnchorPersistenceANDROID(XrDeviceAnchorPersistenceANDROID handle) +{ + struct xrDestroyDeviceAnchorPersistenceANDROID_params params; + NTSTATUS _status; + params.handle = handle; + _status = UNIX_CALL(xrDestroyDeviceAnchorPersistenceANDROID, ¶ms); + assert(!_status && "xrDestroyDeviceAnchorPersistenceANDROID"); + return params.result; +} + XrResult WINAPI xrDestroyEnvironmentDepthProviderMETA(XrEnvironmentDepthProviderMETA environmentDepthProvider) { struct xrDestroyEnvironmentDepthProviderMETA_params params; @@ -1035,6 +1238,26 @@ XrResult WINAPI xrDestroyPlaneDetectorEXT(XrPlaneDetectorEXT planeDetector) return params.result; } +XrResult WINAPI xrDestroyRenderModelAssetEXT(XrRenderModelAssetEXT asset) +{ + struct xrDestroyRenderModelAssetEXT_params params; + NTSTATUS _status; + params.asset = asset; + _status = UNIX_CALL(xrDestroyRenderModelAssetEXT, ¶ms); + assert(!_status && "xrDestroyRenderModelAssetEXT"); + return params.result; +} + +XrResult WINAPI xrDestroyRenderModelEXT(XrRenderModelEXT renderModel) +{ + struct xrDestroyRenderModelEXT_params params; + NTSTATUS _status; + params.renderModel = renderModel; + _status = UNIX_CALL(xrDestroyRenderModelEXT, ¶ms); + assert(!_status && "xrDestroyRenderModelEXT"); + return params.result; +} + XrResult WINAPI xrDestroySceneMSFT(XrSceneMSFT scene) { struct xrDestroySceneMSFT_params params; @@ -1125,6 +1348,26 @@ XrResult WINAPI xrDestroySpatialAnchorsStorageML(XrSpatialAnchorsStorageML stora return params.result; } +XrResult WINAPI xrDestroySpatialContextEXT(XrSpatialContextEXT spatialContext) +{ + struct xrDestroySpatialContextEXT_params params; + NTSTATUS _status; + params.spatialContext = spatialContext; + _status = UNIX_CALL(xrDestroySpatialContextEXT, ¶ms); + assert(!_status && "xrDestroySpatialContextEXT"); + return params.result; +} + +XrResult WINAPI xrDestroySpatialEntityEXT(XrSpatialEntityEXT spatialEntity) +{ + struct xrDestroySpatialEntityEXT_params params; + NTSTATUS _status; + params.spatialEntity = spatialEntity; + _status = UNIX_CALL(xrDestroySpatialEntityEXT, ¶ms); + assert(!_status && "xrDestroySpatialEntityEXT"); + return params.result; +} + XrResult WINAPI xrDestroySpatialGraphNodeBindingMSFT(XrSpatialGraphNodeBindingMSFT nodeBinding) { struct xrDestroySpatialGraphNodeBindingMSFT_params params; @@ -1135,6 +1378,36 @@ XrResult WINAPI xrDestroySpatialGraphNodeBindingMSFT(XrSpatialGraphNodeBindingMS return params.result; } +XrResult WINAPI xrDestroySpatialPersistenceContextEXT(XrSpatialPersistenceContextEXT persistenceContext) +{ + struct xrDestroySpatialPersistenceContextEXT_params params; + NTSTATUS _status; + params.persistenceContext = persistenceContext; + _status = UNIX_CALL(xrDestroySpatialPersistenceContextEXT, ¶ms); + assert(!_status && "xrDestroySpatialPersistenceContextEXT"); + return params.result; +} + +XrResult WINAPI xrDestroySpatialSnapshotEXT(XrSpatialSnapshotEXT snapshot) +{ + struct xrDestroySpatialSnapshotEXT_params params; + NTSTATUS _status; + params.snapshot = snapshot; + _status = UNIX_CALL(xrDestroySpatialSnapshotEXT, ¶ms); + assert(!_status && "xrDestroySpatialSnapshotEXT"); + return params.result; +} + +XrResult WINAPI xrDestroyTrackableTrackerANDROID(XrTrackableTrackerANDROID trackableTracker) +{ + struct xrDestroyTrackableTrackerANDROID_params params; + NTSTATUS _status; + params.trackableTracker = trackableTracker; + _status = UNIX_CALL(xrDestroyTrackableTrackerANDROID, ¶ms); + assert(!_status && "xrDestroyTrackableTrackerANDROID"); + return params.result; +} + XrResult WINAPI xrDestroyTriangleMeshFB(XrTriangleMeshFB mesh) { struct xrDestroyTriangleMeshFB_params params; @@ -1327,6 +1600,20 @@ XrResult WINAPI xrEnumerateInstanceExtensionProperties(const char *layerName, ui return params.result; } +XrResult WINAPI xrEnumerateInteractionRenderModelIdsEXT(XrSession session, const XrInteractionRenderModelIdsEnumerateInfoEXT *getInfo, uint32_t renderModelIdCapacityInput, uint32_t *renderModelIdCountOutput, XrRenderModelIdEXT *renderModelIds) +{ + struct xrEnumerateInteractionRenderModelIdsEXT_params params; + NTSTATUS _status; + params.session = session; + params.getInfo = getInfo; + params.renderModelIdCapacityInput = renderModelIdCapacityInput; + params.renderModelIdCountOutput = renderModelIdCountOutput; + params.renderModelIds = renderModelIds; + _status = UNIX_CALL(xrEnumerateInteractionRenderModelIdsEXT, ¶ms); + assert(!_status && "xrEnumerateInteractionRenderModelIdsEXT"); + return params.result; +} + XrResult WINAPI xrEnumeratePerformanceMetricsCounterPathsMETA(XrInstance instance, uint32_t counterPathCapacityInput, uint32_t *counterPathCountOutput, XrPath *counterPaths) { struct xrEnumeratePerformanceMetricsCounterPathsMETA_params params; @@ -1340,6 +1627,19 @@ XrResult WINAPI xrEnumeratePerformanceMetricsCounterPathsMETA(XrInstance instanc return params.result; } +XrResult WINAPI xrEnumeratePersistedAnchorsANDROID(XrDeviceAnchorPersistenceANDROID handle, uint32_t anchorIdCapacityInput, uint32_t *anchorIdCountOutput, XrUuidEXT *anchorIds) +{ + struct xrEnumeratePersistedAnchorsANDROID_params params; + NTSTATUS _status; + params.handle = handle; + params.anchorIdCapacityInput = anchorIdCapacityInput; + params.anchorIdCountOutput = anchorIdCountOutput; + params.anchorIds = anchorIds; + _status = UNIX_CALL(xrEnumeratePersistedAnchorsANDROID, ¶ms); + assert(!_status && "xrEnumeratePersistedAnchorsANDROID"); + return params.result; +} + XrResult WINAPI xrEnumeratePersistedSpatialAnchorNamesMSFT(XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore, uint32_t spatialAnchorNameCapacityInput, uint32_t *spatialAnchorNameCountOutput, XrSpatialAnchorPersistenceNameMSFT *spatialAnchorNames) { struct xrEnumeratePersistedSpatialAnchorNamesMSFT_params params; @@ -1353,6 +1653,20 @@ XrResult WINAPI xrEnumeratePersistedSpatialAnchorNamesMSFT(XrSpatialAnchorStoreC return params.result; } +XrResult WINAPI xrEnumerateRaycastSupportedTrackableTypesANDROID(XrInstance instance, XrSystemId systemId, uint32_t trackableTypeCapacityInput, uint32_t *trackableTypeCountOutput, XrTrackableTypeANDROID *trackableTypes) +{ + struct xrEnumerateRaycastSupportedTrackableTypesANDROID_params params; + NTSTATUS _status; + params.instance = instance; + params.systemId = systemId; + params.trackableTypeCapacityInput = trackableTypeCapacityInput; + params.trackableTypeCountOutput = trackableTypeCountOutput; + params.trackableTypes = trackableTypes; + _status = UNIX_CALL(xrEnumerateRaycastSupportedTrackableTypesANDROID, ¶ms); + assert(!_status && "xrEnumerateRaycastSupportedTrackableTypesANDROID"); + return params.result; +} + XrResult WINAPI xrEnumerateReferenceSpaces(XrSession session, uint32_t spaceCapacityInput, uint32_t *spaceCountOutput, XrReferenceSpaceType *spaces) { struct xrEnumerateReferenceSpaces_params params; @@ -1379,6 +1693,20 @@ XrResult WINAPI xrEnumerateRenderModelPathsFB(XrSession session, uint32_t pathCa return params.result; } +XrResult WINAPI xrEnumerateRenderModelSubactionPathsEXT(XrRenderModelEXT renderModel, const XrInteractionRenderModelSubactionPathInfoEXT *info, uint32_t pathCapacityInput, uint32_t *pathCountOutput, XrPath *paths) +{ + struct xrEnumerateRenderModelSubactionPathsEXT_params params; + NTSTATUS _status; + params.renderModel = renderModel; + params.info = info; + params.pathCapacityInput = pathCapacityInput; + params.pathCountOutput = pathCountOutput; + params.paths = paths; + _status = UNIX_CALL(xrEnumerateRenderModelSubactionPathsEXT, ¶ms); + assert(!_status && "xrEnumerateRenderModelSubactionPathsEXT"); + return params.result; +} + XrResult WINAPI xrEnumerateReprojectionModesMSFT(XrInstance instance, XrSystemId systemId, XrViewConfigurationType viewConfigurationType, uint32_t modeCapacityInput, uint32_t *modeCountOutput, XrReprojectionModeMSFT *modes) { struct xrEnumerateReprojectionModesMSFT_params params; @@ -1421,6 +1749,48 @@ XrResult WINAPI xrEnumerateSpaceSupportedComponentsFB(XrSpace space, uint32_t co return params.result; } +XrResult WINAPI xrEnumerateSpatialCapabilitiesEXT(XrInstance instance, XrSystemId systemId, uint32_t capabilityCapacityInput, uint32_t *capabilityCountOutput, XrSpatialCapabilityEXT *capabilities) +{ + struct xrEnumerateSpatialCapabilitiesEXT_params params; + NTSTATUS _status; + params.instance = instance; + params.systemId = systemId; + params.capabilityCapacityInput = capabilityCapacityInput; + params.capabilityCountOutput = capabilityCountOutput; + params.capabilities = capabilities; + _status = UNIX_CALL(xrEnumerateSpatialCapabilitiesEXT, ¶ms); + assert(!_status && "xrEnumerateSpatialCapabilitiesEXT"); + return params.result; +} + +XrResult WINAPI xrEnumerateSpatialCapabilityComponentTypesEXT(XrInstance instance, XrSystemId systemId, XrSpatialCapabilityEXT capability, XrSpatialCapabilityComponentTypesEXT *capabilityComponents) +{ + struct xrEnumerateSpatialCapabilityComponentTypesEXT_params params; + NTSTATUS _status; + params.instance = instance; + params.systemId = systemId; + params.capability = capability; + params.capabilityComponents = capabilityComponents; + _status = UNIX_CALL(xrEnumerateSpatialCapabilityComponentTypesEXT, ¶ms); + assert(!_status && "xrEnumerateSpatialCapabilityComponentTypesEXT"); + return params.result; +} + +XrResult WINAPI xrEnumerateSpatialCapabilityFeaturesEXT(XrInstance instance, XrSystemId systemId, XrSpatialCapabilityEXT capability, uint32_t capabilityFeatureCapacityInput, uint32_t *capabilityFeatureCountOutput, XrSpatialCapabilityFeatureEXT *capabilityFeatures) +{ + struct xrEnumerateSpatialCapabilityFeaturesEXT_params params; + NTSTATUS _status; + params.instance = instance; + params.systemId = systemId; + params.capability = capability; + params.capabilityFeatureCapacityInput = capabilityFeatureCapacityInput; + params.capabilityFeatureCountOutput = capabilityFeatureCountOutput; + params.capabilityFeatures = capabilityFeatures; + _status = UNIX_CALL(xrEnumerateSpatialCapabilityFeaturesEXT, ¶ms); + assert(!_status && "xrEnumerateSpatialCapabilityFeaturesEXT"); + return params.result; +} + XrResult WINAPI xrEnumerateSpatialEntityComponentTypesBD(XrSenseDataSnapshotBD snapshot, XrSpatialEntityIdBD entityId, uint32_t componentTypeCapacityInput, uint32_t *componentTypeCountOutput, XrSpatialEntityComponentTypeBD *componentTypes) { struct xrEnumerateSpatialEntityComponentTypesBD_params params; @@ -1435,6 +1805,62 @@ XrResult WINAPI xrEnumerateSpatialEntityComponentTypesBD(XrSenseDataSnapshotBD s return params.result; } +XrResult WINAPI xrEnumerateSpatialPersistenceScopesEXT(XrInstance instance, XrSystemId systemId, uint32_t persistenceScopeCapacityInput, uint32_t *persistenceScopeCountOutput, XrSpatialPersistenceScopeEXT *persistenceScopes) +{ + struct xrEnumerateSpatialPersistenceScopesEXT_params params; + NTSTATUS _status; + params.instance = instance; + params.systemId = systemId; + params.persistenceScopeCapacityInput = persistenceScopeCapacityInput; + params.persistenceScopeCountOutput = persistenceScopeCountOutput; + params.persistenceScopes = persistenceScopes; + _status = UNIX_CALL(xrEnumerateSpatialPersistenceScopesEXT, ¶ms); + assert(!_status && "xrEnumerateSpatialPersistenceScopesEXT"); + return params.result; +} + +XrResult WINAPI xrEnumerateSupportedAnchorTrackableTypesANDROID(XrInstance instance, XrSystemId systemId, uint32_t trackableTypeCapacityInput, uint32_t *trackableTypeCountOutput, XrTrackableTypeANDROID *trackableTypes) +{ + struct xrEnumerateSupportedAnchorTrackableTypesANDROID_params params; + NTSTATUS _status; + params.instance = instance; + params.systemId = systemId; + params.trackableTypeCapacityInput = trackableTypeCapacityInput; + params.trackableTypeCountOutput = trackableTypeCountOutput; + params.trackableTypes = trackableTypes; + _status = UNIX_CALL(xrEnumerateSupportedAnchorTrackableTypesANDROID, ¶ms); + assert(!_status && "xrEnumerateSupportedAnchorTrackableTypesANDROID"); + return params.result; +} + +XrResult WINAPI xrEnumerateSupportedPersistenceAnchorTypesANDROID(XrInstance instance, XrSystemId systemId, uint32_t trackableTypeCapacityInput, uint32_t *trackableTypeCountOutput, XrTrackableTypeANDROID *trackableTypes) +{ + struct xrEnumerateSupportedPersistenceAnchorTypesANDROID_params params; + NTSTATUS _status; + params.instance = instance; + params.systemId = systemId; + params.trackableTypeCapacityInput = trackableTypeCapacityInput; + params.trackableTypeCountOutput = trackableTypeCountOutput; + params.trackableTypes = trackableTypes; + _status = UNIX_CALL(xrEnumerateSupportedPersistenceAnchorTypesANDROID, ¶ms); + assert(!_status && "xrEnumerateSupportedPersistenceAnchorTypesANDROID"); + return params.result; +} + +XrResult WINAPI xrEnumerateSupportedTrackableTypesANDROID(XrInstance instance, XrSystemId systemId, uint32_t trackableTypeCapacityInput, uint32_t *trackableTypeCountOutput, XrTrackableTypeANDROID *trackableTypes) +{ + struct xrEnumerateSupportedTrackableTypesANDROID_params params; + NTSTATUS _status; + params.instance = instance; + params.systemId = systemId; + params.trackableTypeCapacityInput = trackableTypeCapacityInput; + params.trackableTypeCountOutput = trackableTypeCountOutput; + params.trackableTypes = trackableTypes; + _status = UNIX_CALL(xrEnumerateSupportedTrackableTypesANDROID, ¶ms); + assert(!_status && "xrEnumerateSupportedTrackableTypesANDROID"); + return params.result; +} + XrResult WINAPI xrEnumerateViewConfigurationViews(XrInstance instance, XrSystemId systemId, XrViewConfigurationType viewConfigurationType, uint32_t viewCapacityInput, uint32_t *viewCountOutput, XrViewConfigurationView *views) { struct xrEnumerateViewConfigurationViews_params params; @@ -1489,6 +1915,18 @@ XrResult WINAPI xrEraseSpaceFB(XrSession session, const XrSpaceEraseInfoFB *info return params.result; } +XrResult WINAPI xrEraseSpacesMETA(XrSession session, const XrSpacesEraseInfoMETA *info, XrAsyncRequestIdFB *requestId) +{ + struct xrEraseSpacesMETA_params params; + NTSTATUS _status; + params.session = session; + params.info = info; + params.requestId = requestId; + _status = UNIX_CALL(xrEraseSpacesMETA, ¶ms); + assert(!_status && "xrEraseSpacesMETA"); + return params.result; +} + XrResult WINAPI xrFreeWorldMeshBufferML(XrWorldMeshDetectorML detector, const XrWorldMeshBufferML *buffer) { struct xrFreeWorldMeshBufferML_params params; @@ -1559,6 +1997,31 @@ XrResult WINAPI xrGetActionStateVector2f(XrSession session, const XrActionStateG return params.result; } +XrResult WINAPI xrGetAllTrackablesANDROID(XrTrackableTrackerANDROID trackableTracker, uint32_t trackableCapacityInput, uint32_t *trackableCountOutput, XrTrackableANDROID *trackables) +{ + struct xrGetAllTrackablesANDROID_params params; + NTSTATUS _status; + params.trackableTracker = trackableTracker; + params.trackableCapacityInput = trackableCapacityInput; + params.trackableCountOutput = trackableCountOutput; + params.trackables = trackables; + _status = UNIX_CALL(xrGetAllTrackablesANDROID, ¶ms); + assert(!_status && "xrGetAllTrackablesANDROID"); + return params.result; +} + +XrResult WINAPI xrGetAnchorPersistStateANDROID(XrDeviceAnchorPersistenceANDROID handle, const XrUuidEXT *anchorId, XrAnchorPersistStateANDROID *persistState) +{ + struct xrGetAnchorPersistStateANDROID_params params; + NTSTATUS _status; + params.handle = handle; + params.anchorId = anchorId; + params.persistState = persistState; + _status = UNIX_CALL(xrGetAnchorPersistStateANDROID, ¶ms); + assert(!_status && "xrGetAnchorPersistStateANDROID"); + return params.result; +} + XrResult WINAPI xrGetAnchorUuidBD(XrAnchorBD anchor, XrUuidEXT *uuid) { struct xrGetAnchorUuidBD_params params; @@ -1916,6 +2379,18 @@ XrResult WINAPI xrGetOpenGLGraphicsRequirementsKHR(XrInstance instance, XrSystem return params.result; } +XrResult WINAPI xrGetPassthroughCameraStateANDROID(XrSession session, const XrPassthroughCameraStateGetInfoANDROID *getInfo, XrPassthroughCameraStateANDROID *cameraStateOutput) +{ + struct xrGetPassthroughCameraStateANDROID_params params; + NTSTATUS _status; + params.session = session; + params.getInfo = getInfo; + params.cameraStateOutput = cameraStateOutput; + _status = UNIX_CALL(xrGetPassthroughCameraStateANDROID, ¶ms); + assert(!_status && "xrGetPassthroughCameraStateANDROID"); + return params.result; +} + XrResult WINAPI xrGetPassthroughPreferencesMETA(XrSession session, XrPassthroughPreferencesMETA *preferences) { struct xrGetPassthroughPreferencesMETA_params params; @@ -2010,6 +2485,54 @@ XrResult WINAPI xrGetReferenceSpaceBoundsRect(XrSession session, XrReferenceSpac return params.result; } +XrResult WINAPI xrGetRenderModelAssetDataEXT(XrRenderModelAssetEXT asset, const XrRenderModelAssetDataGetInfoEXT *getInfo, XrRenderModelAssetDataEXT *buffer) +{ + struct xrGetRenderModelAssetDataEXT_params params; + NTSTATUS _status; + params.asset = asset; + params.getInfo = getInfo; + params.buffer = buffer; + _status = UNIX_CALL(xrGetRenderModelAssetDataEXT, ¶ms); + assert(!_status && "xrGetRenderModelAssetDataEXT"); + return params.result; +} + +XrResult WINAPI xrGetRenderModelAssetPropertiesEXT(XrRenderModelAssetEXT asset, const XrRenderModelAssetPropertiesGetInfoEXT *getInfo, XrRenderModelAssetPropertiesEXT *properties) +{ + struct xrGetRenderModelAssetPropertiesEXT_params params; + NTSTATUS _status; + params.asset = asset; + params.getInfo = getInfo; + params.properties = properties; + _status = UNIX_CALL(xrGetRenderModelAssetPropertiesEXT, ¶ms); + assert(!_status && "xrGetRenderModelAssetPropertiesEXT"); + return params.result; +} + +XrResult WINAPI xrGetRenderModelPoseTopLevelUserPathEXT(XrRenderModelEXT renderModel, const XrInteractionRenderModelTopLevelUserPathGetInfoEXT *info, XrPath *topLevelUserPath) +{ + struct xrGetRenderModelPoseTopLevelUserPathEXT_params params; + NTSTATUS _status; + params.renderModel = renderModel; + params.info = info; + params.topLevelUserPath = topLevelUserPath; + _status = UNIX_CALL(xrGetRenderModelPoseTopLevelUserPathEXT, ¶ms); + assert(!_status && "xrGetRenderModelPoseTopLevelUserPathEXT"); + return params.result; +} + +XrResult WINAPI xrGetRenderModelPropertiesEXT(XrRenderModelEXT renderModel, const XrRenderModelPropertiesGetInfoEXT *getInfo, XrRenderModelPropertiesEXT *properties) +{ + struct xrGetRenderModelPropertiesEXT_params params; + NTSTATUS _status; + params.renderModel = renderModel; + params.getInfo = getInfo; + params.properties = properties; + _status = UNIX_CALL(xrGetRenderModelPropertiesEXT, ¶ms); + assert(!_status && "xrGetRenderModelPropertiesEXT"); + return params.result; +} + XrResult WINAPI xrGetRenderModelPropertiesFB(XrSession session, XrPath path, XrRenderModelPropertiesFB *properties) { struct xrGetRenderModelPropertiesFB_params params; @@ -2022,6 +2545,18 @@ XrResult WINAPI xrGetRenderModelPropertiesFB(XrSession session, XrPath path, XrR return params.result; } +XrResult WINAPI xrGetRenderModelStateEXT(XrRenderModelEXT renderModel, const XrRenderModelStateGetInfoEXT *getInfo, XrRenderModelStateEXT *state) +{ + struct xrGetRenderModelStateEXT_params params; + NTSTATUS _status; + params.renderModel = renderModel; + params.getInfo = getInfo; + params.state = state; + _status = UNIX_CALL(xrGetRenderModelStateEXT, ¶ms); + assert(!_status && "xrGetRenderModelStateEXT"); + return params.result; +} + XrResult WINAPI xrGetSceneComponentsMSFT(XrSceneMSFT scene, const XrSceneComponentsGetInfoMSFT *getInfo, XrSceneComponentsMSFT *components) { struct xrGetSceneComponentsMSFT_params params; @@ -2250,6 +2785,104 @@ XrResult WINAPI xrGetSpatialAnchorStateML(XrSpace anchor, XrSpatialAnchorStateML return params.result; } +XrResult WINAPI xrGetSpatialBufferFloatEXT(XrSpatialSnapshotEXT snapshot, const XrSpatialBufferGetInfoEXT *info, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, float *buffer) +{ + struct xrGetSpatialBufferFloatEXT_params params; + NTSTATUS _status; + params.snapshot = snapshot; + params.info = info; + params.bufferCapacityInput = bufferCapacityInput; + params.bufferCountOutput = bufferCountOutput; + params.buffer = buffer; + _status = UNIX_CALL(xrGetSpatialBufferFloatEXT, ¶ms); + assert(!_status && "xrGetSpatialBufferFloatEXT"); + return params.result; +} + +XrResult WINAPI xrGetSpatialBufferStringEXT(XrSpatialSnapshotEXT snapshot, const XrSpatialBufferGetInfoEXT *info, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, char *buffer) +{ + struct xrGetSpatialBufferStringEXT_params params; + NTSTATUS _status; + params.snapshot = snapshot; + params.info = info; + params.bufferCapacityInput = bufferCapacityInput; + params.bufferCountOutput = bufferCountOutput; + params.buffer = buffer; + _status = UNIX_CALL(xrGetSpatialBufferStringEXT, ¶ms); + assert(!_status && "xrGetSpatialBufferStringEXT"); + return params.result; +} + +XrResult WINAPI xrGetSpatialBufferUint16EXT(XrSpatialSnapshotEXT snapshot, const XrSpatialBufferGetInfoEXT *info, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, uint16_t *buffer) +{ + struct xrGetSpatialBufferUint16EXT_params params; + NTSTATUS _status; + params.snapshot = snapshot; + params.info = info; + params.bufferCapacityInput = bufferCapacityInput; + params.bufferCountOutput = bufferCountOutput; + params.buffer = buffer; + _status = UNIX_CALL(xrGetSpatialBufferUint16EXT, ¶ms); + assert(!_status && "xrGetSpatialBufferUint16EXT"); + return params.result; +} + +XrResult WINAPI xrGetSpatialBufferUint32EXT(XrSpatialSnapshotEXT snapshot, const XrSpatialBufferGetInfoEXT *info, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, uint32_t *buffer) +{ + struct xrGetSpatialBufferUint32EXT_params params; + NTSTATUS _status; + params.snapshot = snapshot; + params.info = info; + params.bufferCapacityInput = bufferCapacityInput; + params.bufferCountOutput = bufferCountOutput; + params.buffer = buffer; + _status = UNIX_CALL(xrGetSpatialBufferUint32EXT, ¶ms); + assert(!_status && "xrGetSpatialBufferUint32EXT"); + return params.result; +} + +XrResult WINAPI xrGetSpatialBufferUint8EXT(XrSpatialSnapshotEXT snapshot, const XrSpatialBufferGetInfoEXT *info, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, uint8_t *buffer) +{ + struct xrGetSpatialBufferUint8EXT_params params; + NTSTATUS _status; + params.snapshot = snapshot; + params.info = info; + params.bufferCapacityInput = bufferCapacityInput; + params.bufferCountOutput = bufferCountOutput; + params.buffer = buffer; + _status = UNIX_CALL(xrGetSpatialBufferUint8EXT, ¶ms); + assert(!_status && "xrGetSpatialBufferUint8EXT"); + return params.result; +} + +XrResult WINAPI xrGetSpatialBufferVector2fEXT(XrSpatialSnapshotEXT snapshot, const XrSpatialBufferGetInfoEXT *info, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, XrVector2f *buffer) +{ + struct xrGetSpatialBufferVector2fEXT_params params; + NTSTATUS _status; + params.snapshot = snapshot; + params.info = info; + params.bufferCapacityInput = bufferCapacityInput; + params.bufferCountOutput = bufferCountOutput; + params.buffer = buffer; + _status = UNIX_CALL(xrGetSpatialBufferVector2fEXT, ¶ms); + assert(!_status && "xrGetSpatialBufferVector2fEXT"); + return params.result; +} + +XrResult WINAPI xrGetSpatialBufferVector3fEXT(XrSpatialSnapshotEXT snapshot, const XrSpatialBufferGetInfoEXT *info, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, XrVector3f *buffer) +{ + struct xrGetSpatialBufferVector3fEXT_params params; + NTSTATUS _status; + params.snapshot = snapshot; + params.info = info; + params.bufferCapacityInput = bufferCapacityInput; + params.bufferCountOutput = bufferCountOutput; + params.buffer = buffer; + _status = UNIX_CALL(xrGetSpatialBufferVector3fEXT, ¶ms); + assert(!_status && "xrGetSpatialBufferVector3fEXT"); + return params.result; +} + XrResult WINAPI xrGetSpatialEntityComponentDataBD(XrSenseDataSnapshotBD snapshot, const XrSpatialEntityComponentGetInfoBD *getInfo, XrSpatialEntityComponentDataBaseHeaderBD *componentData) { struct xrGetSpatialEntityComponentDataBD_params params; @@ -2309,6 +2942,42 @@ XrResult WINAPI xrGetSystemProperties(XrInstance instance, XrSystemId systemId, return params.result; } +XrResult WINAPI xrGetTrackableMarkerANDROID(XrTrackableTrackerANDROID tracker, const XrTrackableGetInfoANDROID *getInfo, XrTrackableMarkerANDROID *markerOutput) +{ + struct xrGetTrackableMarkerANDROID_params params; + NTSTATUS _status; + params.tracker = tracker; + params.getInfo = getInfo; + params.markerOutput = markerOutput; + _status = UNIX_CALL(xrGetTrackableMarkerANDROID, ¶ms); + assert(!_status && "xrGetTrackableMarkerANDROID"); + return params.result; +} + +XrResult WINAPI xrGetTrackableObjectANDROID(XrTrackableTrackerANDROID tracker, const XrTrackableGetInfoANDROID *getInfo, XrTrackableObjectANDROID *objectOutput) +{ + struct xrGetTrackableObjectANDROID_params params; + NTSTATUS _status; + params.tracker = tracker; + params.getInfo = getInfo; + params.objectOutput = objectOutput; + _status = UNIX_CALL(xrGetTrackableObjectANDROID, ¶ms); + assert(!_status && "xrGetTrackableObjectANDROID"); + return params.result; +} + +XrResult WINAPI xrGetTrackablePlaneANDROID(XrTrackableTrackerANDROID trackableTracker, const XrTrackableGetInfoANDROID *getInfo, XrTrackablePlaneANDROID *planeOutput) +{ + struct xrGetTrackablePlaneANDROID_params params; + NTSTATUS _status; + params.trackableTracker = trackableTracker; + params.getInfo = getInfo; + params.planeOutput = planeOutput; + _status = UNIX_CALL(xrGetTrackablePlaneANDROID, ¶ms); + assert(!_status && "xrGetTrackablePlaneANDROID"); + return params.result; +} + XrResult WINAPI xrGetViewConfigurationProperties(XrInstance instance, XrSystemId systemId, XrViewConfigurationType viewConfigurationType, XrViewConfigurationProperties *configurationProperties) { struct xrGetViewConfigurationProperties_params params; @@ -2684,6 +3353,17 @@ XrResult WINAPI xrPathToString(XrInstance instance, XrPath path, uint32_t buffer return params.result; } +XrResult WINAPI xrPauseSimultaneousHandsAndControllersTrackingMETA(XrSession session, const XrSimultaneousHandsAndControllersTrackingPauseInfoMETA *pauseInfo) +{ + struct xrPauseSimultaneousHandsAndControllersTrackingMETA_params params; + NTSTATUS _status; + params.session = session; + params.pauseInfo = pauseInfo; + _status = UNIX_CALL(xrPauseSimultaneousHandsAndControllersTrackingMETA, ¶ms); + assert(!_status && "xrPauseSimultaneousHandsAndControllersTrackingMETA"); + return params.result; +} + XrResult WINAPI xrPerfSettingsSetPerformanceLevelEXT(XrSession session, XrPerfSettingsDomainEXT domain, XrPerfSettingsLevelEXT level) { struct xrPerfSettingsSetPerformanceLevelEXT_params params; @@ -2696,6 +3376,18 @@ XrResult WINAPI xrPerfSettingsSetPerformanceLevelEXT(XrSession session, XrPerfSe return params.result; } +XrResult WINAPI xrPersistAnchorANDROID(XrDeviceAnchorPersistenceANDROID handle, const XrPersistedAnchorSpaceInfoANDROID *persistedInfo, XrUuidEXT *anchorIdOutput) +{ + struct xrPersistAnchorANDROID_params params; + NTSTATUS _status; + params.handle = handle; + params.persistedInfo = persistedInfo; + params.anchorIdOutput = anchorIdOutput; + _status = UNIX_CALL(xrPersistAnchorANDROID, ¶ms); + assert(!_status && "xrPersistAnchorANDROID"); + return params.result; +} + XrResult WINAPI xrPersistSpatialAnchorAsyncBD(XrSenseDataProviderBD provider, const XrSpatialAnchorPersistInfoBD *info, XrFutureEXT *future) { struct xrPersistSpatialAnchorAsyncBD_params params; @@ -2731,6 +3423,30 @@ XrResult WINAPI xrPersistSpatialAnchorMSFT(XrSpatialAnchorStoreConnectionMSFT sp return params.result; } +XrResult WINAPI xrPersistSpatialEntityAsyncEXT(XrSpatialPersistenceContextEXT persistenceContext, const XrSpatialEntityPersistInfoEXT *persistInfo, XrFutureEXT *future) +{ + struct xrPersistSpatialEntityAsyncEXT_params params; + NTSTATUS _status; + params.persistenceContext = persistenceContext; + params.persistInfo = persistInfo; + params.future = future; + _status = UNIX_CALL(xrPersistSpatialEntityAsyncEXT, ¶ms); + assert(!_status && "xrPersistSpatialEntityAsyncEXT"); + return params.result; +} + +XrResult WINAPI xrPersistSpatialEntityCompleteEXT(XrSpatialPersistenceContextEXT persistenceContext, XrFutureEXT future, XrPersistSpatialEntityCompletionEXT *completion) +{ + struct xrPersistSpatialEntityCompleteEXT_params params; + NTSTATUS _status; + params.persistenceContext = persistenceContext; + params.future = future; + params.completion = completion; + _status = UNIX_CALL(xrPersistSpatialEntityCompleteEXT, ¶ms); + assert(!_status && "xrPersistSpatialEntityCompleteEXT"); + return params.result; +} + XrResult WINAPI xrPollFutureEXT(XrInstance instance, const XrFuturePollInfoEXT *pollInfo, XrFuturePollResultEXT *pollResult) { struct xrPollFutureEXT_params params; @@ -2853,6 +3569,18 @@ XrResult WINAPI xrQuerySpatialAnchorsCompleteML(XrSpatialAnchorsStorageML storag return params.result; } +XrResult WINAPI xrQuerySpatialComponentDataEXT(XrSpatialSnapshotEXT snapshot, const XrSpatialComponentDataQueryConditionEXT *queryCondition, XrSpatialComponentDataQueryResultEXT *queryResult) +{ + struct xrQuerySpatialComponentDataEXT_params params; + NTSTATUS _status; + params.snapshot = snapshot; + params.queryCondition = queryCondition; + params.queryResult = queryResult; + _status = UNIX_CALL(xrQuerySpatialComponentDataEXT, ¶ms); + assert(!_status && "xrQuerySpatialComponentDataEXT"); + return params.result; +} + XrResult WINAPI xrQuerySystemTrackedKeyboardFB(XrSession session, const XrKeyboardTrackingQueryFB *queryInfo, XrKeyboardTrackingDescriptionFB *keyboard) { struct xrQuerySystemTrackedKeyboardFB_params params; @@ -2865,6 +3593,18 @@ XrResult WINAPI xrQuerySystemTrackedKeyboardFB(XrSession session, const XrKeyboa return params.result; } +XrResult WINAPI xrRaycastANDROID(XrSession session, const XrRaycastInfoANDROID *rayInfo, XrRaycastHitResultsANDROID *results) +{ + struct xrRaycastANDROID_params params; + NTSTATUS _status; + params.session = session; + params.rayInfo = rayInfo; + params.results = results; + _status = UNIX_CALL(xrRaycastANDROID, ¶ms); + assert(!_status && "xrRaycastANDROID"); + return params.result; +} + XrResult WINAPI xrRequestDisplayRefreshRateFB(XrSession session, float displayRefreshRate) { struct xrRequestDisplayRefreshRateFB_params params; @@ -2959,6 +3699,16 @@ XrResult WINAPI xrRequestWorldMeshStateCompleteML(XrWorldMeshDetectorML detector return params.result; } +XrResult WINAPI xrResetBodyTrackingCalibrationMETA(XrBodyTrackerFB bodyTracker) +{ + struct xrResetBodyTrackingCalibrationMETA_params params; + NTSTATUS _status; + params.bodyTracker = bodyTracker; + _status = UNIX_CALL(xrResetBodyTrackingCalibrationMETA, ¶ms); + assert(!_status && "xrResetBodyTrackingCalibrationMETA"); + return params.result; +} + XrResult WINAPI xrResultToString(XrInstance instance, XrResult value, char buffer[]) { struct xrResultToString_params params; @@ -2971,6 +3721,17 @@ XrResult WINAPI xrResultToString(XrInstance instance, XrResult value, char buffe return params.result; } +XrResult WINAPI xrResumeSimultaneousHandsAndControllersTrackingMETA(XrSession session, const XrSimultaneousHandsAndControllersTrackingResumeInfoMETA *resumeInfo) +{ + struct xrResumeSimultaneousHandsAndControllersTrackingMETA_params params; + NTSTATUS _status; + params.session = session; + params.resumeInfo = resumeInfo; + _status = UNIX_CALL(xrResumeSimultaneousHandsAndControllersTrackingMETA, ¶ms); + assert(!_status && "xrResumeSimultaneousHandsAndControllersTrackingMETA"); + return params.result; +} + XrResult WINAPI xrRetrieveSpaceQueryResultsFB(XrSession session, XrAsyncRequestIdFB requestId, XrSpaceQueryResultsFB *results) { struct xrRetrieveSpaceQueryResultsFB_params params; @@ -3007,6 +3768,18 @@ XrResult WINAPI xrSaveSpaceListFB(XrSession session, const XrSpaceListSaveInfoFB return params.result; } +XrResult WINAPI xrSaveSpacesMETA(XrSession session, const XrSpacesSaveInfoMETA *info, XrAsyncRequestIdFB *requestId) +{ + struct xrSaveSpacesMETA_params params; + NTSTATUS _status; + params.session = session; + params.info = info; + params.requestId = requestId; + _status = UNIX_CALL(xrSaveSpacesMETA, ¶ms); + assert(!_status && "xrSaveSpacesMETA"); + return params.result; +} + XrResult WINAPI xrSendVirtualKeyboardInputMETA(XrVirtualKeyboardMETA keyboard, const XrVirtualKeyboardInputInfoMETA *info, XrPosef *interactorRootPose) { struct xrSendVirtualKeyboardInputMETA_params params; @@ -3440,6 +4213,17 @@ XrResult WINAPI xrStructureTypeToString2KHR(XrInstance instance, XrStructureType return params.result; } +XrResult WINAPI xrSuggestBodyTrackingCalibrationOverrideMETA(XrBodyTrackerFB bodyTracker, const XrBodyTrackingCalibrationInfoMETA *calibrationInfo) +{ + struct xrSuggestBodyTrackingCalibrationOverrideMETA_params params; + NTSTATUS _status; + params.bodyTracker = bodyTracker; + params.calibrationInfo = calibrationInfo; + _status = UNIX_CALL(xrSuggestBodyTrackingCalibrationOverrideMETA, ¶ms); + assert(!_status && "xrSuggestBodyTrackingCalibrationOverrideMETA"); + return params.result; +} + XrResult WINAPI xrSuggestInteractionProfileBindings(XrInstance instance, const XrInteractionProfileSuggestedBinding *suggestedBindings) { struct xrSuggestInteractionProfileBindings_params params; @@ -3564,6 +4348,17 @@ XrResult WINAPI xrTryCreateSpatialGraphStaticNodeBindingMSFT(XrSession session, return params.result; } +XrResult WINAPI xrUnpersistAnchorANDROID(XrDeviceAnchorPersistenceANDROID handle, const XrUuidEXT *anchorId) +{ + struct xrUnpersistAnchorANDROID_params params; + NTSTATUS _status; + params.handle = handle; + params.anchorId = anchorId; + _status = UNIX_CALL(xrUnpersistAnchorANDROID, ¶ms); + assert(!_status && "xrUnpersistAnchorANDROID"); + return params.result; +} + XrResult WINAPI xrUnpersistSpatialAnchorAsyncBD(XrSenseDataProviderBD provider, const XrSpatialAnchorUnpersistInfoBD *info, XrFutureEXT *future) { struct xrUnpersistSpatialAnchorAsyncBD_params params; @@ -3599,6 +4394,30 @@ XrResult WINAPI xrUnpersistSpatialAnchorMSFT(XrSpatialAnchorStoreConnectionMSFT return params.result; } +XrResult WINAPI xrUnpersistSpatialEntityAsyncEXT(XrSpatialPersistenceContextEXT persistenceContext, const XrSpatialEntityUnpersistInfoEXT *unpersistInfo, XrFutureEXT *future) +{ + struct xrUnpersistSpatialEntityAsyncEXT_params params; + NTSTATUS _status; + params.persistenceContext = persistenceContext; + params.unpersistInfo = unpersistInfo; + params.future = future; + _status = UNIX_CALL(xrUnpersistSpatialEntityAsyncEXT, ¶ms); + assert(!_status && "xrUnpersistSpatialEntityAsyncEXT"); + return params.result; +} + +XrResult WINAPI xrUnpersistSpatialEntityCompleteEXT(XrSpatialPersistenceContextEXT persistenceContext, XrFutureEXT future, XrUnpersistSpatialEntityCompletionEXT *completion) +{ + struct xrUnpersistSpatialEntityCompleteEXT_params params; + NTSTATUS _status; + params.persistenceContext = persistenceContext; + params.future = future; + params.completion = completion; + _status = UNIX_CALL(xrUnpersistSpatialEntityCompleteEXT, ¶ms); + assert(!_status && "xrUnpersistSpatialEntityCompleteEXT"); + return params.result; +} + XrResult WINAPI xrUpdateHandMeshMSFT(XrHandTrackerEXT handTracker, const XrHandMeshUpdateInfoMSFT *updateInfo, XrHandMeshMSFT *handMesh) { struct xrUpdateHandMeshMSFT_params params; @@ -3702,11 +4521,13 @@ static const struct openxr_func xr_instance_dispatch_table[] = {"xrCreateAction", xrCreateAction}, {"xrCreateActionSet", xrCreateActionSet}, {"xrCreateActionSpace", xrCreateActionSpace}, + {"xrCreateAnchorSpaceANDROID", xrCreateAnchorSpaceANDROID}, {"xrCreateAnchorSpaceBD", xrCreateAnchorSpaceBD}, {"xrCreateApiLayerInstance", xrCreateApiLayerInstance}, {"xrCreateBodyTrackerBD", xrCreateBodyTrackerBD}, {"xrCreateBodyTrackerFB", xrCreateBodyTrackerFB}, {"xrCreateBodyTrackerHTC", xrCreateBodyTrackerHTC}, + {"xrCreateDeviceAnchorPersistenceANDROID", xrCreateDeviceAnchorPersistenceANDROID}, {"xrCreateEnvironmentDepthProviderMETA", xrCreateEnvironmentDepthProviderMETA}, {"xrCreateEnvironmentDepthSwapchainMETA", xrCreateEnvironmentDepthSwapchainMETA}, {"xrCreateExportedLocalizationMapML", xrCreateExportedLocalizationMapML}, @@ -3728,8 +4549,12 @@ static const struct openxr_func xr_instance_dispatch_table[] = {"xrCreatePassthroughFB", xrCreatePassthroughFB}, {"xrCreatePassthroughHTC", xrCreatePassthroughHTC}, {"xrCreatePassthroughLayerFB", xrCreatePassthroughLayerFB}, + {"xrCreatePersistedAnchorSpaceANDROID", xrCreatePersistedAnchorSpaceANDROID}, {"xrCreatePlaneDetectorEXT", xrCreatePlaneDetectorEXT}, {"xrCreateReferenceSpace", xrCreateReferenceSpace}, + {"xrCreateRenderModelAssetEXT", xrCreateRenderModelAssetEXT}, + {"xrCreateRenderModelEXT", xrCreateRenderModelEXT}, + {"xrCreateRenderModelSpaceEXT", xrCreateRenderModelSpaceEXT}, {"xrCreateSceneMSFT", xrCreateSceneMSFT}, {"xrCreateSceneObserverMSFT", xrCreateSceneObserverMSFT}, {"xrCreateSenseDataProviderBD", xrCreateSenseDataProviderBD}, @@ -3737,6 +4562,7 @@ static const struct openxr_func xr_instance_dispatch_table[] = {"xrCreateSpaceUserFB", xrCreateSpaceUserFB}, {"xrCreateSpatialAnchorAsyncBD", xrCreateSpatialAnchorAsyncBD}, {"xrCreateSpatialAnchorCompleteBD", xrCreateSpatialAnchorCompleteBD}, + {"xrCreateSpatialAnchorEXT", xrCreateSpatialAnchorEXT}, {"xrCreateSpatialAnchorFB", xrCreateSpatialAnchorFB}, {"xrCreateSpatialAnchorFromPersistedNameMSFT", xrCreateSpatialAnchorFromPersistedNameMSFT}, {"xrCreateSpatialAnchorHTC", xrCreateSpatialAnchorHTC}, @@ -3746,9 +4572,18 @@ static const struct openxr_func xr_instance_dispatch_table[] = {"xrCreateSpatialAnchorsAsyncML", xrCreateSpatialAnchorsAsyncML}, {"xrCreateSpatialAnchorsCompleteML", xrCreateSpatialAnchorsCompleteML}, {"xrCreateSpatialAnchorsStorageML", xrCreateSpatialAnchorsStorageML}, + {"xrCreateSpatialContextAsyncEXT", xrCreateSpatialContextAsyncEXT}, + {"xrCreateSpatialContextCompleteEXT", xrCreateSpatialContextCompleteEXT}, + {"xrCreateSpatialDiscoverySnapshotAsyncEXT", xrCreateSpatialDiscoverySnapshotAsyncEXT}, + {"xrCreateSpatialDiscoverySnapshotCompleteEXT", xrCreateSpatialDiscoverySnapshotCompleteEXT}, {"xrCreateSpatialEntityAnchorBD", xrCreateSpatialEntityAnchorBD}, + {"xrCreateSpatialEntityFromIdEXT", xrCreateSpatialEntityFromIdEXT}, {"xrCreateSpatialGraphNodeSpaceMSFT", xrCreateSpatialGraphNodeSpaceMSFT}, + {"xrCreateSpatialPersistenceContextAsyncEXT", xrCreateSpatialPersistenceContextAsyncEXT}, + {"xrCreateSpatialPersistenceContextCompleteEXT", xrCreateSpatialPersistenceContextCompleteEXT}, + {"xrCreateSpatialUpdateSnapshotEXT", xrCreateSpatialUpdateSnapshotEXT}, {"xrCreateSwapchain", xrCreateSwapchain}, + {"xrCreateTrackableTrackerANDROID", xrCreateTrackableTrackerANDROID}, {"xrCreateTriangleMeshFB", xrCreateTriangleMeshFB}, {"xrCreateVirtualKeyboardMETA", xrCreateVirtualKeyboardMETA}, {"xrCreateVirtualKeyboardSpaceMETA", xrCreateVirtualKeyboardSpaceMETA}, @@ -3764,6 +4599,7 @@ static const struct openxr_func xr_instance_dispatch_table[] = {"xrDestroyBodyTrackerBD", xrDestroyBodyTrackerBD}, {"xrDestroyBodyTrackerFB", xrDestroyBodyTrackerFB}, {"xrDestroyBodyTrackerHTC", xrDestroyBodyTrackerHTC}, + {"xrDestroyDeviceAnchorPersistenceANDROID", xrDestroyDeviceAnchorPersistenceANDROID}, {"xrDestroyEnvironmentDepthProviderMETA", xrDestroyEnvironmentDepthProviderMETA}, {"xrDestroyEnvironmentDepthSwapchainMETA", xrDestroyEnvironmentDepthSwapchainMETA}, {"xrDestroyExportedLocalizationMapML", xrDestroyExportedLocalizationMapML}, @@ -3782,6 +4618,8 @@ static const struct openxr_func xr_instance_dispatch_table[] = {"xrDestroyPassthroughHTC", xrDestroyPassthroughHTC}, {"xrDestroyPassthroughLayerFB", xrDestroyPassthroughLayerFB}, {"xrDestroyPlaneDetectorEXT", xrDestroyPlaneDetectorEXT}, + {"xrDestroyRenderModelAssetEXT", xrDestroyRenderModelAssetEXT}, + {"xrDestroyRenderModelEXT", xrDestroyRenderModelEXT}, {"xrDestroySceneMSFT", xrDestroySceneMSFT}, {"xrDestroySceneObserverMSFT", xrDestroySceneObserverMSFT}, {"xrDestroySenseDataProviderBD", xrDestroySenseDataProviderBD}, @@ -3792,8 +4630,13 @@ static const struct openxr_func xr_instance_dispatch_table[] = {"xrDestroySpatialAnchorMSFT", xrDestroySpatialAnchorMSFT}, {"xrDestroySpatialAnchorStoreConnectionMSFT", xrDestroySpatialAnchorStoreConnectionMSFT}, {"xrDestroySpatialAnchorsStorageML", xrDestroySpatialAnchorsStorageML}, + {"xrDestroySpatialContextEXT", xrDestroySpatialContextEXT}, + {"xrDestroySpatialEntityEXT", xrDestroySpatialEntityEXT}, {"xrDestroySpatialGraphNodeBindingMSFT", xrDestroySpatialGraphNodeBindingMSFT}, + {"xrDestroySpatialPersistenceContextEXT", xrDestroySpatialPersistenceContextEXT}, + {"xrDestroySpatialSnapshotEXT", xrDestroySpatialSnapshotEXT}, {"xrDestroySwapchain", xrDestroySwapchain}, + {"xrDestroyTrackableTrackerANDROID", xrDestroyTrackableTrackerANDROID}, {"xrDestroyTriangleMeshFB", xrDestroyTriangleMeshFB}, {"xrDestroyVirtualKeyboardMETA", xrDestroyVirtualKeyboardMETA}, {"xrDestroyWorldMeshDetectorML", xrDestroyWorldMeshDetectorML}, @@ -3811,26 +4654,40 @@ static const struct openxr_func xr_instance_dispatch_table[] = {"xrEnumerateEnvironmentDepthSwapchainImagesMETA", xrEnumerateEnvironmentDepthSwapchainImagesMETA}, {"xrEnumerateExternalCamerasOCULUS", xrEnumerateExternalCamerasOCULUS}, {"xrEnumerateInstanceExtensionProperties", xrEnumerateInstanceExtensionProperties}, + {"xrEnumerateInteractionRenderModelIdsEXT", xrEnumerateInteractionRenderModelIdsEXT}, {"xrEnumeratePerformanceMetricsCounterPathsMETA", xrEnumeratePerformanceMetricsCounterPathsMETA}, + {"xrEnumeratePersistedAnchorsANDROID", xrEnumeratePersistedAnchorsANDROID}, {"xrEnumeratePersistedSpatialAnchorNamesMSFT", xrEnumeratePersistedSpatialAnchorNamesMSFT}, + {"xrEnumerateRaycastSupportedTrackableTypesANDROID", xrEnumerateRaycastSupportedTrackableTypesANDROID}, {"xrEnumerateReferenceSpaces", xrEnumerateReferenceSpaces}, {"xrEnumerateRenderModelPathsFB", xrEnumerateRenderModelPathsFB}, + {"xrEnumerateRenderModelSubactionPathsEXT", xrEnumerateRenderModelSubactionPathsEXT}, {"xrEnumerateReprojectionModesMSFT", xrEnumerateReprojectionModesMSFT}, {"xrEnumerateSceneComputeFeaturesMSFT", xrEnumerateSceneComputeFeaturesMSFT}, {"xrEnumerateSpaceSupportedComponentsFB", xrEnumerateSpaceSupportedComponentsFB}, + {"xrEnumerateSpatialCapabilitiesEXT", xrEnumerateSpatialCapabilitiesEXT}, + {"xrEnumerateSpatialCapabilityComponentTypesEXT", xrEnumerateSpatialCapabilityComponentTypesEXT}, + {"xrEnumerateSpatialCapabilityFeaturesEXT", xrEnumerateSpatialCapabilityFeaturesEXT}, {"xrEnumerateSpatialEntityComponentTypesBD", xrEnumerateSpatialEntityComponentTypesBD}, + {"xrEnumerateSpatialPersistenceScopesEXT", xrEnumerateSpatialPersistenceScopesEXT}, + {"xrEnumerateSupportedAnchorTrackableTypesANDROID", xrEnumerateSupportedAnchorTrackableTypesANDROID}, + {"xrEnumerateSupportedPersistenceAnchorTypesANDROID", xrEnumerateSupportedPersistenceAnchorTypesANDROID}, + {"xrEnumerateSupportedTrackableTypesANDROID", xrEnumerateSupportedTrackableTypesANDROID}, {"xrEnumerateSwapchainFormats", xrEnumerateSwapchainFormats}, {"xrEnumerateSwapchainImages", xrEnumerateSwapchainImages}, {"xrEnumerateViewConfigurationViews", xrEnumerateViewConfigurationViews}, {"xrEnumerateViewConfigurations", xrEnumerateViewConfigurations}, {"xrEnumerateViveTrackerPathsHTCX", xrEnumerateViveTrackerPathsHTCX}, {"xrEraseSpaceFB", xrEraseSpaceFB}, + {"xrEraseSpacesMETA", xrEraseSpacesMETA}, {"xrFreeWorldMeshBufferML", xrFreeWorldMeshBufferML}, {"xrGeometryInstanceSetTransformFB", xrGeometryInstanceSetTransformFB}, {"xrGetActionStateBoolean", xrGetActionStateBoolean}, {"xrGetActionStateFloat", xrGetActionStateFloat}, {"xrGetActionStatePose", xrGetActionStatePose}, {"xrGetActionStateVector2f", xrGetActionStateVector2f}, + {"xrGetAllTrackablesANDROID", xrGetAllTrackablesANDROID}, + {"xrGetAnchorPersistStateANDROID", xrGetAnchorPersistStateANDROID}, {"xrGetAnchorUuidBD", xrGetAnchorUuidBD}, {"xrGetAudioInputDeviceGuidOculus", xrGetAudioInputDeviceGuidOculus}, {"xrGetAudioOutputDeviceGuidOculus", xrGetAudioOutputDeviceGuidOculus}, @@ -3864,6 +4721,7 @@ static const struct openxr_func xr_instance_dispatch_table[] = {"xrGetMarkerStringML", xrGetMarkerStringML}, {"xrGetMarkersML", xrGetMarkersML}, {"xrGetOpenGLGraphicsRequirementsKHR", xrGetOpenGLGraphicsRequirementsKHR}, + {"xrGetPassthroughCameraStateANDROID", xrGetPassthroughCameraStateANDROID}, {"xrGetPassthroughPreferencesMETA", xrGetPassthroughPreferencesMETA}, {"xrGetPerformanceMetricsStateMETA", xrGetPerformanceMetricsStateMETA}, {"xrGetPlaneDetectionStateEXT", xrGetPlaneDetectionStateEXT}, @@ -3872,7 +4730,12 @@ static const struct openxr_func xr_instance_dispatch_table[] = {"xrGetQueriedSenseDataBD", xrGetQueriedSenseDataBD}, {"xrGetRecommendedLayerResolutionMETA", xrGetRecommendedLayerResolutionMETA}, {"xrGetReferenceSpaceBoundsRect", xrGetReferenceSpaceBoundsRect}, + {"xrGetRenderModelAssetDataEXT", xrGetRenderModelAssetDataEXT}, + {"xrGetRenderModelAssetPropertiesEXT", xrGetRenderModelAssetPropertiesEXT}, + {"xrGetRenderModelPoseTopLevelUserPathEXT", xrGetRenderModelPoseTopLevelUserPathEXT}, + {"xrGetRenderModelPropertiesEXT", xrGetRenderModelPropertiesEXT}, {"xrGetRenderModelPropertiesFB", xrGetRenderModelPropertiesFB}, + {"xrGetRenderModelStateEXT", xrGetRenderModelStateEXT}, {"xrGetSceneComponentsMSFT", xrGetSceneComponentsMSFT}, {"xrGetSceneComputeStateMSFT", xrGetSceneComputeStateMSFT}, {"xrGetSceneMarkerDecodedStringMSFT", xrGetSceneMarkerDecodedStringMSFT}, @@ -3892,12 +4755,22 @@ static const struct openxr_func xr_instance_dispatch_table[] = {"xrGetSpaceUuidFB", xrGetSpaceUuidFB}, {"xrGetSpatialAnchorNameHTC", xrGetSpatialAnchorNameHTC}, {"xrGetSpatialAnchorStateML", xrGetSpatialAnchorStateML}, + {"xrGetSpatialBufferFloatEXT", xrGetSpatialBufferFloatEXT}, + {"xrGetSpatialBufferStringEXT", xrGetSpatialBufferStringEXT}, + {"xrGetSpatialBufferUint16EXT", xrGetSpatialBufferUint16EXT}, + {"xrGetSpatialBufferUint32EXT", xrGetSpatialBufferUint32EXT}, + {"xrGetSpatialBufferUint8EXT", xrGetSpatialBufferUint8EXT}, + {"xrGetSpatialBufferVector2fEXT", xrGetSpatialBufferVector2fEXT}, + {"xrGetSpatialBufferVector3fEXT", xrGetSpatialBufferVector3fEXT}, {"xrGetSpatialEntityComponentDataBD", xrGetSpatialEntityComponentDataBD}, {"xrGetSpatialEntityUuidBD", xrGetSpatialEntityUuidBD}, {"xrGetSpatialGraphNodeBindingPropertiesMSFT", xrGetSpatialGraphNodeBindingPropertiesMSFT}, {"xrGetSwapchainStateFB", xrGetSwapchainStateFB}, {"xrGetSystem", xrGetSystem}, {"xrGetSystemProperties", xrGetSystemProperties}, + {"xrGetTrackableMarkerANDROID", xrGetTrackableMarkerANDROID}, + {"xrGetTrackableObjectANDROID", xrGetTrackableObjectANDROID}, + {"xrGetTrackablePlaneANDROID", xrGetTrackablePlaneANDROID}, {"xrGetViewConfigurationProperties", xrGetViewConfigurationProperties}, {"xrGetVirtualKeyboardDirtyTexturesMETA", xrGetVirtualKeyboardDirtyTexturesMETA}, {"xrGetVirtualKeyboardModelAnimationStatesMETA", xrGetVirtualKeyboardModelAnimationStatesMETA}, @@ -3931,10 +4804,14 @@ static const struct openxr_func xr_instance_dispatch_table[] = {"xrPassthroughPauseFB", xrPassthroughPauseFB}, {"xrPassthroughStartFB", xrPassthroughStartFB}, {"xrPathToString", xrPathToString}, + {"xrPauseSimultaneousHandsAndControllersTrackingMETA", xrPauseSimultaneousHandsAndControllersTrackingMETA}, {"xrPerfSettingsSetPerformanceLevelEXT", xrPerfSettingsSetPerformanceLevelEXT}, + {"xrPersistAnchorANDROID", xrPersistAnchorANDROID}, {"xrPersistSpatialAnchorAsyncBD", xrPersistSpatialAnchorAsyncBD}, {"xrPersistSpatialAnchorCompleteBD", xrPersistSpatialAnchorCompleteBD}, {"xrPersistSpatialAnchorMSFT", xrPersistSpatialAnchorMSFT}, + {"xrPersistSpatialEntityAsyncEXT", xrPersistSpatialEntityAsyncEXT}, + {"xrPersistSpatialEntityCompleteEXT", xrPersistSpatialEntityCompleteEXT}, {"xrPollEvent", xrPollEvent}, {"xrPollFutureEXT", xrPollFutureEXT}, {"xrPublishSpatialAnchorsAsyncML", xrPublishSpatialAnchorsAsyncML}, @@ -3946,7 +4823,9 @@ static const struct openxr_func xr_instance_dispatch_table[] = {"xrQuerySpacesFB", xrQuerySpacesFB}, {"xrQuerySpatialAnchorsAsyncML", xrQuerySpatialAnchorsAsyncML}, {"xrQuerySpatialAnchorsCompleteML", xrQuerySpatialAnchorsCompleteML}, + {"xrQuerySpatialComponentDataEXT", xrQuerySpatialComponentDataEXT}, {"xrQuerySystemTrackedKeyboardFB", xrQuerySystemTrackedKeyboardFB}, + {"xrRaycastANDROID", xrRaycastANDROID}, {"xrReleaseSwapchainImage", xrReleaseSwapchainImage}, {"xrRequestDisplayRefreshRateFB", xrRequestDisplayRefreshRateFB}, {"xrRequestExitSession", xrRequestExitSession}, @@ -3956,10 +4835,13 @@ static const struct openxr_func xr_instance_dispatch_table[] = {"xrRequestWorldMeshCompleteML", xrRequestWorldMeshCompleteML}, {"xrRequestWorldMeshStateAsyncML", xrRequestWorldMeshStateAsyncML}, {"xrRequestWorldMeshStateCompleteML", xrRequestWorldMeshStateCompleteML}, + {"xrResetBodyTrackingCalibrationMETA", xrResetBodyTrackingCalibrationMETA}, {"xrResultToString", xrResultToString}, + {"xrResumeSimultaneousHandsAndControllersTrackingMETA", xrResumeSimultaneousHandsAndControllersTrackingMETA}, {"xrRetrieveSpaceQueryResultsFB", xrRetrieveSpaceQueryResultsFB}, {"xrSaveSpaceFB", xrSaveSpaceFB}, {"xrSaveSpaceListFB", xrSaveSpaceListFB}, + {"xrSaveSpacesMETA", xrSaveSpacesMETA}, {"xrSendVirtualKeyboardInputMETA", xrSendVirtualKeyboardInputMETA}, {"xrSetColorSpaceFB", xrSetColorSpaceFB}, {"xrSetDigitalLensControlALMALENCE", xrSetDigitalLensControlALMALENCE}, @@ -3997,6 +4879,7 @@ static const struct openxr_func xr_instance_dispatch_table[] = {"xrStringToPath", xrStringToPath}, {"xrStructureTypeToString", xrStructureTypeToString}, {"xrStructureTypeToString2KHR", xrStructureTypeToString2KHR}, + {"xrSuggestBodyTrackingCalibrationOverrideMETA", xrSuggestBodyTrackingCalibrationOverrideMETA}, {"xrSuggestInteractionProfileBindings", xrSuggestInteractionProfileBindings}, {"xrSuggestVirtualKeyboardLocationMETA", xrSuggestVirtualKeyboardLocationMETA}, {"xrSyncActions", xrSyncActions}, @@ -4008,9 +4891,12 @@ static const struct openxr_func xr_instance_dispatch_table[] = {"xrTriangleMeshGetIndexBufferFB", xrTriangleMeshGetIndexBufferFB}, {"xrTriangleMeshGetVertexBufferFB", xrTriangleMeshGetVertexBufferFB}, {"xrTryCreateSpatialGraphStaticNodeBindingMSFT", xrTryCreateSpatialGraphStaticNodeBindingMSFT}, + {"xrUnpersistAnchorANDROID", xrUnpersistAnchorANDROID}, {"xrUnpersistSpatialAnchorAsyncBD", xrUnpersistSpatialAnchorAsyncBD}, {"xrUnpersistSpatialAnchorCompleteBD", xrUnpersistSpatialAnchorCompleteBD}, {"xrUnpersistSpatialAnchorMSFT", xrUnpersistSpatialAnchorMSFT}, + {"xrUnpersistSpatialEntityAsyncEXT", xrUnpersistSpatialEntityAsyncEXT}, + {"xrUnpersistSpatialEntityCompleteEXT", xrUnpersistSpatialEntityCompleteEXT}, {"xrUpdateHandMeshMSFT", xrUpdateHandMeshMSFT}, {"xrUpdatePassthroughColorLutMETA", xrUpdatePassthroughColorLutMETA}, {"xrUpdateSpatialAnchorsExpirationAsyncML", xrUpdateSpatialAnchorsExpirationAsyncML}, diff --git a/wineopenxr/loader_thunks.h b/wineopenxr/loader_thunks.h index 6a6bc579a3..4bc7a35be8 100644 --- a/wineopenxr/loader_thunks.h +++ b/wineopenxr/loader_thunks.h @@ -43,10 +43,12 @@ enum unix_call unix_xrCreateAction, unix_xrCreateActionSet, unix_xrCreateActionSpace, + unix_xrCreateAnchorSpaceANDROID, unix_xrCreateAnchorSpaceBD, unix_xrCreateBodyTrackerBD, unix_xrCreateBodyTrackerFB, unix_xrCreateBodyTrackerHTC, + unix_xrCreateDeviceAnchorPersistenceANDROID, unix_xrCreateEnvironmentDepthProviderMETA, unix_xrCreateEnvironmentDepthSwapchainMETA, unix_xrCreateExportedLocalizationMapML, @@ -68,8 +70,12 @@ enum unix_call unix_xrCreatePassthroughFB, unix_xrCreatePassthroughHTC, unix_xrCreatePassthroughLayerFB, + unix_xrCreatePersistedAnchorSpaceANDROID, unix_xrCreatePlaneDetectorEXT, unix_xrCreateReferenceSpace, + unix_xrCreateRenderModelAssetEXT, + unix_xrCreateRenderModelEXT, + unix_xrCreateRenderModelSpaceEXT, unix_xrCreateSceneMSFT, unix_xrCreateSceneObserverMSFT, unix_xrCreateSenseDataProviderBD, @@ -77,6 +83,7 @@ enum unix_call unix_xrCreateSpaceUserFB, unix_xrCreateSpatialAnchorAsyncBD, unix_xrCreateSpatialAnchorCompleteBD, + unix_xrCreateSpatialAnchorEXT, unix_xrCreateSpatialAnchorFB, unix_xrCreateSpatialAnchorFromPersistedNameMSFT, unix_xrCreateSpatialAnchorHTC, @@ -86,9 +93,18 @@ enum unix_call unix_xrCreateSpatialAnchorsAsyncML, unix_xrCreateSpatialAnchorsCompleteML, unix_xrCreateSpatialAnchorsStorageML, + unix_xrCreateSpatialContextAsyncEXT, + unix_xrCreateSpatialContextCompleteEXT, + unix_xrCreateSpatialDiscoverySnapshotAsyncEXT, + unix_xrCreateSpatialDiscoverySnapshotCompleteEXT, unix_xrCreateSpatialEntityAnchorBD, + unix_xrCreateSpatialEntityFromIdEXT, unix_xrCreateSpatialGraphNodeSpaceMSFT, + unix_xrCreateSpatialPersistenceContextAsyncEXT, + unix_xrCreateSpatialPersistenceContextCompleteEXT, + unix_xrCreateSpatialUpdateSnapshotEXT, unix_xrCreateSwapchain, + unix_xrCreateTrackableTrackerANDROID, unix_xrCreateTriangleMeshFB, unix_xrCreateVirtualKeyboardMETA, unix_xrCreateVirtualKeyboardSpaceMETA, @@ -102,6 +118,7 @@ enum unix_call unix_xrDestroyBodyTrackerBD, unix_xrDestroyBodyTrackerFB, unix_xrDestroyBodyTrackerHTC, + unix_xrDestroyDeviceAnchorPersistenceANDROID, unix_xrDestroyEnvironmentDepthProviderMETA, unix_xrDestroyEnvironmentDepthSwapchainMETA, unix_xrDestroyExportedLocalizationMapML, @@ -120,6 +137,8 @@ enum unix_call unix_xrDestroyPassthroughHTC, unix_xrDestroyPassthroughLayerFB, unix_xrDestroyPlaneDetectorEXT, + unix_xrDestroyRenderModelAssetEXT, + unix_xrDestroyRenderModelEXT, unix_xrDestroySceneMSFT, unix_xrDestroySceneObserverMSFT, unix_xrDestroySenseDataProviderBD, @@ -130,8 +149,13 @@ enum unix_call unix_xrDestroySpatialAnchorMSFT, unix_xrDestroySpatialAnchorStoreConnectionMSFT, unix_xrDestroySpatialAnchorsStorageML, + unix_xrDestroySpatialContextEXT, + unix_xrDestroySpatialEntityEXT, unix_xrDestroySpatialGraphNodeBindingMSFT, + unix_xrDestroySpatialPersistenceContextEXT, + unix_xrDestroySpatialSnapshotEXT, unix_xrDestroySwapchain, + unix_xrDestroyTrackableTrackerANDROID, unix_xrDestroyTriangleMeshFB, unix_xrDestroyVirtualKeyboardMETA, unix_xrDestroyWorldMeshDetectorML, @@ -149,26 +173,40 @@ enum unix_call unix_xrEnumerateEnvironmentDepthSwapchainImagesMETA, unix_xrEnumerateExternalCamerasOCULUS, unix_xrEnumerateInstanceExtensionProperties, + unix_xrEnumerateInteractionRenderModelIdsEXT, unix_xrEnumeratePerformanceMetricsCounterPathsMETA, + unix_xrEnumeratePersistedAnchorsANDROID, unix_xrEnumeratePersistedSpatialAnchorNamesMSFT, + unix_xrEnumerateRaycastSupportedTrackableTypesANDROID, unix_xrEnumerateReferenceSpaces, unix_xrEnumerateRenderModelPathsFB, + unix_xrEnumerateRenderModelSubactionPathsEXT, unix_xrEnumerateReprojectionModesMSFT, unix_xrEnumerateSceneComputeFeaturesMSFT, unix_xrEnumerateSpaceSupportedComponentsFB, + unix_xrEnumerateSpatialCapabilitiesEXT, + unix_xrEnumerateSpatialCapabilityComponentTypesEXT, + unix_xrEnumerateSpatialCapabilityFeaturesEXT, unix_xrEnumerateSpatialEntityComponentTypesBD, + unix_xrEnumerateSpatialPersistenceScopesEXT, + unix_xrEnumerateSupportedAnchorTrackableTypesANDROID, + unix_xrEnumerateSupportedPersistenceAnchorTypesANDROID, + unix_xrEnumerateSupportedTrackableTypesANDROID, unix_xrEnumerateSwapchainFormats, unix_xrEnumerateSwapchainImages, unix_xrEnumerateViewConfigurationViews, unix_xrEnumerateViewConfigurations, unix_xrEnumerateViveTrackerPathsHTCX, unix_xrEraseSpaceFB, + unix_xrEraseSpacesMETA, unix_xrFreeWorldMeshBufferML, unix_xrGeometryInstanceSetTransformFB, unix_xrGetActionStateBoolean, unix_xrGetActionStateFloat, unix_xrGetActionStatePose, unix_xrGetActionStateVector2f, + unix_xrGetAllTrackablesANDROID, + unix_xrGetAnchorPersistStateANDROID, unix_xrGetAnchorUuidBD, unix_xrGetAudioInputDeviceGuidOculus, unix_xrGetAudioOutputDeviceGuidOculus, @@ -199,6 +237,7 @@ enum unix_call unix_xrGetMarkerStringML, unix_xrGetMarkersML, unix_xrGetOpenGLGraphicsRequirementsKHR, + unix_xrGetPassthroughCameraStateANDROID, unix_xrGetPassthroughPreferencesMETA, unix_xrGetPerformanceMetricsStateMETA, unix_xrGetPlaneDetectionStateEXT, @@ -207,7 +246,12 @@ enum unix_call unix_xrGetQueriedSenseDataBD, unix_xrGetRecommendedLayerResolutionMETA, unix_xrGetReferenceSpaceBoundsRect, + unix_xrGetRenderModelAssetDataEXT, + unix_xrGetRenderModelAssetPropertiesEXT, + unix_xrGetRenderModelPoseTopLevelUserPathEXT, + unix_xrGetRenderModelPropertiesEXT, unix_xrGetRenderModelPropertiesFB, + unix_xrGetRenderModelStateEXT, unix_xrGetSceneComponentsMSFT, unix_xrGetSceneComputeStateMSFT, unix_xrGetSceneMarkerDecodedStringMSFT, @@ -227,12 +271,22 @@ enum unix_call unix_xrGetSpaceUuidFB, unix_xrGetSpatialAnchorNameHTC, unix_xrGetSpatialAnchorStateML, + unix_xrGetSpatialBufferFloatEXT, + unix_xrGetSpatialBufferStringEXT, + unix_xrGetSpatialBufferUint16EXT, + unix_xrGetSpatialBufferUint32EXT, + unix_xrGetSpatialBufferUint8EXT, + unix_xrGetSpatialBufferVector2fEXT, + unix_xrGetSpatialBufferVector3fEXT, unix_xrGetSpatialEntityComponentDataBD, unix_xrGetSpatialEntityUuidBD, unix_xrGetSpatialGraphNodeBindingPropertiesMSFT, unix_xrGetSwapchainStateFB, unix_xrGetSystem, unix_xrGetSystemProperties, + unix_xrGetTrackableMarkerANDROID, + unix_xrGetTrackableObjectANDROID, + unix_xrGetTrackablePlaneANDROID, unix_xrGetViewConfigurationProperties, unix_xrGetVirtualKeyboardDirtyTexturesMETA, unix_xrGetVirtualKeyboardModelAnimationStatesMETA, @@ -265,10 +319,14 @@ enum unix_call unix_xrPassthroughPauseFB, unix_xrPassthroughStartFB, unix_xrPathToString, + unix_xrPauseSimultaneousHandsAndControllersTrackingMETA, unix_xrPerfSettingsSetPerformanceLevelEXT, + unix_xrPersistAnchorANDROID, unix_xrPersistSpatialAnchorAsyncBD, unix_xrPersistSpatialAnchorCompleteBD, unix_xrPersistSpatialAnchorMSFT, + unix_xrPersistSpatialEntityAsyncEXT, + unix_xrPersistSpatialEntityCompleteEXT, unix_xrPollEvent, unix_xrPollFutureEXT, unix_xrPublishSpatialAnchorsAsyncML, @@ -280,7 +338,9 @@ enum unix_call unix_xrQuerySpacesFB, unix_xrQuerySpatialAnchorsAsyncML, unix_xrQuerySpatialAnchorsCompleteML, + unix_xrQuerySpatialComponentDataEXT, unix_xrQuerySystemTrackedKeyboardFB, + unix_xrRaycastANDROID, unix_xrReleaseSwapchainImage, unix_xrRequestDisplayRefreshRateFB, unix_xrRequestExitSession, @@ -290,10 +350,13 @@ enum unix_call unix_xrRequestWorldMeshCompleteML, unix_xrRequestWorldMeshStateAsyncML, unix_xrRequestWorldMeshStateCompleteML, + unix_xrResetBodyTrackingCalibrationMETA, unix_xrResultToString, + unix_xrResumeSimultaneousHandsAndControllersTrackingMETA, unix_xrRetrieveSpaceQueryResultsFB, unix_xrSaveSpaceFB, unix_xrSaveSpaceListFB, + unix_xrSaveSpacesMETA, unix_xrSendVirtualKeyboardInputMETA, unix_xrSetColorSpaceFB, unix_xrSetDigitalLensControlALMALENCE, @@ -331,6 +394,7 @@ enum unix_call unix_xrStringToPath, unix_xrStructureTypeToString, unix_xrStructureTypeToString2KHR, + unix_xrSuggestBodyTrackingCalibrationOverrideMETA, unix_xrSuggestInteractionProfileBindings, unix_xrSuggestVirtualKeyboardLocationMETA, unix_xrSyncActions, @@ -342,9 +406,12 @@ enum unix_call unix_xrTriangleMeshGetIndexBufferFB, unix_xrTriangleMeshGetVertexBufferFB, unix_xrTryCreateSpatialGraphStaticNodeBindingMSFT, + unix_xrUnpersistAnchorANDROID, unix_xrUnpersistSpatialAnchorAsyncBD, unix_xrUnpersistSpatialAnchorCompleteBD, unix_xrUnpersistSpatialAnchorMSFT, + unix_xrUnpersistSpatialEntityAsyncEXT, + unix_xrUnpersistSpatialEntityCompleteEXT, unix_xrUpdateHandMeshMSFT, unix_xrUpdatePassthroughColorLutMETA, unix_xrUpdateSpatialAnchorsExpirationAsyncML, @@ -489,6 +556,14 @@ struct xrCreateActionSpace_params XrResult result; }; +struct xrCreateAnchorSpaceANDROID_params +{ + XrSession session; + const XrAnchorSpaceCreateInfoANDROID *createInfo; + XrSpace *anchorOutput; + XrResult result; +}; + struct xrCreateAnchorSpaceBD_params { XrSession session; @@ -521,6 +596,14 @@ struct xrCreateBodyTrackerHTC_params XrResult result; }; +struct xrCreateDeviceAnchorPersistenceANDROID_params +{ + XrSession session; + const XrDeviceAnchorPersistenceCreateInfoANDROID *createInfo; + XrDeviceAnchorPersistenceANDROID *outHandle; + XrResult result; +}; + struct xrCreateEnvironmentDepthProviderMETA_params { XrSession session; @@ -688,6 +771,14 @@ struct xrCreatePassthroughLayerFB_params XrResult result; }; +struct xrCreatePersistedAnchorSpaceANDROID_params +{ + XrDeviceAnchorPersistenceANDROID handle; + const XrPersistedAnchorSpaceCreateInfoANDROID *createInfo; + XrSpace *anchorOutput; + XrResult result; +}; + struct xrCreatePlaneDetectorEXT_params { XrSession session; @@ -704,6 +795,30 @@ struct xrCreateReferenceSpace_params XrResult result; }; +struct xrCreateRenderModelAssetEXT_params +{ + XrSession session; + const XrRenderModelAssetCreateInfoEXT *createInfo; + XrRenderModelAssetEXT *asset; + XrResult result; +}; + +struct xrCreateRenderModelEXT_params +{ + XrSession session; + const XrRenderModelCreateInfoEXT *createInfo; + XrRenderModelEXT *renderModel; + XrResult result; +}; + +struct xrCreateRenderModelSpaceEXT_params +{ + XrSession session; + const XrRenderModelSpaceCreateInfoEXT *createInfo; + XrSpace *space; + XrResult result; +}; + struct xrCreateSceneMSFT_params { XrSceneObserverMSFT sceneObserver; @@ -760,6 +875,15 @@ struct xrCreateSpatialAnchorCompleteBD_params XrResult result; }; +struct xrCreateSpatialAnchorEXT_params +{ + XrSpatialContextEXT spatialContext; + const XrSpatialAnchorCreateInfoEXT *createInfo; + XrSpatialEntityIdEXT *anchorEntityId; + XrSpatialEntityEXT *anchorEntity; + XrResult result; +}; + struct xrCreateSpatialAnchorFB_params { XrSession session; @@ -831,6 +955,38 @@ struct xrCreateSpatialAnchorsStorageML_params XrResult result; }; +struct xrCreateSpatialContextAsyncEXT_params +{ + XrSession session; + const XrSpatialContextCreateInfoEXT *createInfo; + XrFutureEXT *future; + XrResult result; +}; + +struct xrCreateSpatialContextCompleteEXT_params +{ + XrSession session; + XrFutureEXT future; + XrCreateSpatialContextCompletionEXT *completion; + XrResult result; +}; + +struct xrCreateSpatialDiscoverySnapshotAsyncEXT_params +{ + XrSpatialContextEXT spatialContext; + const XrSpatialDiscoverySnapshotCreateInfoEXT *createInfo; + XrFutureEXT *future; + XrResult result; +}; + +struct xrCreateSpatialDiscoverySnapshotCompleteEXT_params +{ + XrSpatialContextEXT spatialContext; + const XrCreateSpatialDiscoverySnapshotCompletionInfoEXT *createSnapshotCompletionInfo; + XrCreateSpatialDiscoverySnapshotCompletionEXT *completion; + XrResult result; +}; + struct xrCreateSpatialEntityAnchorBD_params { XrSenseDataProviderBD provider; @@ -839,6 +995,14 @@ struct xrCreateSpatialEntityAnchorBD_params XrResult result; }; +struct xrCreateSpatialEntityFromIdEXT_params +{ + XrSpatialContextEXT spatialContext; + const XrSpatialEntityFromIdCreateInfoEXT *createInfo; + XrSpatialEntityEXT *spatialEntity; + XrResult result; +}; + struct xrCreateSpatialGraphNodeSpaceMSFT_params { XrSession session; @@ -847,6 +1011,30 @@ struct xrCreateSpatialGraphNodeSpaceMSFT_params XrResult result; }; +struct xrCreateSpatialPersistenceContextAsyncEXT_params +{ + XrSession session; + const XrSpatialPersistenceContextCreateInfoEXT *createInfo; + XrFutureEXT *future; + XrResult result; +}; + +struct xrCreateSpatialPersistenceContextCompleteEXT_params +{ + XrSession session; + XrFutureEXT future; + XrCreateSpatialPersistenceContextCompletionEXT *completion; + XrResult result; +}; + +struct xrCreateSpatialUpdateSnapshotEXT_params +{ + XrSpatialContextEXT spatialContext; + const XrSpatialUpdateSnapshotCreateInfoEXT *createInfo; + XrSpatialSnapshotEXT *snapshot; + XrResult result; +}; + struct xrCreateSwapchain_params { XrSession session; @@ -855,6 +1043,14 @@ struct xrCreateSwapchain_params XrResult result; }; +struct xrCreateTrackableTrackerANDROID_params +{ + XrSession session; + const XrTrackableTrackerCreateInfoANDROID *createInfo; + XrTrackableTrackerANDROID *trackableTracker; + XrResult result; +}; + struct xrCreateTriangleMeshFB_params { XrSession session; @@ -947,6 +1143,12 @@ struct xrDestroyBodyTrackerHTC_params XrResult result; }; +struct xrDestroyDeviceAnchorPersistenceANDROID_params +{ + XrDeviceAnchorPersistenceANDROID handle; + XrResult result; +}; + struct xrDestroyEnvironmentDepthProviderMETA_params { XrEnvironmentDepthProviderMETA environmentDepthProvider; @@ -1055,6 +1257,18 @@ struct xrDestroyPlaneDetectorEXT_params XrResult result; }; +struct xrDestroyRenderModelAssetEXT_params +{ + XrRenderModelAssetEXT asset; + XrResult result; +}; + +struct xrDestroyRenderModelEXT_params +{ + XrRenderModelEXT renderModel; + XrResult result; +}; + struct xrDestroySceneMSFT_params { XrSceneMSFT scene; @@ -1115,18 +1329,48 @@ struct xrDestroySpatialAnchorsStorageML_params XrResult result; }; +struct xrDestroySpatialContextEXT_params +{ + XrSpatialContextEXT spatialContext; + XrResult result; +}; + +struct xrDestroySpatialEntityEXT_params +{ + XrSpatialEntityEXT spatialEntity; + XrResult result; +}; + struct xrDestroySpatialGraphNodeBindingMSFT_params { XrSpatialGraphNodeBindingMSFT nodeBinding; XrResult result; }; +struct xrDestroySpatialPersistenceContextEXT_params +{ + XrSpatialPersistenceContextEXT persistenceContext; + XrResult result; +}; + +struct xrDestroySpatialSnapshotEXT_params +{ + XrSpatialSnapshotEXT snapshot; + XrResult result; +}; + struct xrDestroySwapchain_params { XrSwapchain swapchain; XrResult result; }; +struct xrDestroyTrackableTrackerANDROID_params +{ + XrTrackableTrackerANDROID trackableTracker; + XrResult result; +}; + struct xrDestroyTriangleMeshFB_params { XrTriangleMeshFB mesh; @@ -1262,6 +1506,16 @@ struct xrEnumerateInstanceExtensionProperties_params XrResult result; }; +struct xrEnumerateInteractionRenderModelIdsEXT_params +{ + XrSession session; + const XrInteractionRenderModelIdsEnumerateInfoEXT *getInfo; + uint32_t renderModelIdCapacityInput; + uint32_t *renderModelIdCountOutput; + XrRenderModelIdEXT *renderModelIds; + XrResult result; +}; + struct xrEnumeratePerformanceMetricsCounterPathsMETA_params { XrInstance instance; @@ -1271,6 +1525,15 @@ struct xrEnumeratePerformanceMetricsCounterPathsMETA_params XrResult result; }; +struct xrEnumeratePersistedAnchorsANDROID_params +{ + XrDeviceAnchorPersistenceANDROID handle; + uint32_t anchorIdCapacityInput; + uint32_t *anchorIdCountOutput; + XrUuidEXT *anchorIds; + XrResult result; +}; + struct xrEnumeratePersistedSpatialAnchorNamesMSFT_params { XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore; @@ -1280,6 +1543,16 @@ struct xrEnumeratePersistedSpatialAnchorNamesMSFT_params XrResult result; }; +struct xrEnumerateRaycastSupportedTrackableTypesANDROID_params +{ + XrInstance instance; + XrSystemId systemId; + uint32_t trackableTypeCapacityInput; + uint32_t *trackableTypeCountOutput; + XrTrackableTypeANDROID *trackableTypes; + XrResult result; +}; + struct xrEnumerateReferenceSpaces_params { XrSession session; @@ -1298,6 +1571,16 @@ struct xrEnumerateRenderModelPathsFB_params XrResult result; }; +struct xrEnumerateRenderModelSubactionPathsEXT_params +{ + XrRenderModelEXT renderModel; + const XrInteractionRenderModelSubactionPathInfoEXT *info; + uint32_t pathCapacityInput; + uint32_t *pathCountOutput; + XrPath *paths; + XrResult result; +}; + struct xrEnumerateReprojectionModesMSFT_params { XrInstance instance; @@ -1328,6 +1611,36 @@ struct xrEnumerateSpaceSupportedComponentsFB_params XrResult result; }; +struct xrEnumerateSpatialCapabilitiesEXT_params +{ + XrInstance instance; + XrSystemId systemId; + uint32_t capabilityCapacityInput; + uint32_t *capabilityCountOutput; + XrSpatialCapabilityEXT *capabilities; + XrResult result; +}; + +struct xrEnumerateSpatialCapabilityComponentTypesEXT_params +{ + XrInstance instance; + XrSystemId systemId; + XrSpatialCapabilityEXT capability; + XrSpatialCapabilityComponentTypesEXT *capabilityComponents; + XrResult result; +}; + +struct xrEnumerateSpatialCapabilityFeaturesEXT_params +{ + XrInstance instance; + XrSystemId systemId; + XrSpatialCapabilityEXT capability; + uint32_t capabilityFeatureCapacityInput; + uint32_t *capabilityFeatureCountOutput; + XrSpatialCapabilityFeatureEXT *capabilityFeatures; + XrResult result; +}; + struct xrEnumerateSpatialEntityComponentTypesBD_params { XrSenseDataSnapshotBD snapshot; @@ -1338,6 +1651,46 @@ struct xrEnumerateSpatialEntityComponentTypesBD_params XrResult result; }; +struct xrEnumerateSpatialPersistenceScopesEXT_params +{ + XrInstance instance; + XrSystemId systemId; + uint32_t persistenceScopeCapacityInput; + uint32_t *persistenceScopeCountOutput; + XrSpatialPersistenceScopeEXT *persistenceScopes; + XrResult result; +}; + +struct xrEnumerateSupportedAnchorTrackableTypesANDROID_params +{ + XrInstance instance; + XrSystemId systemId; + uint32_t trackableTypeCapacityInput; + uint32_t *trackableTypeCountOutput; + XrTrackableTypeANDROID *trackableTypes; + XrResult result; +}; + +struct xrEnumerateSupportedPersistenceAnchorTypesANDROID_params +{ + XrInstance instance; + XrSystemId systemId; + uint32_t trackableTypeCapacityInput; + uint32_t *trackableTypeCountOutput; + XrTrackableTypeANDROID *trackableTypes; + XrResult result; +}; + +struct xrEnumerateSupportedTrackableTypesANDROID_params +{ + XrInstance instance; + XrSystemId systemId; + uint32_t trackableTypeCapacityInput; + uint32_t *trackableTypeCountOutput; + XrTrackableTypeANDROID *trackableTypes; + XrResult result; +}; + struct xrEnumerateSwapchainFormats_params { XrSession session; @@ -1394,6 +1747,14 @@ struct xrEraseSpaceFB_params XrResult result; }; +struct xrEraseSpacesMETA_params +{ + XrSession session; + const XrSpacesEraseInfoMETA *info; + XrAsyncRequestIdFB *requestId; + XrResult result; +}; + struct xrFreeWorldMeshBufferML_params { XrWorldMeshDetectorML detector; @@ -1440,6 +1801,23 @@ struct xrGetActionStateVector2f_params XrResult result; }; +struct xrGetAllTrackablesANDROID_params +{ + XrTrackableTrackerANDROID trackableTracker; + uint32_t trackableCapacityInput; + uint32_t *trackableCountOutput; + XrTrackableANDROID *trackables; + XrResult result; +}; + +struct xrGetAnchorPersistStateANDROID_params +{ + XrDeviceAnchorPersistenceANDROID handle; + const XrUuidEXT *anchorId; + XrAnchorPersistStateANDROID *persistState; + XrResult result; +}; + struct xrGetAnchorUuidBD_params { XrAnchorBD anchor; @@ -1677,6 +2055,14 @@ struct xrGetOpenGLGraphicsRequirementsKHR_params XrResult result; }; +struct xrGetPassthroughCameraStateANDROID_params +{ + XrSession session; + const XrPassthroughCameraStateGetInfoANDROID *getInfo; + XrPassthroughCameraStateANDROID *cameraStateOutput; + XrResult result; +}; + struct xrGetPassthroughPreferencesMETA_params { XrSession session; @@ -1739,6 +2125,38 @@ struct xrGetReferenceSpaceBoundsRect_params XrResult result; }; +struct xrGetRenderModelAssetDataEXT_params +{ + XrRenderModelAssetEXT asset; + const XrRenderModelAssetDataGetInfoEXT *getInfo; + XrRenderModelAssetDataEXT *buffer; + XrResult result; +}; + +struct xrGetRenderModelAssetPropertiesEXT_params +{ + XrRenderModelAssetEXT asset; + const XrRenderModelAssetPropertiesGetInfoEXT *getInfo; + XrRenderModelAssetPropertiesEXT *properties; + XrResult result; +}; + +struct xrGetRenderModelPoseTopLevelUserPathEXT_params +{ + XrRenderModelEXT renderModel; + const XrInteractionRenderModelTopLevelUserPathGetInfoEXT *info; + XrPath *topLevelUserPath; + XrResult result; +}; + +struct xrGetRenderModelPropertiesEXT_params +{ + XrRenderModelEXT renderModel; + const XrRenderModelPropertiesGetInfoEXT *getInfo; + XrRenderModelPropertiesEXT *properties; + XrResult result; +}; + struct xrGetRenderModelPropertiesFB_params { XrSession session; @@ -1747,6 +2165,14 @@ struct xrGetRenderModelPropertiesFB_params XrResult result; }; +struct xrGetRenderModelStateEXT_params +{ + XrRenderModelEXT renderModel; + const XrRenderModelStateGetInfoEXT *getInfo; + XrRenderModelStateEXT *state; + XrResult result; +}; + struct xrGetSceneComponentsMSFT_params { XrSceneMSFT scene; @@ -1899,6 +2325,76 @@ struct xrGetSpatialAnchorStateML_params XrResult result; }; +struct xrGetSpatialBufferFloatEXT_params +{ + XrSpatialSnapshotEXT snapshot; + const XrSpatialBufferGetInfoEXT *info; + uint32_t bufferCapacityInput; + uint32_t *bufferCountOutput; + float *buffer; + XrResult result; +}; + +struct xrGetSpatialBufferStringEXT_params +{ + XrSpatialSnapshotEXT snapshot; + const XrSpatialBufferGetInfoEXT *info; + uint32_t bufferCapacityInput; + uint32_t *bufferCountOutput; + char *buffer; + XrResult result; +}; + +struct xrGetSpatialBufferUint16EXT_params +{ + XrSpatialSnapshotEXT snapshot; + const XrSpatialBufferGetInfoEXT *info; + uint32_t bufferCapacityInput; + uint32_t *bufferCountOutput; + uint16_t *buffer; + XrResult result; +}; + +struct xrGetSpatialBufferUint32EXT_params +{ + XrSpatialSnapshotEXT snapshot; + const XrSpatialBufferGetInfoEXT *info; + uint32_t bufferCapacityInput; + uint32_t *bufferCountOutput; + uint32_t *buffer; + XrResult result; +}; + +struct xrGetSpatialBufferUint8EXT_params +{ + XrSpatialSnapshotEXT snapshot; + const XrSpatialBufferGetInfoEXT *info; + uint32_t bufferCapacityInput; + uint32_t *bufferCountOutput; + uint8_t *buffer; + XrResult result; +}; + +struct xrGetSpatialBufferVector2fEXT_params +{ + XrSpatialSnapshotEXT snapshot; + const XrSpatialBufferGetInfoEXT *info; + uint32_t bufferCapacityInput; + uint32_t *bufferCountOutput; + XrVector2f *buffer; + XrResult result; +}; + +struct xrGetSpatialBufferVector3fEXT_params +{ + XrSpatialSnapshotEXT snapshot; + const XrSpatialBufferGetInfoEXT *info; + uint32_t bufferCapacityInput; + uint32_t *bufferCountOutput; + XrVector3f *buffer; + XrResult result; +}; + struct xrGetSpatialEntityComponentDataBD_params { XrSenseDataSnapshotBD snapshot; @@ -1946,6 +2442,30 @@ struct xrGetSystemProperties_params XrResult result; }; +struct xrGetTrackableMarkerANDROID_params +{ + XrTrackableTrackerANDROID tracker; + const XrTrackableGetInfoANDROID *getInfo; + XrTrackableMarkerANDROID *markerOutput; + XrResult result; +}; + +struct xrGetTrackableObjectANDROID_params +{ + XrTrackableTrackerANDROID tracker; + const XrTrackableGetInfoANDROID *getInfo; + XrTrackableObjectANDROID *objectOutput; + XrResult result; +}; + +struct xrGetTrackablePlaneANDROID_params +{ + XrTrackableTrackerANDROID trackableTracker; + const XrTrackableGetInfoANDROID *getInfo; + XrTrackablePlaneANDROID *planeOutput; + XrResult result; +}; + struct xrGetViewConfigurationProperties_params { XrInstance instance; @@ -2207,6 +2727,13 @@ struct xrPathToString_params XrResult result; }; +struct xrPauseSimultaneousHandsAndControllersTrackingMETA_params +{ + XrSession session; + const XrSimultaneousHandsAndControllersTrackingPauseInfoMETA *pauseInfo; + XrResult result; +}; + struct xrPerfSettingsSetPerformanceLevelEXT_params { XrSession session; @@ -2215,6 +2742,14 @@ struct xrPerfSettingsSetPerformanceLevelEXT_params XrResult result; }; +struct xrPersistAnchorANDROID_params +{ + XrDeviceAnchorPersistenceANDROID handle; + const XrPersistedAnchorSpaceInfoANDROID *persistedInfo; + XrUuidEXT *anchorIdOutput; + XrResult result; +}; + struct xrPersistSpatialAnchorAsyncBD_params { XrSenseDataProviderBD provider; @@ -2238,6 +2773,22 @@ struct xrPersistSpatialAnchorMSFT_params XrResult result; }; +struct xrPersistSpatialEntityAsyncEXT_params +{ + XrSpatialPersistenceContextEXT persistenceContext; + const XrSpatialEntityPersistInfoEXT *persistInfo; + XrFutureEXT *future; + XrResult result; +}; + +struct xrPersistSpatialEntityCompleteEXT_params +{ + XrSpatialPersistenceContextEXT persistenceContext; + XrFutureEXT future; + XrPersistSpatialEntityCompletionEXT *completion; + XrResult result; +}; + struct xrPollEvent_params { XrInstance instance; @@ -2327,6 +2878,14 @@ struct xrQuerySpatialAnchorsCompleteML_params XrResult result; }; +struct xrQuerySpatialComponentDataEXT_params +{ + XrSpatialSnapshotEXT snapshot; + const XrSpatialComponentDataQueryConditionEXT *queryCondition; + XrSpatialComponentDataQueryResultEXT *queryResult; + XrResult result; +}; + struct xrQuerySystemTrackedKeyboardFB_params { XrSession session; @@ -2335,6 +2894,14 @@ struct xrQuerySystemTrackedKeyboardFB_params XrResult result; }; +struct xrRaycastANDROID_params +{ + XrSession session; + const XrRaycastInfoANDROID *rayInfo; + XrRaycastHitResultsANDROID *results; + XrResult result; +}; + struct xrReleaseSwapchainImage_params { XrSwapchain swapchain; @@ -2404,6 +2971,12 @@ struct xrRequestWorldMeshStateCompleteML_params XrResult result; }; +struct xrResetBodyTrackingCalibrationMETA_params +{ + XrBodyTrackerFB bodyTracker; + XrResult result; +}; + struct xrResultToString_params { XrInstance instance; @@ -2412,6 +2985,13 @@ struct xrResultToString_params XrResult result; }; +struct xrResumeSimultaneousHandsAndControllersTrackingMETA_params +{ + XrSession session; + const XrSimultaneousHandsAndControllersTrackingResumeInfoMETA *resumeInfo; + XrResult result; +}; + struct xrRetrieveSpaceQueryResultsFB_params { XrSession session; @@ -2436,6 +3016,14 @@ struct xrSaveSpaceListFB_params XrResult result; }; +struct xrSaveSpacesMETA_params +{ + XrSession session; + const XrSpacesSaveInfoMETA *info; + XrAsyncRequestIdFB *requestId; + XrResult result; +}; + struct xrSendVirtualKeyboardInputMETA_params { XrVirtualKeyboardMETA keyboard; @@ -2721,6 +3309,13 @@ struct xrStructureTypeToString2KHR_params XrResult result; }; +struct xrSuggestBodyTrackingCalibrationOverrideMETA_params +{ + XrBodyTrackerFB bodyTracker; + const XrBodyTrackingCalibrationInfoMETA *calibrationInfo; + XrResult result; +}; + struct xrSuggestInteractionProfileBindings_params { XrInstance instance; @@ -2801,6 +3396,13 @@ struct xrTryCreateSpatialGraphStaticNodeBindingMSFT_params XrResult result; }; +struct xrUnpersistAnchorANDROID_params +{ + XrDeviceAnchorPersistenceANDROID handle; + const XrUuidEXT *anchorId; + XrResult result; +}; + struct xrUnpersistSpatialAnchorAsyncBD_params { XrSenseDataProviderBD provider; @@ -2824,6 +3426,22 @@ struct xrUnpersistSpatialAnchorMSFT_params XrResult result; }; +struct xrUnpersistSpatialEntityAsyncEXT_params +{ + XrSpatialPersistenceContextEXT persistenceContext; + const XrSpatialEntityUnpersistInfoEXT *unpersistInfo; + XrFutureEXT *future; + XrResult result; +}; + +struct xrUnpersistSpatialEntityCompleteEXT_params +{ + XrSpatialPersistenceContextEXT persistenceContext; + XrFutureEXT future; + XrUnpersistSpatialEntityCompletionEXT *completion; + XrResult result; +}; + struct xrUpdateHandMeshMSFT_params { XrHandTrackerEXT handTracker; diff --git a/wineopenxr/make_openxr b/wineopenxr/make_openxr index 1f313d278d..331a7ce9ef 100755 --- a/wineopenxr/make_openxr +++ b/wineopenxr/make_openxr @@ -64,7 +64,7 @@ from enum import Enum LOGGER = logging.Logger("openxr") LOGGER.addHandler(logging.StreamHandler()) -XR_XML_VERSION = "1.1.47" +XR_XML_VERSION = "1.1.51" WINE_XR_VERSION = (1, 1) # Filenames to create. diff --git a/wineopenxr/openxr_thunks.c b/wineopenxr/openxr_thunks.c index bb1c148a69..c0fd7b8e44 100644 --- a/wineopenxr/openxr_thunks.c +++ b/wineopenxr/openxr_thunks.c @@ -287,6 +287,18 @@ static NTSTATUS thunk64_xrCreateActionSpace(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrCreateAnchorSpaceANDROID(void *args) +{ + struct xrCreateAnchorSpaceANDROID_params *params = args; + + TRACE("%p, %p, %p\n", params->session, params->createInfo, params->anchorOutput); + + params->result = g_xr_host_instance_dispatch_table.p_xrCreateAnchorSpaceANDROID(wine_session_from_handle(params->session)->host_session, params->createInfo, params->anchorOutput); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrCreateAnchorSpaceBD(void *args) { @@ -335,6 +347,18 @@ static NTSTATUS thunk64_xrCreateBodyTrackerHTC(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrCreateDeviceAnchorPersistenceANDROID(void *args) +{ + struct xrCreateDeviceAnchorPersistenceANDROID_params *params = args; + + TRACE("%p, %p, %p\n", params->session, params->createInfo, params->outHandle); + + params->result = g_xr_host_instance_dispatch_table.p_xrCreateDeviceAnchorPersistenceANDROID(wine_session_from_handle(params->session)->host_session, params->createInfo, params->outHandle); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrCreateEnvironmentDepthProviderMETA(void *args) { @@ -593,6 +617,18 @@ static NTSTATUS thunk64_xrCreatePassthroughLayerFB(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrCreatePersistedAnchorSpaceANDROID(void *args) +{ + struct xrCreatePersistedAnchorSpaceANDROID_params *params = args; + + TRACE("%p, %p, %p\n", params->handle, params->createInfo, params->anchorOutput); + + params->result = g_xr_host_instance_dispatch_table.p_xrCreatePersistedAnchorSpaceANDROID(params->handle, params->createInfo, params->anchorOutput); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrCreatePlaneDetectorEXT(void *args) { @@ -617,6 +653,42 @@ static NTSTATUS thunk64_xrCreateReferenceSpace(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrCreateRenderModelAssetEXT(void *args) +{ + struct xrCreateRenderModelAssetEXT_params *params = args; + + TRACE("%p, %p, %p\n", params->session, params->createInfo, params->asset); + + params->result = g_xr_host_instance_dispatch_table.p_xrCreateRenderModelAssetEXT(wine_session_from_handle(params->session)->host_session, params->createInfo, params->asset); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrCreateRenderModelEXT(void *args) +{ + struct xrCreateRenderModelEXT_params *params = args; + + TRACE("%p, %p, %p\n", params->session, params->createInfo, params->renderModel); + + params->result = g_xr_host_instance_dispatch_table.p_xrCreateRenderModelEXT(wine_session_from_handle(params->session)->host_session, params->createInfo, params->renderModel); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrCreateRenderModelSpaceEXT(void *args) +{ + struct xrCreateRenderModelSpaceEXT_params *params = args; + + TRACE("%p, %p, %p\n", params->session, params->createInfo, params->space); + + params->result = g_xr_host_instance_dispatch_table.p_xrCreateRenderModelSpaceEXT(wine_session_from_handle(params->session)->host_session, params->createInfo, params->space); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrCreateSceneMSFT(void *args) { @@ -701,6 +773,18 @@ static NTSTATUS thunk64_xrCreateSpatialAnchorCompleteBD(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrCreateSpatialAnchorEXT(void *args) +{ + struct xrCreateSpatialAnchorEXT_params *params = args; + + TRACE("%p, %p, %p, %p\n", params->spatialContext, params->createInfo, params->anchorEntityId, params->anchorEntity); + + params->result = g_xr_host_instance_dispatch_table.p_xrCreateSpatialAnchorEXT(params->spatialContext, params->createInfo, params->anchorEntityId, params->anchorEntity); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrCreateSpatialAnchorFB(void *args) { @@ -809,6 +893,54 @@ static NTSTATUS thunk64_xrCreateSpatialAnchorsStorageML(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrCreateSpatialContextAsyncEXT(void *args) +{ + struct xrCreateSpatialContextAsyncEXT_params *params = args; + + TRACE("%p, %p, %p\n", params->session, params->createInfo, params->future); + + params->result = g_xr_host_instance_dispatch_table.p_xrCreateSpatialContextAsyncEXT(wine_session_from_handle(params->session)->host_session, params->createInfo, params->future); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrCreateSpatialContextCompleteEXT(void *args) +{ + struct xrCreateSpatialContextCompleteEXT_params *params = args; + + TRACE("%p, %p, %p\n", params->session, params->future, params->completion); + + params->result = g_xr_host_instance_dispatch_table.p_xrCreateSpatialContextCompleteEXT(wine_session_from_handle(params->session)->host_session, params->future, params->completion); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrCreateSpatialDiscoverySnapshotAsyncEXT(void *args) +{ + struct xrCreateSpatialDiscoverySnapshotAsyncEXT_params *params = args; + + TRACE("%p, %p, %p\n", params->spatialContext, params->createInfo, params->future); + + params->result = g_xr_host_instance_dispatch_table.p_xrCreateSpatialDiscoverySnapshotAsyncEXT(params->spatialContext, params->createInfo, params->future); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrCreateSpatialDiscoverySnapshotCompleteEXT(void *args) +{ + struct xrCreateSpatialDiscoverySnapshotCompleteEXT_params *params = args; + + TRACE("%p, %p, %p\n", params->spatialContext, params->createSnapshotCompletionInfo, params->completion); + + params->result = g_xr_host_instance_dispatch_table.p_xrCreateSpatialDiscoverySnapshotCompleteEXT(params->spatialContext, params->createSnapshotCompletionInfo, params->completion); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrCreateSpatialEntityAnchorBD(void *args) { @@ -821,6 +953,18 @@ static NTSTATUS thunk64_xrCreateSpatialEntityAnchorBD(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrCreateSpatialEntityFromIdEXT(void *args) +{ + struct xrCreateSpatialEntityFromIdEXT_params *params = args; + + TRACE("%p, %p, %p\n", params->spatialContext, params->createInfo, params->spatialEntity); + + params->result = g_xr_host_instance_dispatch_table.p_xrCreateSpatialEntityFromIdEXT(params->spatialContext, params->createInfo, params->spatialEntity); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrCreateSpatialGraphNodeSpaceMSFT(void *args) { @@ -833,6 +977,42 @@ static NTSTATUS thunk64_xrCreateSpatialGraphNodeSpaceMSFT(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrCreateSpatialPersistenceContextAsyncEXT(void *args) +{ + struct xrCreateSpatialPersistenceContextAsyncEXT_params *params = args; + + TRACE("%p, %p, %p\n", params->session, params->createInfo, params->future); + + params->result = g_xr_host_instance_dispatch_table.p_xrCreateSpatialPersistenceContextAsyncEXT(wine_session_from_handle(params->session)->host_session, params->createInfo, params->future); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrCreateSpatialPersistenceContextCompleteEXT(void *args) +{ + struct xrCreateSpatialPersistenceContextCompleteEXT_params *params = args; + + TRACE("%p, %p, %p\n", params->session, params->future, params->completion); + + params->result = g_xr_host_instance_dispatch_table.p_xrCreateSpatialPersistenceContextCompleteEXT(wine_session_from_handle(params->session)->host_session, params->future, params->completion); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrCreateSpatialUpdateSnapshotEXT(void *args) +{ + struct xrCreateSpatialUpdateSnapshotEXT_params *params = args; + + TRACE("%p, %p, %p\n", params->spatialContext, params->createInfo, params->snapshot); + + params->result = g_xr_host_instance_dispatch_table.p_xrCreateSpatialUpdateSnapshotEXT(params->spatialContext, params->createInfo, params->snapshot); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrCreateSwapchain(void *args) { @@ -845,6 +1025,18 @@ static NTSTATUS thunk64_xrCreateSwapchain(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrCreateTrackableTrackerANDROID(void *args) +{ + struct xrCreateTrackableTrackerANDROID_params *params = args; + + TRACE("%p, %p, %p\n", params->session, params->createInfo, params->trackableTracker); + + params->result = g_xr_host_instance_dispatch_table.p_xrCreateTrackableTrackerANDROID(wine_session_from_handle(params->session)->host_session, params->createInfo, params->trackableTracker); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrCreateTriangleMeshFB(void *args) { @@ -1001,6 +1193,18 @@ static NTSTATUS thunk64_xrDestroyBodyTrackerHTC(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrDestroyDeviceAnchorPersistenceANDROID(void *args) +{ + struct xrDestroyDeviceAnchorPersistenceANDROID_params *params = args; + + TRACE("%p\n", params->handle); + + params->result = g_xr_host_instance_dispatch_table.p_xrDestroyDeviceAnchorPersistenceANDROID(params->handle); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrDestroyEnvironmentDepthProviderMETA(void *args) { @@ -1217,6 +1421,30 @@ static NTSTATUS thunk64_xrDestroyPlaneDetectorEXT(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrDestroyRenderModelAssetEXT(void *args) +{ + struct xrDestroyRenderModelAssetEXT_params *params = args; + + TRACE("%p\n", params->asset); + + params->result = g_xr_host_instance_dispatch_table.p_xrDestroyRenderModelAssetEXT(params->asset); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrDestroyRenderModelEXT(void *args) +{ + struct xrDestroyRenderModelEXT_params *params = args; + + TRACE("%p\n", params->renderModel); + + params->result = g_xr_host_instance_dispatch_table.p_xrDestroyRenderModelEXT(params->renderModel); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrDestroySceneMSFT(void *args) { @@ -1337,6 +1565,30 @@ static NTSTATUS thunk64_xrDestroySpatialAnchorsStorageML(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrDestroySpatialContextEXT(void *args) +{ + struct xrDestroySpatialContextEXT_params *params = args; + + TRACE("%p\n", params->spatialContext); + + params->result = g_xr_host_instance_dispatch_table.p_xrDestroySpatialContextEXT(params->spatialContext); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrDestroySpatialEntityEXT(void *args) +{ + struct xrDestroySpatialEntityEXT_params *params = args; + + TRACE("%p\n", params->spatialEntity); + + params->result = g_xr_host_instance_dispatch_table.p_xrDestroySpatialEntityEXT(params->spatialEntity); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrDestroySpatialGraphNodeBindingMSFT(void *args) { @@ -1349,6 +1601,30 @@ static NTSTATUS thunk64_xrDestroySpatialGraphNodeBindingMSFT(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrDestroySpatialPersistenceContextEXT(void *args) +{ + struct xrDestroySpatialPersistenceContextEXT_params *params = args; + + TRACE("%p\n", params->persistenceContext); + + params->result = g_xr_host_instance_dispatch_table.p_xrDestroySpatialPersistenceContextEXT(params->persistenceContext); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrDestroySpatialSnapshotEXT(void *args) +{ + struct xrDestroySpatialSnapshotEXT_params *params = args; + + TRACE("%p\n", params->snapshot); + + params->result = g_xr_host_instance_dispatch_table.p_xrDestroySpatialSnapshotEXT(params->snapshot); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrDestroySwapchain(void *args) { @@ -1361,6 +1637,18 @@ static NTSTATUS thunk64_xrDestroySwapchain(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrDestroyTrackableTrackerANDROID(void *args) +{ + struct xrDestroyTrackableTrackerANDROID_params *params = args; + + TRACE("%p\n", params->trackableTracker); + + params->result = g_xr_host_instance_dispatch_table.p_xrDestroyTrackableTrackerANDROID(params->trackableTracker); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrDestroyTriangleMeshFB(void *args) { @@ -1565,6 +1853,18 @@ static NTSTATUS thunk64_xrEnumerateInstanceExtensionProperties(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrEnumerateInteractionRenderModelIdsEXT(void *args) +{ + struct xrEnumerateInteractionRenderModelIdsEXT_params *params = args; + + TRACE("%p, %p, %u, %p, %p\n", params->session, params->getInfo, params->renderModelIdCapacityInput, params->renderModelIdCountOutput, params->renderModelIds); + + params->result = g_xr_host_instance_dispatch_table.p_xrEnumerateInteractionRenderModelIdsEXT(wine_session_from_handle(params->session)->host_session, params->getInfo, params->renderModelIdCapacityInput, params->renderModelIdCountOutput, params->renderModelIds); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrEnumeratePerformanceMetricsCounterPathsMETA(void *args) { @@ -1577,6 +1877,18 @@ static NTSTATUS thunk64_xrEnumeratePerformanceMetricsCounterPathsMETA(void *args } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrEnumeratePersistedAnchorsANDROID(void *args) +{ + struct xrEnumeratePersistedAnchorsANDROID_params *params = args; + + TRACE("%p, %u, %p, %p\n", params->handle, params->anchorIdCapacityInput, params->anchorIdCountOutput, params->anchorIds); + + params->result = g_xr_host_instance_dispatch_table.p_xrEnumeratePersistedAnchorsANDROID(params->handle, params->anchorIdCapacityInput, params->anchorIdCountOutput, params->anchorIds); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrEnumeratePersistedSpatialAnchorNamesMSFT(void *args) { @@ -1589,6 +1901,18 @@ static NTSTATUS thunk64_xrEnumeratePersistedSpatialAnchorNamesMSFT(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrEnumerateRaycastSupportedTrackableTypesANDROID(void *args) +{ + struct xrEnumerateRaycastSupportedTrackableTypesANDROID_params *params = args; + + TRACE("%p, 0x%s, %u, %p, %p\n", params->instance, wine_dbgstr_longlong(params->systemId), params->trackableTypeCapacityInput, params->trackableTypeCountOutput, params->trackableTypes); + + params->result = g_xr_host_instance_dispatch_table.p_xrEnumerateRaycastSupportedTrackableTypesANDROID(wine_instance_from_handle(params->instance)->host_instance, params->systemId, params->trackableTypeCapacityInput, params->trackableTypeCountOutput, params->trackableTypes); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrEnumerateReferenceSpaces(void *args) { @@ -1613,6 +1937,18 @@ static NTSTATUS thunk64_xrEnumerateRenderModelPathsFB(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrEnumerateRenderModelSubactionPathsEXT(void *args) +{ + struct xrEnumerateRenderModelSubactionPathsEXT_params *params = args; + + TRACE("%p, %p, %u, %p, %p\n", params->renderModel, params->info, params->pathCapacityInput, params->pathCountOutput, params->paths); + + params->result = g_xr_host_instance_dispatch_table.p_xrEnumerateRenderModelSubactionPathsEXT(params->renderModel, params->info, params->pathCapacityInput, params->pathCountOutput, params->paths); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrEnumerateReprojectionModesMSFT(void *args) { @@ -1649,6 +1985,42 @@ static NTSTATUS thunk64_xrEnumerateSpaceSupportedComponentsFB(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrEnumerateSpatialCapabilitiesEXT(void *args) +{ + struct xrEnumerateSpatialCapabilitiesEXT_params *params = args; + + TRACE("%p, 0x%s, %u, %p, %p\n", params->instance, wine_dbgstr_longlong(params->systemId), params->capabilityCapacityInput, params->capabilityCountOutput, params->capabilities); + + params->result = g_xr_host_instance_dispatch_table.p_xrEnumerateSpatialCapabilitiesEXT(wine_instance_from_handle(params->instance)->host_instance, params->systemId, params->capabilityCapacityInput, params->capabilityCountOutput, params->capabilities); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrEnumerateSpatialCapabilityComponentTypesEXT(void *args) +{ + struct xrEnumerateSpatialCapabilityComponentTypesEXT_params *params = args; + + TRACE("%p, 0x%s, %#x, %p\n", params->instance, wine_dbgstr_longlong(params->systemId), params->capability, params->capabilityComponents); + + params->result = g_xr_host_instance_dispatch_table.p_xrEnumerateSpatialCapabilityComponentTypesEXT(wine_instance_from_handle(params->instance)->host_instance, params->systemId, params->capability, params->capabilityComponents); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrEnumerateSpatialCapabilityFeaturesEXT(void *args) +{ + struct xrEnumerateSpatialCapabilityFeaturesEXT_params *params = args; + + TRACE("%p, 0x%s, %#x, %u, %p, %p\n", params->instance, wine_dbgstr_longlong(params->systemId), params->capability, params->capabilityFeatureCapacityInput, params->capabilityFeatureCountOutput, params->capabilityFeatures); + + params->result = g_xr_host_instance_dispatch_table.p_xrEnumerateSpatialCapabilityFeaturesEXT(wine_instance_from_handle(params->instance)->host_instance, params->systemId, params->capability, params->capabilityFeatureCapacityInput, params->capabilityFeatureCountOutput, params->capabilityFeatures); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrEnumerateSpatialEntityComponentTypesBD(void *args) { @@ -1661,6 +2033,54 @@ static NTSTATUS thunk64_xrEnumerateSpatialEntityComponentTypesBD(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrEnumerateSpatialPersistenceScopesEXT(void *args) +{ + struct xrEnumerateSpatialPersistenceScopesEXT_params *params = args; + + TRACE("%p, 0x%s, %u, %p, %p\n", params->instance, wine_dbgstr_longlong(params->systemId), params->persistenceScopeCapacityInput, params->persistenceScopeCountOutput, params->persistenceScopes); + + params->result = g_xr_host_instance_dispatch_table.p_xrEnumerateSpatialPersistenceScopesEXT(wine_instance_from_handle(params->instance)->host_instance, params->systemId, params->persistenceScopeCapacityInput, params->persistenceScopeCountOutput, params->persistenceScopes); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrEnumerateSupportedAnchorTrackableTypesANDROID(void *args) +{ + struct xrEnumerateSupportedAnchorTrackableTypesANDROID_params *params = args; + + TRACE("%p, 0x%s, %u, %p, %p\n", params->instance, wine_dbgstr_longlong(params->systemId), params->trackableTypeCapacityInput, params->trackableTypeCountOutput, params->trackableTypes); + + params->result = g_xr_host_instance_dispatch_table.p_xrEnumerateSupportedAnchorTrackableTypesANDROID(wine_instance_from_handle(params->instance)->host_instance, params->systemId, params->trackableTypeCapacityInput, params->trackableTypeCountOutput, params->trackableTypes); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrEnumerateSupportedPersistenceAnchorTypesANDROID(void *args) +{ + struct xrEnumerateSupportedPersistenceAnchorTypesANDROID_params *params = args; + + TRACE("%p, 0x%s, %u, %p, %p\n", params->instance, wine_dbgstr_longlong(params->systemId), params->trackableTypeCapacityInput, params->trackableTypeCountOutput, params->trackableTypes); + + params->result = g_xr_host_instance_dispatch_table.p_xrEnumerateSupportedPersistenceAnchorTypesANDROID(wine_instance_from_handle(params->instance)->host_instance, params->systemId, params->trackableTypeCapacityInput, params->trackableTypeCountOutput, params->trackableTypes); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrEnumerateSupportedTrackableTypesANDROID(void *args) +{ + struct xrEnumerateSupportedTrackableTypesANDROID_params *params = args; + + TRACE("%p, 0x%s, %u, %p, %p\n", params->instance, wine_dbgstr_longlong(params->systemId), params->trackableTypeCapacityInput, params->trackableTypeCountOutput, params->trackableTypes); + + params->result = g_xr_host_instance_dispatch_table.p_xrEnumerateSupportedTrackableTypesANDROID(wine_instance_from_handle(params->instance)->host_instance, params->systemId, params->trackableTypeCapacityInput, params->trackableTypeCountOutput, params->trackableTypes); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrEnumerateSwapchainFormats(void *args) { @@ -1716,19 +2136,31 @@ static NTSTATUS thunk64_xrEnumerateViveTrackerPathsHTCX(void *args) TRACE("%p, %u, %p, %p\n", params->instance, params->pathCapacityInput, params->pathCountOutput, params->paths); - params->result = g_xr_host_instance_dispatch_table.p_xrEnumerateViveTrackerPathsHTCX(wine_instance_from_handle(params->instance)->host_instance, params->pathCapacityInput, params->pathCountOutput, params->paths); + params->result = g_xr_host_instance_dispatch_table.p_xrEnumerateViveTrackerPathsHTCX(wine_instance_from_handle(params->instance)->host_instance, params->pathCapacityInput, params->pathCountOutput, params->paths); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrEraseSpaceFB(void *args) +{ + struct xrEraseSpaceFB_params *params = args; + + TRACE("%p, %p, %p\n", params->session, params->info, params->requestId); + + params->result = g_xr_host_instance_dispatch_table.p_xrEraseSpaceFB(wine_session_from_handle(params->session)->host_session, params->info, params->requestId); return STATUS_SUCCESS; } #endif /* _WIN64 */ #ifdef _WIN64 -static NTSTATUS thunk64_xrEraseSpaceFB(void *args) +static NTSTATUS thunk64_xrEraseSpacesMETA(void *args) { - struct xrEraseSpaceFB_params *params = args; + struct xrEraseSpacesMETA_params *params = args; TRACE("%p, %p, %p\n", params->session, params->info, params->requestId); - params->result = g_xr_host_instance_dispatch_table.p_xrEraseSpaceFB(wine_session_from_handle(params->session)->host_session, params->info, params->requestId); + params->result = g_xr_host_instance_dispatch_table.p_xrEraseSpacesMETA(wine_session_from_handle(params->session)->host_session, params->info, params->requestId); return STATUS_SUCCESS; } #endif /* _WIN64 */ @@ -1805,6 +2237,30 @@ static NTSTATUS thunk64_xrGetActionStateVector2f(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrGetAllTrackablesANDROID(void *args) +{ + struct xrGetAllTrackablesANDROID_params *params = args; + + TRACE("%p, %u, %p, %p\n", params->trackableTracker, params->trackableCapacityInput, params->trackableCountOutput, params->trackables); + + params->result = g_xr_host_instance_dispatch_table.p_xrGetAllTrackablesANDROID(params->trackableTracker, params->trackableCapacityInput, params->trackableCountOutput, params->trackables); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrGetAnchorPersistStateANDROID(void *args) +{ + struct xrGetAnchorPersistStateANDROID_params *params = args; + + TRACE("%p, %p, %p\n", params->handle, params->anchorId, params->persistState); + + params->result = g_xr_host_instance_dispatch_table.p_xrGetAnchorPersistStateANDROID(params->handle, params->anchorId, params->persistState); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrGetAnchorUuidBD(void *args) { @@ -2165,6 +2621,18 @@ static NTSTATUS thunk64_xrGetOpenGLGraphicsRequirementsKHR(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrGetPassthroughCameraStateANDROID(void *args) +{ + struct xrGetPassthroughCameraStateANDROID_params *params = args; + + TRACE("%p, %p, %p\n", params->session, params->getInfo, params->cameraStateOutput); + + params->result = g_xr_host_instance_dispatch_table.p_xrGetPassthroughCameraStateANDROID(wine_session_from_handle(params->session)->host_session, params->getInfo, params->cameraStateOutput); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrGetPassthroughPreferencesMETA(void *args) { @@ -2261,6 +2729,54 @@ static NTSTATUS thunk64_xrGetReferenceSpaceBoundsRect(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrGetRenderModelAssetDataEXT(void *args) +{ + struct xrGetRenderModelAssetDataEXT_params *params = args; + + TRACE("%p, %p, %p\n", params->asset, params->getInfo, params->buffer); + + params->result = g_xr_host_instance_dispatch_table.p_xrGetRenderModelAssetDataEXT(params->asset, params->getInfo, params->buffer); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrGetRenderModelAssetPropertiesEXT(void *args) +{ + struct xrGetRenderModelAssetPropertiesEXT_params *params = args; + + TRACE("%p, %p, %p\n", params->asset, params->getInfo, params->properties); + + params->result = g_xr_host_instance_dispatch_table.p_xrGetRenderModelAssetPropertiesEXT(params->asset, params->getInfo, params->properties); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrGetRenderModelPoseTopLevelUserPathEXT(void *args) +{ + struct xrGetRenderModelPoseTopLevelUserPathEXT_params *params = args; + + TRACE("%p, %p, %p\n", params->renderModel, params->info, params->topLevelUserPath); + + params->result = g_xr_host_instance_dispatch_table.p_xrGetRenderModelPoseTopLevelUserPathEXT(params->renderModel, params->info, params->topLevelUserPath); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrGetRenderModelPropertiesEXT(void *args) +{ + struct xrGetRenderModelPropertiesEXT_params *params = args; + + TRACE("%p, %p, %p\n", params->renderModel, params->getInfo, params->properties); + + params->result = g_xr_host_instance_dispatch_table.p_xrGetRenderModelPropertiesEXT(params->renderModel, params->getInfo, params->properties); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrGetRenderModelPropertiesFB(void *args) { @@ -2273,6 +2789,18 @@ static NTSTATUS thunk64_xrGetRenderModelPropertiesFB(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrGetRenderModelStateEXT(void *args) +{ + struct xrGetRenderModelStateEXT_params *params = args; + + TRACE("%p, %p, %p\n", params->renderModel, params->getInfo, params->state); + + params->result = g_xr_host_instance_dispatch_table.p_xrGetRenderModelStateEXT(params->renderModel, params->getInfo, params->state); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrGetSceneComponentsMSFT(void *args) { @@ -2501,6 +3029,90 @@ static NTSTATUS thunk64_xrGetSpatialAnchorStateML(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrGetSpatialBufferFloatEXT(void *args) +{ + struct xrGetSpatialBufferFloatEXT_params *params = args; + + TRACE("%p, %p, %u, %p, %p\n", params->snapshot, params->info, params->bufferCapacityInput, params->bufferCountOutput, params->buffer); + + params->result = g_xr_host_instance_dispatch_table.p_xrGetSpatialBufferFloatEXT(params->snapshot, params->info, params->bufferCapacityInput, params->bufferCountOutput, params->buffer); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrGetSpatialBufferStringEXT(void *args) +{ + struct xrGetSpatialBufferStringEXT_params *params = args; + + TRACE("%p, %p, %u, %p, %p\n", params->snapshot, params->info, params->bufferCapacityInput, params->bufferCountOutput, params->buffer); + + params->result = g_xr_host_instance_dispatch_table.p_xrGetSpatialBufferStringEXT(params->snapshot, params->info, params->bufferCapacityInput, params->bufferCountOutput, params->buffer); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrGetSpatialBufferUint16EXT(void *args) +{ + struct xrGetSpatialBufferUint16EXT_params *params = args; + + TRACE("%p, %p, %u, %p, %p\n", params->snapshot, params->info, params->bufferCapacityInput, params->bufferCountOutput, params->buffer); + + params->result = g_xr_host_instance_dispatch_table.p_xrGetSpatialBufferUint16EXT(params->snapshot, params->info, params->bufferCapacityInput, params->bufferCountOutput, params->buffer); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrGetSpatialBufferUint32EXT(void *args) +{ + struct xrGetSpatialBufferUint32EXT_params *params = args; + + TRACE("%p, %p, %u, %p, %p\n", params->snapshot, params->info, params->bufferCapacityInput, params->bufferCountOutput, params->buffer); + + params->result = g_xr_host_instance_dispatch_table.p_xrGetSpatialBufferUint32EXT(params->snapshot, params->info, params->bufferCapacityInput, params->bufferCountOutput, params->buffer); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrGetSpatialBufferUint8EXT(void *args) +{ + struct xrGetSpatialBufferUint8EXT_params *params = args; + + TRACE("%p, %p, %u, %p, %p\n", params->snapshot, params->info, params->bufferCapacityInput, params->bufferCountOutput, params->buffer); + + params->result = g_xr_host_instance_dispatch_table.p_xrGetSpatialBufferUint8EXT(params->snapshot, params->info, params->bufferCapacityInput, params->bufferCountOutput, params->buffer); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrGetSpatialBufferVector2fEXT(void *args) +{ + struct xrGetSpatialBufferVector2fEXT_params *params = args; + + TRACE("%p, %p, %u, %p, %p\n", params->snapshot, params->info, params->bufferCapacityInput, params->bufferCountOutput, params->buffer); + + params->result = g_xr_host_instance_dispatch_table.p_xrGetSpatialBufferVector2fEXT(params->snapshot, params->info, params->bufferCapacityInput, params->bufferCountOutput, params->buffer); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrGetSpatialBufferVector3fEXT(void *args) +{ + struct xrGetSpatialBufferVector3fEXT_params *params = args; + + TRACE("%p, %p, %u, %p, %p\n", params->snapshot, params->info, params->bufferCapacityInput, params->bufferCountOutput, params->buffer); + + params->result = g_xr_host_instance_dispatch_table.p_xrGetSpatialBufferVector3fEXT(params->snapshot, params->info, params->bufferCapacityInput, params->bufferCountOutput, params->buffer); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrGetSpatialEntityComponentDataBD(void *args) { @@ -2573,6 +3185,42 @@ static NTSTATUS thunk64_xrGetSystemProperties(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrGetTrackableMarkerANDROID(void *args) +{ + struct xrGetTrackableMarkerANDROID_params *params = args; + + TRACE("%p, %p, %p\n", params->tracker, params->getInfo, params->markerOutput); + + params->result = g_xr_host_instance_dispatch_table.p_xrGetTrackableMarkerANDROID(params->tracker, params->getInfo, params->markerOutput); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrGetTrackableObjectANDROID(void *args) +{ + struct xrGetTrackableObjectANDROID_params *params = args; + + TRACE("%p, %p, %p\n", params->tracker, params->getInfo, params->objectOutput); + + params->result = g_xr_host_instance_dispatch_table.p_xrGetTrackableObjectANDROID(params->tracker, params->getInfo, params->objectOutput); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrGetTrackablePlaneANDROID(void *args) +{ + struct xrGetTrackablePlaneANDROID_params *params = args; + + TRACE("%p, %p, %p\n", params->trackableTracker, params->getInfo, params->planeOutput); + + params->result = g_xr_host_instance_dispatch_table.p_xrGetTrackablePlaneANDROID(params->trackableTracker, params->getInfo, params->planeOutput); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrGetViewConfigurationProperties(void *args) { @@ -2957,6 +3605,18 @@ static NTSTATUS thunk64_xrPathToString(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrPauseSimultaneousHandsAndControllersTrackingMETA(void *args) +{ + struct xrPauseSimultaneousHandsAndControllersTrackingMETA_params *params = args; + + TRACE("%p, %p\n", params->session, params->pauseInfo); + + params->result = g_xr_host_instance_dispatch_table.p_xrPauseSimultaneousHandsAndControllersTrackingMETA(wine_session_from_handle(params->session)->host_session, params->pauseInfo); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrPerfSettingsSetPerformanceLevelEXT(void *args) { @@ -2969,6 +3629,18 @@ static NTSTATUS thunk64_xrPerfSettingsSetPerformanceLevelEXT(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrPersistAnchorANDROID(void *args) +{ + struct xrPersistAnchorANDROID_params *params = args; + + TRACE("%p, %p, %p\n", params->handle, params->persistedInfo, params->anchorIdOutput); + + params->result = g_xr_host_instance_dispatch_table.p_xrPersistAnchorANDROID(params->handle, params->persistedInfo, params->anchorIdOutput); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrPersistSpatialAnchorAsyncBD(void *args) { @@ -3005,6 +3677,30 @@ static NTSTATUS thunk64_xrPersistSpatialAnchorMSFT(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrPersistSpatialEntityAsyncEXT(void *args) +{ + struct xrPersistSpatialEntityAsyncEXT_params *params = args; + + TRACE("%p, %p, %p\n", params->persistenceContext, params->persistInfo, params->future); + + params->result = g_xr_host_instance_dispatch_table.p_xrPersistSpatialEntityAsyncEXT(params->persistenceContext, params->persistInfo, params->future); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrPersistSpatialEntityCompleteEXT(void *args) +{ + struct xrPersistSpatialEntityCompleteEXT_params *params = args; + + TRACE("%p, %p, %p\n", params->persistenceContext, params->future, params->completion); + + params->result = g_xr_host_instance_dispatch_table.p_xrPersistSpatialEntityCompleteEXT(params->persistenceContext, params->future, params->completion); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrPollEvent(void *args) { @@ -3137,6 +3833,18 @@ static NTSTATUS thunk64_xrQuerySpatialAnchorsCompleteML(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrQuerySpatialComponentDataEXT(void *args) +{ + struct xrQuerySpatialComponentDataEXT_params *params = args; + + TRACE("%p, %p, %p\n", params->snapshot, params->queryCondition, params->queryResult); + + params->result = g_xr_host_instance_dispatch_table.p_xrQuerySpatialComponentDataEXT(params->snapshot, params->queryCondition, params->queryResult); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrQuerySystemTrackedKeyboardFB(void *args) { @@ -3149,6 +3857,18 @@ static NTSTATUS thunk64_xrQuerySystemTrackedKeyboardFB(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrRaycastANDROID(void *args) +{ + struct xrRaycastANDROID_params *params = args; + + TRACE("%p, %p, %p\n", params->session, params->rayInfo, params->results); + + params->result = g_xr_host_instance_dispatch_table.p_xrRaycastANDROID(wine_session_from_handle(params->session)->host_session, params->rayInfo, params->results); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrReleaseSwapchainImage(void *args) { @@ -3257,6 +3977,18 @@ static NTSTATUS thunk64_xrRequestWorldMeshStateCompleteML(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrResetBodyTrackingCalibrationMETA(void *args) +{ + struct xrResetBodyTrackingCalibrationMETA_params *params = args; + + TRACE("%p\n", params->bodyTracker); + + params->result = g_xr_host_instance_dispatch_table.p_xrResetBodyTrackingCalibrationMETA(params->bodyTracker); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrResultToString(void *args) { @@ -3269,6 +4001,18 @@ static NTSTATUS thunk64_xrResultToString(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrResumeSimultaneousHandsAndControllersTrackingMETA(void *args) +{ + struct xrResumeSimultaneousHandsAndControllersTrackingMETA_params *params = args; + + TRACE("%p, %p\n", params->session, params->resumeInfo); + + params->result = g_xr_host_instance_dispatch_table.p_xrResumeSimultaneousHandsAndControllersTrackingMETA(wine_session_from_handle(params->session)->host_session, params->resumeInfo); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrRetrieveSpaceQueryResultsFB(void *args) { @@ -3305,6 +4049,18 @@ static NTSTATUS thunk64_xrSaveSpaceListFB(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrSaveSpacesMETA(void *args) +{ + struct xrSaveSpacesMETA_params *params = args; + + TRACE("%p, %p, %p\n", params->session, params->info, params->requestId); + + params->result = g_xr_host_instance_dispatch_table.p_xrSaveSpacesMETA(wine_session_from_handle(params->session)->host_session, params->info, params->requestId); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrSendVirtualKeyboardInputMETA(void *args) { @@ -3749,6 +4505,18 @@ static NTSTATUS thunk64_xrStructureTypeToString2KHR(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrSuggestBodyTrackingCalibrationOverrideMETA(void *args) +{ + struct xrSuggestBodyTrackingCalibrationOverrideMETA_params *params = args; + + TRACE("%p, %p\n", params->bodyTracker, params->calibrationInfo); + + params->result = g_xr_host_instance_dispatch_table.p_xrSuggestBodyTrackingCalibrationOverrideMETA(params->bodyTracker, params->calibrationInfo); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrSuggestInteractionProfileBindings(void *args) { @@ -3881,6 +4649,18 @@ static NTSTATUS thunk64_xrTryCreateSpatialGraphStaticNodeBindingMSFT(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrUnpersistAnchorANDROID(void *args) +{ + struct xrUnpersistAnchorANDROID_params *params = args; + + TRACE("%p, %p\n", params->handle, params->anchorId); + + params->result = g_xr_host_instance_dispatch_table.p_xrUnpersistAnchorANDROID(params->handle, params->anchorId); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrUnpersistSpatialAnchorAsyncBD(void *args) { @@ -3917,6 +4697,30 @@ static NTSTATUS thunk64_xrUnpersistSpatialAnchorMSFT(void *args) } #endif /* _WIN64 */ +#ifdef _WIN64 +static NTSTATUS thunk64_xrUnpersistSpatialEntityAsyncEXT(void *args) +{ + struct xrUnpersistSpatialEntityAsyncEXT_params *params = args; + + TRACE("%p, %p, %p\n", params->persistenceContext, params->unpersistInfo, params->future); + + params->result = g_xr_host_instance_dispatch_table.p_xrUnpersistSpatialEntityAsyncEXT(params->persistenceContext, params->unpersistInfo, params->future); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +#ifdef _WIN64 +static NTSTATUS thunk64_xrUnpersistSpatialEntityCompleteEXT(void *args) +{ + struct xrUnpersistSpatialEntityCompleteEXT_params *params = args; + + TRACE("%p, %p, %p\n", params->persistenceContext, params->future, params->completion); + + params->result = g_xr_host_instance_dispatch_table.p_xrUnpersistSpatialEntityCompleteEXT(params->persistenceContext, params->future, params->completion); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + #ifdef _WIN64 static NTSTATUS thunk64_xrUpdateHandMeshMSFT(void *args) { @@ -4004,11 +4808,19 @@ static NTSTATUS thunk64_xrWaitSwapchainImage(void *args) static const char * const xr_extensions[] = { "XR_ALMALENCE_digital_lens_control", + "XR_ANDROID_device_anchor_persistence", + "XR_ANDROID_passthrough_camera_state", + "XR_ANDROID_raycast", + "XR_ANDROID_trackables", + "XR_ANDROID_trackables_marker", + "XR_ANDROID_trackables_object", "XR_BD_body_tracking", "XR_BD_controller_interaction", + "XR_BD_future_progress", "XR_BD_spatial_anchor", "XR_BD_spatial_anchor_sharing", "XR_BD_spatial_mesh", + "XR_BD_spatial_plane", "XR_BD_spatial_scene", "XR_BD_spatial_sensing", "XR_EPIC_view_configuration_fov", @@ -4025,11 +4837,20 @@ static const char * const xr_extensions[] = "XR_EXT_hand_tracking", "XR_EXT_hand_tracking_data_source", "XR_EXT_hp_mixed_reality_controller", + "XR_EXT_interaction_render_model", + "XR_EXT_loader_init_properties", "XR_EXT_local_floor", "XR_EXT_palm_pose", "XR_EXT_performance_settings", "XR_EXT_plane_detection", + "XR_EXT_render_model", "XR_EXT_samsung_odyssey_controller", + "XR_EXT_spatial_anchor", + "XR_EXT_spatial_entity", + "XR_EXT_spatial_marker_tracking", + "XR_EXT_spatial_persistence", + "XR_EXT_spatial_persistence_operations", + "XR_EXT_spatial_plane_tracking", "XR_EXT_thermal_query", "XR_EXT_user_presence", "XR_EXT_uuid", @@ -4104,6 +4925,8 @@ static const char * const xr_extensions[] = "XR_KHR_win32_convert_performance_counter_time", "XR_LOGITECH_mx_ink_stylus_interaction", "XR_META_automatic_layer_filter", + "XR_META_body_tracking_calibration", + "XR_META_body_tracking_full_body", "XR_META_colocation_discovery", "XR_META_detached_controllers", "XR_META_environment_depth", @@ -4116,8 +4939,10 @@ static const char * const xr_extensions[] = "XR_META_passthrough_preferences", "XR_META_performance_metrics", "XR_META_recommended_layer_resolution", + "XR_META_simultaneous_hands_and_controllers", "XR_META_spatial_entity_group_sharing", "XR_META_spatial_entity_mesh", + "XR_META_spatial_entity_persistence", "XR_META_spatial_entity_sharing", "XR_META_touch_controller_plus", "XR_META_virtual_keyboard", @@ -4210,10 +5035,12 @@ const unixlib_entry_t __wine_unix_call_funcs[] = thunk64_xrCreateAction, thunk64_xrCreateActionSet, thunk64_xrCreateActionSpace, + thunk64_xrCreateAnchorSpaceANDROID, thunk64_xrCreateAnchorSpaceBD, thunk64_xrCreateBodyTrackerBD, thunk64_xrCreateBodyTrackerFB, thunk64_xrCreateBodyTrackerHTC, + thunk64_xrCreateDeviceAnchorPersistenceANDROID, thunk64_xrCreateEnvironmentDepthProviderMETA, thunk64_xrCreateEnvironmentDepthSwapchainMETA, thunk64_xrCreateExportedLocalizationMapML, @@ -4235,8 +5062,12 @@ const unixlib_entry_t __wine_unix_call_funcs[] = thunk64_xrCreatePassthroughFB, thunk64_xrCreatePassthroughHTC, thunk64_xrCreatePassthroughLayerFB, + thunk64_xrCreatePersistedAnchorSpaceANDROID, thunk64_xrCreatePlaneDetectorEXT, thunk64_xrCreateReferenceSpace, + thunk64_xrCreateRenderModelAssetEXT, + thunk64_xrCreateRenderModelEXT, + thunk64_xrCreateRenderModelSpaceEXT, thunk64_xrCreateSceneMSFT, thunk64_xrCreateSceneObserverMSFT, thunk64_xrCreateSenseDataProviderBD, @@ -4244,6 +5075,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] = thunk64_xrCreateSpaceUserFB, thunk64_xrCreateSpatialAnchorAsyncBD, thunk64_xrCreateSpatialAnchorCompleteBD, + thunk64_xrCreateSpatialAnchorEXT, thunk64_xrCreateSpatialAnchorFB, thunk64_xrCreateSpatialAnchorFromPersistedNameMSFT, thunk64_xrCreateSpatialAnchorHTC, @@ -4253,9 +5085,18 @@ const unixlib_entry_t __wine_unix_call_funcs[] = thunk64_xrCreateSpatialAnchorsAsyncML, thunk64_xrCreateSpatialAnchorsCompleteML, thunk64_xrCreateSpatialAnchorsStorageML, + thunk64_xrCreateSpatialContextAsyncEXT, + thunk64_xrCreateSpatialContextCompleteEXT, + thunk64_xrCreateSpatialDiscoverySnapshotAsyncEXT, + thunk64_xrCreateSpatialDiscoverySnapshotCompleteEXT, thunk64_xrCreateSpatialEntityAnchorBD, + thunk64_xrCreateSpatialEntityFromIdEXT, thunk64_xrCreateSpatialGraphNodeSpaceMSFT, + thunk64_xrCreateSpatialPersistenceContextAsyncEXT, + thunk64_xrCreateSpatialPersistenceContextCompleteEXT, + thunk64_xrCreateSpatialUpdateSnapshotEXT, thunk64_xrCreateSwapchain, + thunk64_xrCreateTrackableTrackerANDROID, thunk64_xrCreateTriangleMeshFB, thunk64_xrCreateVirtualKeyboardMETA, thunk64_xrCreateVirtualKeyboardSpaceMETA, @@ -4269,6 +5110,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] = thunk64_xrDestroyBodyTrackerBD, thunk64_xrDestroyBodyTrackerFB, thunk64_xrDestroyBodyTrackerHTC, + thunk64_xrDestroyDeviceAnchorPersistenceANDROID, thunk64_xrDestroyEnvironmentDepthProviderMETA, thunk64_xrDestroyEnvironmentDepthSwapchainMETA, thunk64_xrDestroyExportedLocalizationMapML, @@ -4287,6 +5129,8 @@ const unixlib_entry_t __wine_unix_call_funcs[] = thunk64_xrDestroyPassthroughHTC, thunk64_xrDestroyPassthroughLayerFB, thunk64_xrDestroyPlaneDetectorEXT, + thunk64_xrDestroyRenderModelAssetEXT, + thunk64_xrDestroyRenderModelEXT, thunk64_xrDestroySceneMSFT, thunk64_xrDestroySceneObserverMSFT, thunk64_xrDestroySenseDataProviderBD, @@ -4297,8 +5141,13 @@ const unixlib_entry_t __wine_unix_call_funcs[] = thunk64_xrDestroySpatialAnchorMSFT, thunk64_xrDestroySpatialAnchorStoreConnectionMSFT, thunk64_xrDestroySpatialAnchorsStorageML, + thunk64_xrDestroySpatialContextEXT, + thunk64_xrDestroySpatialEntityEXT, thunk64_xrDestroySpatialGraphNodeBindingMSFT, + thunk64_xrDestroySpatialPersistenceContextEXT, + thunk64_xrDestroySpatialSnapshotEXT, thunk64_xrDestroySwapchain, + thunk64_xrDestroyTrackableTrackerANDROID, thunk64_xrDestroyTriangleMeshFB, thunk64_xrDestroyVirtualKeyboardMETA, thunk64_xrDestroyWorldMeshDetectorML, @@ -4316,26 +5165,40 @@ const unixlib_entry_t __wine_unix_call_funcs[] = thunk64_xrEnumerateEnvironmentDepthSwapchainImagesMETA, thunk64_xrEnumerateExternalCamerasOCULUS, thunk64_xrEnumerateInstanceExtensionProperties, + thunk64_xrEnumerateInteractionRenderModelIdsEXT, thunk64_xrEnumeratePerformanceMetricsCounterPathsMETA, + thunk64_xrEnumeratePersistedAnchorsANDROID, thunk64_xrEnumeratePersistedSpatialAnchorNamesMSFT, + thunk64_xrEnumerateRaycastSupportedTrackableTypesANDROID, thunk64_xrEnumerateReferenceSpaces, thunk64_xrEnumerateRenderModelPathsFB, + thunk64_xrEnumerateRenderModelSubactionPathsEXT, thunk64_xrEnumerateReprojectionModesMSFT, thunk64_xrEnumerateSceneComputeFeaturesMSFT, thunk64_xrEnumerateSpaceSupportedComponentsFB, + thunk64_xrEnumerateSpatialCapabilitiesEXT, + thunk64_xrEnumerateSpatialCapabilityComponentTypesEXT, + thunk64_xrEnumerateSpatialCapabilityFeaturesEXT, thunk64_xrEnumerateSpatialEntityComponentTypesBD, + thunk64_xrEnumerateSpatialPersistenceScopesEXT, + thunk64_xrEnumerateSupportedAnchorTrackableTypesANDROID, + thunk64_xrEnumerateSupportedPersistenceAnchorTypesANDROID, + thunk64_xrEnumerateSupportedTrackableTypesANDROID, thunk64_xrEnumerateSwapchainFormats, thunk64_xrEnumerateSwapchainImages, thunk64_xrEnumerateViewConfigurationViews, thunk64_xrEnumerateViewConfigurations, thunk64_xrEnumerateViveTrackerPathsHTCX, thunk64_xrEraseSpaceFB, + thunk64_xrEraseSpacesMETA, thunk64_xrFreeWorldMeshBufferML, thunk64_xrGeometryInstanceSetTransformFB, thunk64_xrGetActionStateBoolean, thunk64_xrGetActionStateFloat, thunk64_xrGetActionStatePose, thunk64_xrGetActionStateVector2f, + thunk64_xrGetAllTrackablesANDROID, + thunk64_xrGetAnchorPersistStateANDROID, thunk64_xrGetAnchorUuidBD, thunk64_xrGetAudioInputDeviceGuidOculus, thunk64_xrGetAudioOutputDeviceGuidOculus, @@ -4366,6 +5229,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] = thunk64_xrGetMarkerStringML, thunk64_xrGetMarkersML, thunk64_xrGetOpenGLGraphicsRequirementsKHR, + thunk64_xrGetPassthroughCameraStateANDROID, thunk64_xrGetPassthroughPreferencesMETA, thunk64_xrGetPerformanceMetricsStateMETA, thunk64_xrGetPlaneDetectionStateEXT, @@ -4374,7 +5238,12 @@ const unixlib_entry_t __wine_unix_call_funcs[] = thunk64_xrGetQueriedSenseDataBD, thunk64_xrGetRecommendedLayerResolutionMETA, thunk64_xrGetReferenceSpaceBoundsRect, + thunk64_xrGetRenderModelAssetDataEXT, + thunk64_xrGetRenderModelAssetPropertiesEXT, + thunk64_xrGetRenderModelPoseTopLevelUserPathEXT, + thunk64_xrGetRenderModelPropertiesEXT, thunk64_xrGetRenderModelPropertiesFB, + thunk64_xrGetRenderModelStateEXT, thunk64_xrGetSceneComponentsMSFT, thunk64_xrGetSceneComputeStateMSFT, thunk64_xrGetSceneMarkerDecodedStringMSFT, @@ -4394,12 +5263,22 @@ const unixlib_entry_t __wine_unix_call_funcs[] = thunk64_xrGetSpaceUuidFB, thunk64_xrGetSpatialAnchorNameHTC, thunk64_xrGetSpatialAnchorStateML, + thunk64_xrGetSpatialBufferFloatEXT, + thunk64_xrGetSpatialBufferStringEXT, + thunk64_xrGetSpatialBufferUint16EXT, + thunk64_xrGetSpatialBufferUint32EXT, + thunk64_xrGetSpatialBufferUint8EXT, + thunk64_xrGetSpatialBufferVector2fEXT, + thunk64_xrGetSpatialBufferVector3fEXT, thunk64_xrGetSpatialEntityComponentDataBD, thunk64_xrGetSpatialEntityUuidBD, thunk64_xrGetSpatialGraphNodeBindingPropertiesMSFT, thunk64_xrGetSwapchainStateFB, thunk64_xrGetSystem, thunk64_xrGetSystemProperties, + thunk64_xrGetTrackableMarkerANDROID, + thunk64_xrGetTrackableObjectANDROID, + thunk64_xrGetTrackablePlaneANDROID, thunk64_xrGetViewConfigurationProperties, thunk64_xrGetVirtualKeyboardDirtyTexturesMETA, thunk64_xrGetVirtualKeyboardModelAnimationStatesMETA, @@ -4432,10 +5311,14 @@ const unixlib_entry_t __wine_unix_call_funcs[] = thunk64_xrPassthroughPauseFB, thunk64_xrPassthroughStartFB, thunk64_xrPathToString, + thunk64_xrPauseSimultaneousHandsAndControllersTrackingMETA, thunk64_xrPerfSettingsSetPerformanceLevelEXT, + thunk64_xrPersistAnchorANDROID, thunk64_xrPersistSpatialAnchorAsyncBD, thunk64_xrPersistSpatialAnchorCompleteBD, thunk64_xrPersistSpatialAnchorMSFT, + thunk64_xrPersistSpatialEntityAsyncEXT, + thunk64_xrPersistSpatialEntityCompleteEXT, thunk64_xrPollEvent, thunk64_xrPollFutureEXT, thunk64_xrPublishSpatialAnchorsAsyncML, @@ -4447,7 +5330,9 @@ const unixlib_entry_t __wine_unix_call_funcs[] = thunk64_xrQuerySpacesFB, thunk64_xrQuerySpatialAnchorsAsyncML, thunk64_xrQuerySpatialAnchorsCompleteML, + thunk64_xrQuerySpatialComponentDataEXT, thunk64_xrQuerySystemTrackedKeyboardFB, + thunk64_xrRaycastANDROID, thunk64_xrReleaseSwapchainImage, thunk64_xrRequestDisplayRefreshRateFB, thunk64_xrRequestExitSession, @@ -4457,10 +5342,13 @@ const unixlib_entry_t __wine_unix_call_funcs[] = thunk64_xrRequestWorldMeshCompleteML, thunk64_xrRequestWorldMeshStateAsyncML, thunk64_xrRequestWorldMeshStateCompleteML, + thunk64_xrResetBodyTrackingCalibrationMETA, thunk64_xrResultToString, + thunk64_xrResumeSimultaneousHandsAndControllersTrackingMETA, thunk64_xrRetrieveSpaceQueryResultsFB, thunk64_xrSaveSpaceFB, thunk64_xrSaveSpaceListFB, + thunk64_xrSaveSpacesMETA, thunk64_xrSendVirtualKeyboardInputMETA, thunk64_xrSetColorSpaceFB, thunk64_xrSetDigitalLensControlALMALENCE, @@ -4498,6 +5386,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] = thunk64_xrStringToPath, thunk64_xrStructureTypeToString, thunk64_xrStructureTypeToString2KHR, + thunk64_xrSuggestBodyTrackingCalibrationOverrideMETA, thunk64_xrSuggestInteractionProfileBindings, thunk64_xrSuggestVirtualKeyboardLocationMETA, thunk64_xrSyncActions, @@ -4509,9 +5398,12 @@ const unixlib_entry_t __wine_unix_call_funcs[] = thunk64_xrTriangleMeshGetIndexBufferFB, thunk64_xrTriangleMeshGetVertexBufferFB, thunk64_xrTryCreateSpatialGraphStaticNodeBindingMSFT, + thunk64_xrUnpersistAnchorANDROID, thunk64_xrUnpersistSpatialAnchorAsyncBD, thunk64_xrUnpersistSpatialAnchorCompleteBD, thunk64_xrUnpersistSpatialAnchorMSFT, + thunk64_xrUnpersistSpatialEntityAsyncEXT, + thunk64_xrUnpersistSpatialEntityCompleteEXT, thunk64_xrUpdateHandMeshMSFT, thunk64_xrUpdatePassthroughColorLutMETA, thunk64_xrUpdateSpatialAnchorsExpirationAsyncML, diff --git a/wineopenxr/openxr_thunks.h b/wineopenxr/openxr_thunks.h index 1d4474fcab..ef753ffb4e 100644 --- a/wineopenxr/openxr_thunks.h +++ b/wineopenxr/openxr_thunks.h @@ -54,11 +54,13 @@ struct openxr_instance_funcs XrResult (*p_xrCreateAction)(XrActionSet, const XrActionCreateInfo *, XrAction *); XrResult (*p_xrCreateActionSet)(XrInstance, const XrActionSetCreateInfo *, XrActionSet *); XrResult (*p_xrCreateActionSpace)(XrSession, const XrActionSpaceCreateInfo *, XrSpace *); + XrResult (*p_xrCreateAnchorSpaceANDROID)(XrSession, const XrAnchorSpaceCreateInfoANDROID *, XrSpace *); XrResult (*p_xrCreateAnchorSpaceBD)(XrSession, const XrAnchorSpaceCreateInfoBD *, XrSpace *); XrResult (*p_xrCreateApiLayerInstance)(const XrInstanceCreateInfo *, const XrApiLayerCreateInfo *, XrInstance *); XrResult (*p_xrCreateBodyTrackerBD)(XrSession, const XrBodyTrackerCreateInfoBD *, XrBodyTrackerBD *); XrResult (*p_xrCreateBodyTrackerFB)(XrSession, const XrBodyTrackerCreateInfoFB *, XrBodyTrackerFB *); XrResult (*p_xrCreateBodyTrackerHTC)(XrSession, const XrBodyTrackerCreateInfoHTC *, XrBodyTrackerHTC *); + XrResult (*p_xrCreateDeviceAnchorPersistenceANDROID)(XrSession, const XrDeviceAnchorPersistenceCreateInfoANDROID *, XrDeviceAnchorPersistenceANDROID *); XrResult (*p_xrCreateEnvironmentDepthProviderMETA)(XrSession, const XrEnvironmentDepthProviderCreateInfoMETA *, XrEnvironmentDepthProviderMETA *); XrResult (*p_xrCreateEnvironmentDepthSwapchainMETA)(XrEnvironmentDepthProviderMETA, const XrEnvironmentDepthSwapchainCreateInfoMETA *, XrEnvironmentDepthSwapchainMETA *); XrResult (*p_xrCreateExportedLocalizationMapML)(XrSession, const XrUuidEXT *, XrExportedLocalizationMapML *); @@ -79,8 +81,12 @@ struct openxr_instance_funcs XrResult (*p_xrCreatePassthroughFB)(XrSession, const XrPassthroughCreateInfoFB *, XrPassthroughFB *); XrResult (*p_xrCreatePassthroughHTC)(XrSession, const XrPassthroughCreateInfoHTC *, XrPassthroughHTC *); XrResult (*p_xrCreatePassthroughLayerFB)(XrSession, const XrPassthroughLayerCreateInfoFB *, XrPassthroughLayerFB *); + XrResult (*p_xrCreatePersistedAnchorSpaceANDROID)(XrDeviceAnchorPersistenceANDROID, const XrPersistedAnchorSpaceCreateInfoANDROID *, XrSpace *); XrResult (*p_xrCreatePlaneDetectorEXT)(XrSession, const XrPlaneDetectorCreateInfoEXT *, XrPlaneDetectorEXT *); XrResult (*p_xrCreateReferenceSpace)(XrSession, const XrReferenceSpaceCreateInfo *, XrSpace *); + XrResult (*p_xrCreateRenderModelAssetEXT)(XrSession, const XrRenderModelAssetCreateInfoEXT *, XrRenderModelAssetEXT *); + XrResult (*p_xrCreateRenderModelEXT)(XrSession, const XrRenderModelCreateInfoEXT *, XrRenderModelEXT *); + XrResult (*p_xrCreateRenderModelSpaceEXT)(XrSession, const XrRenderModelSpaceCreateInfoEXT *, XrSpace *); XrResult (*p_xrCreateSceneMSFT)(XrSceneObserverMSFT, const XrSceneCreateInfoMSFT *, XrSceneMSFT *); XrResult (*p_xrCreateSceneObserverMSFT)(XrSession, const XrSceneObserverCreateInfoMSFT *, XrSceneObserverMSFT *); XrResult (*p_xrCreateSenseDataProviderBD)(XrSession, const XrSenseDataProviderCreateInfoBD *, XrSenseDataProviderBD *); @@ -88,6 +94,7 @@ struct openxr_instance_funcs XrResult (*p_xrCreateSpaceUserFB)(XrSession, const XrSpaceUserCreateInfoFB *, XrSpaceUserFB *); XrResult (*p_xrCreateSpatialAnchorAsyncBD)(XrSenseDataProviderBD, const XrSpatialAnchorCreateInfoBD *, XrFutureEXT *); XrResult (*p_xrCreateSpatialAnchorCompleteBD)(XrSenseDataProviderBD, XrFutureEXT, XrSpatialAnchorCreateCompletionBD *); + XrResult (*p_xrCreateSpatialAnchorEXT)(XrSpatialContextEXT, const XrSpatialAnchorCreateInfoEXT *, XrSpatialEntityIdEXT *, XrSpatialEntityEXT *); XrResult (*p_xrCreateSpatialAnchorFB)(XrSession, const XrSpatialAnchorCreateInfoFB *, XrAsyncRequestIdFB *); XrResult (*p_xrCreateSpatialAnchorFromPersistedNameMSFT)(XrSession, const XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT *, XrSpatialAnchorMSFT *); XrResult (*p_xrCreateSpatialAnchorHTC)(XrSession, const XrSpatialAnchorCreateInfoHTC *, XrSpace *); @@ -97,9 +104,18 @@ struct openxr_instance_funcs XrResult (*p_xrCreateSpatialAnchorsAsyncML)(XrSession, const XrSpatialAnchorsCreateInfoBaseHeaderML *, XrFutureEXT *); XrResult (*p_xrCreateSpatialAnchorsCompleteML)(XrSession, XrFutureEXT, XrCreateSpatialAnchorsCompletionML *); XrResult (*p_xrCreateSpatialAnchorsStorageML)(XrSession, const XrSpatialAnchorsCreateStorageInfoML *, XrSpatialAnchorsStorageML *); + XrResult (*p_xrCreateSpatialContextAsyncEXT)(XrSession, const XrSpatialContextCreateInfoEXT *, XrFutureEXT *); + XrResult (*p_xrCreateSpatialContextCompleteEXT)(XrSession, XrFutureEXT, XrCreateSpatialContextCompletionEXT *); + XrResult (*p_xrCreateSpatialDiscoverySnapshotAsyncEXT)(XrSpatialContextEXT, const XrSpatialDiscoverySnapshotCreateInfoEXT *, XrFutureEXT *); + XrResult (*p_xrCreateSpatialDiscoverySnapshotCompleteEXT)(XrSpatialContextEXT, const XrCreateSpatialDiscoverySnapshotCompletionInfoEXT *, XrCreateSpatialDiscoverySnapshotCompletionEXT *); XrResult (*p_xrCreateSpatialEntityAnchorBD)(XrSenseDataProviderBD, const XrSpatialEntityAnchorCreateInfoBD *, XrAnchorBD *); + XrResult (*p_xrCreateSpatialEntityFromIdEXT)(XrSpatialContextEXT, const XrSpatialEntityFromIdCreateInfoEXT *, XrSpatialEntityEXT *); XrResult (*p_xrCreateSpatialGraphNodeSpaceMSFT)(XrSession, const XrSpatialGraphNodeSpaceCreateInfoMSFT *, XrSpace *); + XrResult (*p_xrCreateSpatialPersistenceContextAsyncEXT)(XrSession, const XrSpatialPersistenceContextCreateInfoEXT *, XrFutureEXT *); + XrResult (*p_xrCreateSpatialPersistenceContextCompleteEXT)(XrSession, XrFutureEXT, XrCreateSpatialPersistenceContextCompletionEXT *); + XrResult (*p_xrCreateSpatialUpdateSnapshotEXT)(XrSpatialContextEXT, const XrSpatialUpdateSnapshotCreateInfoEXT *, XrSpatialSnapshotEXT *); XrResult (*p_xrCreateSwapchain)(XrSession, const XrSwapchainCreateInfo *, XrSwapchain *); + XrResult (*p_xrCreateTrackableTrackerANDROID)(XrSession, const XrTrackableTrackerCreateInfoANDROID *, XrTrackableTrackerANDROID *); XrResult (*p_xrCreateTriangleMeshFB)(XrSession, const XrTriangleMeshCreateInfoFB *, XrTriangleMeshFB *); XrResult (*p_xrCreateVirtualKeyboardMETA)(XrSession, const XrVirtualKeyboardCreateInfoMETA *, XrVirtualKeyboardMETA *); XrResult (*p_xrCreateVirtualKeyboardSpaceMETA)(XrSession, XrVirtualKeyboardMETA, const XrVirtualKeyboardSpaceCreateInfoMETA *, XrSpace *); @@ -115,6 +131,7 @@ struct openxr_instance_funcs XrResult (*p_xrDestroyBodyTrackerBD)(XrBodyTrackerBD); XrResult (*p_xrDestroyBodyTrackerFB)(XrBodyTrackerFB); XrResult (*p_xrDestroyBodyTrackerHTC)(XrBodyTrackerHTC); + XrResult (*p_xrDestroyDeviceAnchorPersistenceANDROID)(XrDeviceAnchorPersistenceANDROID); XrResult (*p_xrDestroyEnvironmentDepthProviderMETA)(XrEnvironmentDepthProviderMETA); XrResult (*p_xrDestroyEnvironmentDepthSwapchainMETA)(XrEnvironmentDepthSwapchainMETA); XrResult (*p_xrDestroyExportedLocalizationMapML)(XrExportedLocalizationMapML); @@ -133,6 +150,8 @@ struct openxr_instance_funcs XrResult (*p_xrDestroyPassthroughHTC)(XrPassthroughHTC); XrResult (*p_xrDestroyPassthroughLayerFB)(XrPassthroughLayerFB); XrResult (*p_xrDestroyPlaneDetectorEXT)(XrPlaneDetectorEXT); + XrResult (*p_xrDestroyRenderModelAssetEXT)(XrRenderModelAssetEXT); + XrResult (*p_xrDestroyRenderModelEXT)(XrRenderModelEXT); XrResult (*p_xrDestroySceneMSFT)(XrSceneMSFT); XrResult (*p_xrDestroySceneObserverMSFT)(XrSceneObserverMSFT); XrResult (*p_xrDestroySenseDataProviderBD)(XrSenseDataProviderBD); @@ -143,8 +162,13 @@ struct openxr_instance_funcs XrResult (*p_xrDestroySpatialAnchorMSFT)(XrSpatialAnchorMSFT); XrResult (*p_xrDestroySpatialAnchorStoreConnectionMSFT)(XrSpatialAnchorStoreConnectionMSFT); XrResult (*p_xrDestroySpatialAnchorsStorageML)(XrSpatialAnchorsStorageML); + XrResult (*p_xrDestroySpatialContextEXT)(XrSpatialContextEXT); + XrResult (*p_xrDestroySpatialEntityEXT)(XrSpatialEntityEXT); XrResult (*p_xrDestroySpatialGraphNodeBindingMSFT)(XrSpatialGraphNodeBindingMSFT); + XrResult (*p_xrDestroySpatialPersistenceContextEXT)(XrSpatialPersistenceContextEXT); + XrResult (*p_xrDestroySpatialSnapshotEXT)(XrSpatialSnapshotEXT); XrResult (*p_xrDestroySwapchain)(XrSwapchain); + XrResult (*p_xrDestroyTrackableTrackerANDROID)(XrTrackableTrackerANDROID); XrResult (*p_xrDestroyTriangleMeshFB)(XrTriangleMeshFB); XrResult (*p_xrDestroyVirtualKeyboardMETA)(XrVirtualKeyboardMETA); XrResult (*p_xrDestroyWorldMeshDetectorML)(XrWorldMeshDetectorML); @@ -161,26 +185,40 @@ struct openxr_instance_funcs XrResult (*p_xrEnumerateEnvironmentBlendModes)(XrInstance, XrSystemId, XrViewConfigurationType, uint32_t, uint32_t *, XrEnvironmentBlendMode *); XrResult (*p_xrEnumerateEnvironmentDepthSwapchainImagesMETA)(XrEnvironmentDepthSwapchainMETA, uint32_t, uint32_t *, XrSwapchainImageBaseHeader *); XrResult (*p_xrEnumerateExternalCamerasOCULUS)(XrSession, uint32_t, uint32_t *, XrExternalCameraOCULUS *); + XrResult (*p_xrEnumerateInteractionRenderModelIdsEXT)(XrSession, const XrInteractionRenderModelIdsEnumerateInfoEXT *, uint32_t, uint32_t *, XrRenderModelIdEXT *); XrResult (*p_xrEnumeratePerformanceMetricsCounterPathsMETA)(XrInstance, uint32_t, uint32_t *, XrPath *); + XrResult (*p_xrEnumeratePersistedAnchorsANDROID)(XrDeviceAnchorPersistenceANDROID, uint32_t, uint32_t *, XrUuidEXT *); XrResult (*p_xrEnumeratePersistedSpatialAnchorNamesMSFT)(XrSpatialAnchorStoreConnectionMSFT, uint32_t, uint32_t *, XrSpatialAnchorPersistenceNameMSFT *); + XrResult (*p_xrEnumerateRaycastSupportedTrackableTypesANDROID)(XrInstance, XrSystemId, uint32_t, uint32_t *, XrTrackableTypeANDROID *); XrResult (*p_xrEnumerateReferenceSpaces)(XrSession, uint32_t, uint32_t *, XrReferenceSpaceType *); XrResult (*p_xrEnumerateRenderModelPathsFB)(XrSession, uint32_t, uint32_t *, XrRenderModelPathInfoFB *); + XrResult (*p_xrEnumerateRenderModelSubactionPathsEXT)(XrRenderModelEXT, const XrInteractionRenderModelSubactionPathInfoEXT *, uint32_t, uint32_t *, XrPath *); XrResult (*p_xrEnumerateReprojectionModesMSFT)(XrInstance, XrSystemId, XrViewConfigurationType, uint32_t, uint32_t *, XrReprojectionModeMSFT *); XrResult (*p_xrEnumerateSceneComputeFeaturesMSFT)(XrInstance, XrSystemId, uint32_t, uint32_t *, XrSceneComputeFeatureMSFT *); XrResult (*p_xrEnumerateSpaceSupportedComponentsFB)(XrSpace, uint32_t, uint32_t *, XrSpaceComponentTypeFB *); + XrResult (*p_xrEnumerateSpatialCapabilitiesEXT)(XrInstance, XrSystemId, uint32_t, uint32_t *, XrSpatialCapabilityEXT *); + XrResult (*p_xrEnumerateSpatialCapabilityComponentTypesEXT)(XrInstance, XrSystemId, XrSpatialCapabilityEXT, XrSpatialCapabilityComponentTypesEXT *); + XrResult (*p_xrEnumerateSpatialCapabilityFeaturesEXT)(XrInstance, XrSystemId, XrSpatialCapabilityEXT, uint32_t, uint32_t *, XrSpatialCapabilityFeatureEXT *); XrResult (*p_xrEnumerateSpatialEntityComponentTypesBD)(XrSenseDataSnapshotBD, XrSpatialEntityIdBD, uint32_t, uint32_t *, XrSpatialEntityComponentTypeBD *); + XrResult (*p_xrEnumerateSpatialPersistenceScopesEXT)(XrInstance, XrSystemId, uint32_t, uint32_t *, XrSpatialPersistenceScopeEXT *); + XrResult (*p_xrEnumerateSupportedAnchorTrackableTypesANDROID)(XrInstance, XrSystemId, uint32_t, uint32_t *, XrTrackableTypeANDROID *); + XrResult (*p_xrEnumerateSupportedPersistenceAnchorTypesANDROID)(XrInstance, XrSystemId, uint32_t, uint32_t *, XrTrackableTypeANDROID *); + XrResult (*p_xrEnumerateSupportedTrackableTypesANDROID)(XrInstance, XrSystemId, uint32_t, uint32_t *, XrTrackableTypeANDROID *); XrResult (*p_xrEnumerateSwapchainFormats)(XrSession, uint32_t, uint32_t *, int64_t *); XrResult (*p_xrEnumerateSwapchainImages)(XrSwapchain, uint32_t, uint32_t *, XrSwapchainImageBaseHeader *); XrResult (*p_xrEnumerateViewConfigurationViews)(XrInstance, XrSystemId, XrViewConfigurationType, uint32_t, uint32_t *, XrViewConfigurationView *); XrResult (*p_xrEnumerateViewConfigurations)(XrInstance, XrSystemId, uint32_t, uint32_t *, XrViewConfigurationType *); XrResult (*p_xrEnumerateViveTrackerPathsHTCX)(XrInstance, uint32_t, uint32_t *, XrViveTrackerPathsHTCX *); XrResult (*p_xrEraseSpaceFB)(XrSession, const XrSpaceEraseInfoFB *, XrAsyncRequestIdFB *); + XrResult (*p_xrEraseSpacesMETA)(XrSession, const XrSpacesEraseInfoMETA *, XrAsyncRequestIdFB *); XrResult (*p_xrFreeWorldMeshBufferML)(XrWorldMeshDetectorML, const XrWorldMeshBufferML *); XrResult (*p_xrGeometryInstanceSetTransformFB)(XrGeometryInstanceFB, const XrGeometryInstanceTransformFB *); XrResult (*p_xrGetActionStateBoolean)(XrSession, const XrActionStateGetInfo *, XrActionStateBoolean *); XrResult (*p_xrGetActionStateFloat)(XrSession, const XrActionStateGetInfo *, XrActionStateFloat *); XrResult (*p_xrGetActionStatePose)(XrSession, const XrActionStateGetInfo *, XrActionStatePose *); XrResult (*p_xrGetActionStateVector2f)(XrSession, const XrActionStateGetInfo *, XrActionStateVector2f *); + XrResult (*p_xrGetAllTrackablesANDROID)(XrTrackableTrackerANDROID, uint32_t, uint32_t *, XrTrackableANDROID *); + XrResult (*p_xrGetAnchorPersistStateANDROID)(XrDeviceAnchorPersistenceANDROID, const XrUuidEXT *, XrAnchorPersistStateANDROID *); XrResult (*p_xrGetAnchorUuidBD)(XrAnchorBD, XrUuidEXT *); XrResult (*p_xrGetAudioInputDeviceGuidOculus)(XrInstance, wchar_t[]); XrResult (*p_xrGetAudioOutputDeviceGuidOculus)(XrInstance, wchar_t[]); @@ -211,6 +249,7 @@ struct openxr_instance_funcs XrResult (*p_xrGetMarkerStringML)(XrMarkerDetectorML, XrMarkerML, uint32_t, uint32_t *, char *); XrResult (*p_xrGetMarkersML)(XrMarkerDetectorML, uint32_t, uint32_t *, XrMarkerML *); XrResult (*p_xrGetOpenGLGraphicsRequirementsKHR)(XrInstance, XrSystemId, XrGraphicsRequirementsOpenGLKHR *); + XrResult (*p_xrGetPassthroughCameraStateANDROID)(XrSession, const XrPassthroughCameraStateGetInfoANDROID *, XrPassthroughCameraStateANDROID *); XrResult (*p_xrGetPassthroughPreferencesMETA)(XrSession, XrPassthroughPreferencesMETA *); XrResult (*p_xrGetPerformanceMetricsStateMETA)(XrSession, XrPerformanceMetricsStateMETA *); XrResult (*p_xrGetPlaneDetectionStateEXT)(XrPlaneDetectorEXT, XrPlaneDetectionStateEXT *); @@ -219,7 +258,12 @@ struct openxr_instance_funcs XrResult (*p_xrGetQueriedSenseDataBD)(XrSenseDataSnapshotBD, XrQueriedSenseDataGetInfoBD *, XrQueriedSenseDataBD *); XrResult (*p_xrGetRecommendedLayerResolutionMETA)(XrSession, const XrRecommendedLayerResolutionGetInfoMETA *, XrRecommendedLayerResolutionMETA *); XrResult (*p_xrGetReferenceSpaceBoundsRect)(XrSession, XrReferenceSpaceType, XrExtent2Df *); + XrResult (*p_xrGetRenderModelAssetDataEXT)(XrRenderModelAssetEXT, const XrRenderModelAssetDataGetInfoEXT *, XrRenderModelAssetDataEXT *); + XrResult (*p_xrGetRenderModelAssetPropertiesEXT)(XrRenderModelAssetEXT, const XrRenderModelAssetPropertiesGetInfoEXT *, XrRenderModelAssetPropertiesEXT *); + XrResult (*p_xrGetRenderModelPoseTopLevelUserPathEXT)(XrRenderModelEXT, const XrInteractionRenderModelTopLevelUserPathGetInfoEXT *, XrPath *); + XrResult (*p_xrGetRenderModelPropertiesEXT)(XrRenderModelEXT, const XrRenderModelPropertiesGetInfoEXT *, XrRenderModelPropertiesEXT *); XrResult (*p_xrGetRenderModelPropertiesFB)(XrSession, XrPath, XrRenderModelPropertiesFB *); + XrResult (*p_xrGetRenderModelStateEXT)(XrRenderModelEXT, const XrRenderModelStateGetInfoEXT *, XrRenderModelStateEXT *); XrResult (*p_xrGetSceneComponentsMSFT)(XrSceneMSFT, const XrSceneComponentsGetInfoMSFT *, XrSceneComponentsMSFT *); XrResult (*p_xrGetSceneComputeStateMSFT)(XrSceneObserverMSFT, XrSceneComputeStateMSFT *); XrResult (*p_xrGetSceneMarkerDecodedStringMSFT)(XrSceneMSFT, const XrUuidMSFT *, uint32_t, uint32_t *, char *); @@ -239,12 +283,22 @@ struct openxr_instance_funcs XrResult (*p_xrGetSpaceUuidFB)(XrSpace, XrUuidEXT *); XrResult (*p_xrGetSpatialAnchorNameHTC)(XrSpace, XrSpatialAnchorNameHTC *); XrResult (*p_xrGetSpatialAnchorStateML)(XrSpace, XrSpatialAnchorStateML *); + XrResult (*p_xrGetSpatialBufferFloatEXT)(XrSpatialSnapshotEXT, const XrSpatialBufferGetInfoEXT *, uint32_t, uint32_t *, float *); + XrResult (*p_xrGetSpatialBufferStringEXT)(XrSpatialSnapshotEXT, const XrSpatialBufferGetInfoEXT *, uint32_t, uint32_t *, char *); + XrResult (*p_xrGetSpatialBufferUint16EXT)(XrSpatialSnapshotEXT, const XrSpatialBufferGetInfoEXT *, uint32_t, uint32_t *, uint16_t *); + XrResult (*p_xrGetSpatialBufferUint32EXT)(XrSpatialSnapshotEXT, const XrSpatialBufferGetInfoEXT *, uint32_t, uint32_t *, uint32_t *); + XrResult (*p_xrGetSpatialBufferUint8EXT)(XrSpatialSnapshotEXT, const XrSpatialBufferGetInfoEXT *, uint32_t, uint32_t *, uint8_t *); + XrResult (*p_xrGetSpatialBufferVector2fEXT)(XrSpatialSnapshotEXT, const XrSpatialBufferGetInfoEXT *, uint32_t, uint32_t *, XrVector2f *); + XrResult (*p_xrGetSpatialBufferVector3fEXT)(XrSpatialSnapshotEXT, const XrSpatialBufferGetInfoEXT *, uint32_t, uint32_t *, XrVector3f *); XrResult (*p_xrGetSpatialEntityComponentDataBD)(XrSenseDataSnapshotBD, const XrSpatialEntityComponentGetInfoBD *, XrSpatialEntityComponentDataBaseHeaderBD *); XrResult (*p_xrGetSpatialEntityUuidBD)(XrSenseDataSnapshotBD, XrSpatialEntityIdBD, XrUuidEXT *); XrResult (*p_xrGetSpatialGraphNodeBindingPropertiesMSFT)(XrSpatialGraphNodeBindingMSFT, const XrSpatialGraphNodeBindingPropertiesGetInfoMSFT *, XrSpatialGraphNodeBindingPropertiesMSFT *); XrResult (*p_xrGetSwapchainStateFB)(XrSwapchain, XrSwapchainStateBaseHeaderFB *); XrResult (*p_xrGetSystem)(XrInstance, const XrSystemGetInfo *, XrSystemId *); XrResult (*p_xrGetSystemProperties)(XrInstance, XrSystemId, XrSystemProperties *); + XrResult (*p_xrGetTrackableMarkerANDROID)(XrTrackableTrackerANDROID, const XrTrackableGetInfoANDROID *, XrTrackableMarkerANDROID *); + XrResult (*p_xrGetTrackableObjectANDROID)(XrTrackableTrackerANDROID, const XrTrackableGetInfoANDROID *, XrTrackableObjectANDROID *); + XrResult (*p_xrGetTrackablePlaneANDROID)(XrTrackableTrackerANDROID, const XrTrackableGetInfoANDROID *, XrTrackablePlaneANDROID *); XrResult (*p_xrGetViewConfigurationProperties)(XrInstance, XrSystemId, XrViewConfigurationType, XrViewConfigurationProperties *); XrResult (*p_xrGetVirtualKeyboardDirtyTexturesMETA)(XrVirtualKeyboardMETA, uint32_t, uint32_t *, uint64_t *); XrResult (*p_xrGetVirtualKeyboardModelAnimationStatesMETA)(XrVirtualKeyboardMETA, XrVirtualKeyboardModelAnimationStatesMETA *); @@ -278,10 +332,14 @@ struct openxr_instance_funcs XrResult (*p_xrPassthroughPauseFB)(XrPassthroughFB); XrResult (*p_xrPassthroughStartFB)(XrPassthroughFB); XrResult (*p_xrPathToString)(XrInstance, XrPath, uint32_t, uint32_t *, char *); + XrResult (*p_xrPauseSimultaneousHandsAndControllersTrackingMETA)(XrSession, const XrSimultaneousHandsAndControllersTrackingPauseInfoMETA *); XrResult (*p_xrPerfSettingsSetPerformanceLevelEXT)(XrSession, XrPerfSettingsDomainEXT, XrPerfSettingsLevelEXT); + XrResult (*p_xrPersistAnchorANDROID)(XrDeviceAnchorPersistenceANDROID, const XrPersistedAnchorSpaceInfoANDROID *, XrUuidEXT *); XrResult (*p_xrPersistSpatialAnchorAsyncBD)(XrSenseDataProviderBD, const XrSpatialAnchorPersistInfoBD *, XrFutureEXT *); XrResult (*p_xrPersistSpatialAnchorCompleteBD)(XrSenseDataProviderBD, XrFutureEXT, XrFutureCompletionEXT *); XrResult (*p_xrPersistSpatialAnchorMSFT)(XrSpatialAnchorStoreConnectionMSFT, const XrSpatialAnchorPersistenceInfoMSFT *); + XrResult (*p_xrPersistSpatialEntityAsyncEXT)(XrSpatialPersistenceContextEXT, const XrSpatialEntityPersistInfoEXT *, XrFutureEXT *); + XrResult (*p_xrPersistSpatialEntityCompleteEXT)(XrSpatialPersistenceContextEXT, XrFutureEXT, XrPersistSpatialEntityCompletionEXT *); XrResult (*p_xrPollEvent)(XrInstance, XrEventDataBuffer *); XrResult (*p_xrPollFutureEXT)(XrInstance, const XrFuturePollInfoEXT *, XrFuturePollResultEXT *); XrResult (*p_xrPublishSpatialAnchorsAsyncML)(XrSpatialAnchorsStorageML, const XrSpatialAnchorsPublishInfoML *, XrFutureEXT *); @@ -293,7 +351,9 @@ struct openxr_instance_funcs XrResult (*p_xrQuerySpacesFB)(XrSession, const XrSpaceQueryInfoBaseHeaderFB *, XrAsyncRequestIdFB *); XrResult (*p_xrQuerySpatialAnchorsAsyncML)(XrSpatialAnchorsStorageML, const XrSpatialAnchorsQueryInfoBaseHeaderML *, XrFutureEXT *); XrResult (*p_xrQuerySpatialAnchorsCompleteML)(XrSpatialAnchorsStorageML, XrFutureEXT, XrSpatialAnchorsQueryCompletionML *); + XrResult (*p_xrQuerySpatialComponentDataEXT)(XrSpatialSnapshotEXT, const XrSpatialComponentDataQueryConditionEXT *, XrSpatialComponentDataQueryResultEXT *); XrResult (*p_xrQuerySystemTrackedKeyboardFB)(XrSession, const XrKeyboardTrackingQueryFB *, XrKeyboardTrackingDescriptionFB *); + XrResult (*p_xrRaycastANDROID)(XrSession, const XrRaycastInfoANDROID *, XrRaycastHitResultsANDROID *); XrResult (*p_xrReleaseSwapchainImage)(XrSwapchain, const XrSwapchainImageReleaseInfo *); XrResult (*p_xrRequestDisplayRefreshRateFB)(XrSession, float); XrResult (*p_xrRequestExitSession)(XrSession); @@ -303,10 +363,13 @@ struct openxr_instance_funcs XrResult (*p_xrRequestWorldMeshCompleteML)(XrWorldMeshDetectorML, const XrWorldMeshRequestCompletionInfoML *, XrFutureEXT, XrWorldMeshRequestCompletionML *); XrResult (*p_xrRequestWorldMeshStateAsyncML)(XrWorldMeshDetectorML, const XrWorldMeshStateRequestInfoML *, XrFutureEXT *); XrResult (*p_xrRequestWorldMeshStateCompleteML)(XrWorldMeshDetectorML, XrFutureEXT, XrWorldMeshStateRequestCompletionML *); + XrResult (*p_xrResetBodyTrackingCalibrationMETA)(XrBodyTrackerFB); XrResult (*p_xrResultToString)(XrInstance, XrResult, char[]); + XrResult (*p_xrResumeSimultaneousHandsAndControllersTrackingMETA)(XrSession, const XrSimultaneousHandsAndControllersTrackingResumeInfoMETA *); XrResult (*p_xrRetrieveSpaceQueryResultsFB)(XrSession, XrAsyncRequestIdFB, XrSpaceQueryResultsFB *); XrResult (*p_xrSaveSpaceFB)(XrSession, const XrSpaceSaveInfoFB *, XrAsyncRequestIdFB *); XrResult (*p_xrSaveSpaceListFB)(XrSession, const XrSpaceListSaveInfoFB *, XrAsyncRequestIdFB *); + XrResult (*p_xrSaveSpacesMETA)(XrSession, const XrSpacesSaveInfoMETA *, XrAsyncRequestIdFB *); XrResult (*p_xrSendVirtualKeyboardInputMETA)(XrVirtualKeyboardMETA, const XrVirtualKeyboardInputInfoMETA *, XrPosef *); XrResult (*p_xrSetColorSpaceFB)(XrSession, const XrColorSpaceFB); XrResult (*p_xrSetDigitalLensControlALMALENCE)(XrSession, const XrDigitalLensControlALMALENCE *); @@ -344,6 +407,7 @@ struct openxr_instance_funcs XrResult (*p_xrStringToPath)(XrInstance, const char *, XrPath *); XrResult (*p_xrStructureTypeToString)(XrInstance, XrStructureType, char[]); XrResult (*p_xrStructureTypeToString2KHR)(XrInstance, XrStructureType, char[]); + XrResult (*p_xrSuggestBodyTrackingCalibrationOverrideMETA)(XrBodyTrackerFB, const XrBodyTrackingCalibrationInfoMETA *); XrResult (*p_xrSuggestInteractionProfileBindings)(XrInstance, const XrInteractionProfileSuggestedBinding *); XrResult (*p_xrSuggestVirtualKeyboardLocationMETA)(XrVirtualKeyboardMETA, const XrVirtualKeyboardLocationInfoMETA *); XrResult (*p_xrSyncActions)(XrSession, const XrActionsSyncInfo *); @@ -355,9 +419,12 @@ struct openxr_instance_funcs XrResult (*p_xrTriangleMeshGetIndexBufferFB)(XrTriangleMeshFB, uint32_t **); XrResult (*p_xrTriangleMeshGetVertexBufferFB)(XrTriangleMeshFB, XrVector3f **); XrResult (*p_xrTryCreateSpatialGraphStaticNodeBindingMSFT)(XrSession, const XrSpatialGraphStaticNodeBindingCreateInfoMSFT *, XrSpatialGraphNodeBindingMSFT *); + XrResult (*p_xrUnpersistAnchorANDROID)(XrDeviceAnchorPersistenceANDROID, const XrUuidEXT *); XrResult (*p_xrUnpersistSpatialAnchorAsyncBD)(XrSenseDataProviderBD, const XrSpatialAnchorUnpersistInfoBD *, XrFutureEXT *); XrResult (*p_xrUnpersistSpatialAnchorCompleteBD)(XrSenseDataProviderBD, XrFutureEXT, XrFutureCompletionEXT *); XrResult (*p_xrUnpersistSpatialAnchorMSFT)(XrSpatialAnchorStoreConnectionMSFT, const XrSpatialAnchorPersistenceNameMSFT *); + XrResult (*p_xrUnpersistSpatialEntityAsyncEXT)(XrSpatialPersistenceContextEXT, const XrSpatialEntityUnpersistInfoEXT *, XrFutureEXT *); + XrResult (*p_xrUnpersistSpatialEntityCompleteEXT)(XrSpatialPersistenceContextEXT, XrFutureEXT, XrUnpersistSpatialEntityCompletionEXT *); XrResult (*p_xrUpdateHandMeshMSFT)(XrHandTrackerEXT, const XrHandMeshUpdateInfoMSFT *, XrHandMeshMSFT *); XrResult (*p_xrUpdatePassthroughColorLutMETA)(XrPassthroughColorLutMETA, const XrPassthroughColorLutUpdateInfoMETA *); XrResult (*p_xrUpdateSpatialAnchorsExpirationAsyncML)(XrSpatialAnchorsStorageML, const XrSpatialAnchorsUpdateExpirationInfoML *, XrFutureEXT *); @@ -386,11 +453,13 @@ struct openxr_instance_funcs USE_XR_FUNC(xrCreateAction) \ USE_XR_FUNC(xrCreateActionSet) \ USE_XR_FUNC(xrCreateActionSpace) \ + USE_XR_FUNC(xrCreateAnchorSpaceANDROID) \ USE_XR_FUNC(xrCreateAnchorSpaceBD) \ USE_XR_FUNC(xrCreateApiLayerInstance) \ USE_XR_FUNC(xrCreateBodyTrackerBD) \ USE_XR_FUNC(xrCreateBodyTrackerFB) \ USE_XR_FUNC(xrCreateBodyTrackerHTC) \ + USE_XR_FUNC(xrCreateDeviceAnchorPersistenceANDROID) \ USE_XR_FUNC(xrCreateEnvironmentDepthProviderMETA) \ USE_XR_FUNC(xrCreateEnvironmentDepthSwapchainMETA) \ USE_XR_FUNC(xrCreateExportedLocalizationMapML) \ @@ -411,8 +480,12 @@ struct openxr_instance_funcs USE_XR_FUNC(xrCreatePassthroughFB) \ USE_XR_FUNC(xrCreatePassthroughHTC) \ USE_XR_FUNC(xrCreatePassthroughLayerFB) \ + USE_XR_FUNC(xrCreatePersistedAnchorSpaceANDROID) \ USE_XR_FUNC(xrCreatePlaneDetectorEXT) \ USE_XR_FUNC(xrCreateReferenceSpace) \ + USE_XR_FUNC(xrCreateRenderModelAssetEXT) \ + USE_XR_FUNC(xrCreateRenderModelEXT) \ + USE_XR_FUNC(xrCreateRenderModelSpaceEXT) \ USE_XR_FUNC(xrCreateSceneMSFT) \ USE_XR_FUNC(xrCreateSceneObserverMSFT) \ USE_XR_FUNC(xrCreateSenseDataProviderBD) \ @@ -420,6 +493,7 @@ struct openxr_instance_funcs USE_XR_FUNC(xrCreateSpaceUserFB) \ USE_XR_FUNC(xrCreateSpatialAnchorAsyncBD) \ USE_XR_FUNC(xrCreateSpatialAnchorCompleteBD) \ + USE_XR_FUNC(xrCreateSpatialAnchorEXT) \ USE_XR_FUNC(xrCreateSpatialAnchorFB) \ USE_XR_FUNC(xrCreateSpatialAnchorFromPersistedNameMSFT) \ USE_XR_FUNC(xrCreateSpatialAnchorHTC) \ @@ -429,9 +503,18 @@ struct openxr_instance_funcs USE_XR_FUNC(xrCreateSpatialAnchorsAsyncML) \ USE_XR_FUNC(xrCreateSpatialAnchorsCompleteML) \ USE_XR_FUNC(xrCreateSpatialAnchorsStorageML) \ + USE_XR_FUNC(xrCreateSpatialContextAsyncEXT) \ + USE_XR_FUNC(xrCreateSpatialContextCompleteEXT) \ + USE_XR_FUNC(xrCreateSpatialDiscoverySnapshotAsyncEXT) \ + USE_XR_FUNC(xrCreateSpatialDiscoverySnapshotCompleteEXT) \ USE_XR_FUNC(xrCreateSpatialEntityAnchorBD) \ + USE_XR_FUNC(xrCreateSpatialEntityFromIdEXT) \ USE_XR_FUNC(xrCreateSpatialGraphNodeSpaceMSFT) \ + USE_XR_FUNC(xrCreateSpatialPersistenceContextAsyncEXT) \ + USE_XR_FUNC(xrCreateSpatialPersistenceContextCompleteEXT) \ + USE_XR_FUNC(xrCreateSpatialUpdateSnapshotEXT) \ USE_XR_FUNC(xrCreateSwapchain) \ + USE_XR_FUNC(xrCreateTrackableTrackerANDROID) \ USE_XR_FUNC(xrCreateTriangleMeshFB) \ USE_XR_FUNC(xrCreateVirtualKeyboardMETA) \ USE_XR_FUNC(xrCreateVirtualKeyboardSpaceMETA) \ @@ -447,6 +530,7 @@ struct openxr_instance_funcs USE_XR_FUNC(xrDestroyBodyTrackerBD) \ USE_XR_FUNC(xrDestroyBodyTrackerFB) \ USE_XR_FUNC(xrDestroyBodyTrackerHTC) \ + USE_XR_FUNC(xrDestroyDeviceAnchorPersistenceANDROID) \ USE_XR_FUNC(xrDestroyEnvironmentDepthProviderMETA) \ USE_XR_FUNC(xrDestroyEnvironmentDepthSwapchainMETA) \ USE_XR_FUNC(xrDestroyExportedLocalizationMapML) \ @@ -465,6 +549,8 @@ struct openxr_instance_funcs USE_XR_FUNC(xrDestroyPassthroughHTC) \ USE_XR_FUNC(xrDestroyPassthroughLayerFB) \ USE_XR_FUNC(xrDestroyPlaneDetectorEXT) \ + USE_XR_FUNC(xrDestroyRenderModelAssetEXT) \ + USE_XR_FUNC(xrDestroyRenderModelEXT) \ USE_XR_FUNC(xrDestroySceneMSFT) \ USE_XR_FUNC(xrDestroySceneObserverMSFT) \ USE_XR_FUNC(xrDestroySenseDataProviderBD) \ @@ -475,8 +561,13 @@ struct openxr_instance_funcs USE_XR_FUNC(xrDestroySpatialAnchorMSFT) \ USE_XR_FUNC(xrDestroySpatialAnchorStoreConnectionMSFT) \ USE_XR_FUNC(xrDestroySpatialAnchorsStorageML) \ + USE_XR_FUNC(xrDestroySpatialContextEXT) \ + USE_XR_FUNC(xrDestroySpatialEntityEXT) \ USE_XR_FUNC(xrDestroySpatialGraphNodeBindingMSFT) \ + USE_XR_FUNC(xrDestroySpatialPersistenceContextEXT) \ + USE_XR_FUNC(xrDestroySpatialSnapshotEXT) \ USE_XR_FUNC(xrDestroySwapchain) \ + USE_XR_FUNC(xrDestroyTrackableTrackerANDROID) \ USE_XR_FUNC(xrDestroyTriangleMeshFB) \ USE_XR_FUNC(xrDestroyVirtualKeyboardMETA) \ USE_XR_FUNC(xrDestroyWorldMeshDetectorML) \ @@ -493,26 +584,40 @@ struct openxr_instance_funcs USE_XR_FUNC(xrEnumerateEnvironmentBlendModes) \ USE_XR_FUNC(xrEnumerateEnvironmentDepthSwapchainImagesMETA) \ USE_XR_FUNC(xrEnumerateExternalCamerasOCULUS) \ + USE_XR_FUNC(xrEnumerateInteractionRenderModelIdsEXT) \ USE_XR_FUNC(xrEnumeratePerformanceMetricsCounterPathsMETA) \ + USE_XR_FUNC(xrEnumeratePersistedAnchorsANDROID) \ USE_XR_FUNC(xrEnumeratePersistedSpatialAnchorNamesMSFT) \ + USE_XR_FUNC(xrEnumerateRaycastSupportedTrackableTypesANDROID) \ USE_XR_FUNC(xrEnumerateReferenceSpaces) \ USE_XR_FUNC(xrEnumerateRenderModelPathsFB) \ + USE_XR_FUNC(xrEnumerateRenderModelSubactionPathsEXT) \ USE_XR_FUNC(xrEnumerateReprojectionModesMSFT) \ USE_XR_FUNC(xrEnumerateSceneComputeFeaturesMSFT) \ USE_XR_FUNC(xrEnumerateSpaceSupportedComponentsFB) \ + USE_XR_FUNC(xrEnumerateSpatialCapabilitiesEXT) \ + USE_XR_FUNC(xrEnumerateSpatialCapabilityComponentTypesEXT) \ + USE_XR_FUNC(xrEnumerateSpatialCapabilityFeaturesEXT) \ USE_XR_FUNC(xrEnumerateSpatialEntityComponentTypesBD) \ + USE_XR_FUNC(xrEnumerateSpatialPersistenceScopesEXT) \ + USE_XR_FUNC(xrEnumerateSupportedAnchorTrackableTypesANDROID) \ + USE_XR_FUNC(xrEnumerateSupportedPersistenceAnchorTypesANDROID) \ + USE_XR_FUNC(xrEnumerateSupportedTrackableTypesANDROID) \ USE_XR_FUNC(xrEnumerateSwapchainFormats) \ USE_XR_FUNC(xrEnumerateSwapchainImages) \ USE_XR_FUNC(xrEnumerateViewConfigurationViews) \ USE_XR_FUNC(xrEnumerateViewConfigurations) \ USE_XR_FUNC(xrEnumerateViveTrackerPathsHTCX) \ USE_XR_FUNC(xrEraseSpaceFB) \ + USE_XR_FUNC(xrEraseSpacesMETA) \ USE_XR_FUNC(xrFreeWorldMeshBufferML) \ USE_XR_FUNC(xrGeometryInstanceSetTransformFB) \ USE_XR_FUNC(xrGetActionStateBoolean) \ USE_XR_FUNC(xrGetActionStateFloat) \ USE_XR_FUNC(xrGetActionStatePose) \ USE_XR_FUNC(xrGetActionStateVector2f) \ + USE_XR_FUNC(xrGetAllTrackablesANDROID) \ + USE_XR_FUNC(xrGetAnchorPersistStateANDROID) \ USE_XR_FUNC(xrGetAnchorUuidBD) \ USE_XR_FUNC(xrGetAudioInputDeviceGuidOculus) \ USE_XR_FUNC(xrGetAudioOutputDeviceGuidOculus) \ @@ -543,6 +648,7 @@ struct openxr_instance_funcs USE_XR_FUNC(xrGetMarkerStringML) \ USE_XR_FUNC(xrGetMarkersML) \ USE_XR_FUNC(xrGetOpenGLGraphicsRequirementsKHR) \ + USE_XR_FUNC(xrGetPassthroughCameraStateANDROID) \ USE_XR_FUNC(xrGetPassthroughPreferencesMETA) \ USE_XR_FUNC(xrGetPerformanceMetricsStateMETA) \ USE_XR_FUNC(xrGetPlaneDetectionStateEXT) \ @@ -551,7 +657,12 @@ struct openxr_instance_funcs USE_XR_FUNC(xrGetQueriedSenseDataBD) \ USE_XR_FUNC(xrGetRecommendedLayerResolutionMETA) \ USE_XR_FUNC(xrGetReferenceSpaceBoundsRect) \ + USE_XR_FUNC(xrGetRenderModelAssetDataEXT) \ + USE_XR_FUNC(xrGetRenderModelAssetPropertiesEXT) \ + USE_XR_FUNC(xrGetRenderModelPoseTopLevelUserPathEXT) \ + USE_XR_FUNC(xrGetRenderModelPropertiesEXT) \ USE_XR_FUNC(xrGetRenderModelPropertiesFB) \ + USE_XR_FUNC(xrGetRenderModelStateEXT) \ USE_XR_FUNC(xrGetSceneComponentsMSFT) \ USE_XR_FUNC(xrGetSceneComputeStateMSFT) \ USE_XR_FUNC(xrGetSceneMarkerDecodedStringMSFT) \ @@ -571,12 +682,22 @@ struct openxr_instance_funcs USE_XR_FUNC(xrGetSpaceUuidFB) \ USE_XR_FUNC(xrGetSpatialAnchorNameHTC) \ USE_XR_FUNC(xrGetSpatialAnchorStateML) \ + USE_XR_FUNC(xrGetSpatialBufferFloatEXT) \ + USE_XR_FUNC(xrGetSpatialBufferStringEXT) \ + USE_XR_FUNC(xrGetSpatialBufferUint16EXT) \ + USE_XR_FUNC(xrGetSpatialBufferUint32EXT) \ + USE_XR_FUNC(xrGetSpatialBufferUint8EXT) \ + USE_XR_FUNC(xrGetSpatialBufferVector2fEXT) \ + USE_XR_FUNC(xrGetSpatialBufferVector3fEXT) \ USE_XR_FUNC(xrGetSpatialEntityComponentDataBD) \ USE_XR_FUNC(xrGetSpatialEntityUuidBD) \ USE_XR_FUNC(xrGetSpatialGraphNodeBindingPropertiesMSFT) \ USE_XR_FUNC(xrGetSwapchainStateFB) \ USE_XR_FUNC(xrGetSystem) \ USE_XR_FUNC(xrGetSystemProperties) \ + USE_XR_FUNC(xrGetTrackableMarkerANDROID) \ + USE_XR_FUNC(xrGetTrackableObjectANDROID) \ + USE_XR_FUNC(xrGetTrackablePlaneANDROID) \ USE_XR_FUNC(xrGetViewConfigurationProperties) \ USE_XR_FUNC(xrGetVirtualKeyboardDirtyTexturesMETA) \ USE_XR_FUNC(xrGetVirtualKeyboardModelAnimationStatesMETA) \ @@ -610,10 +731,14 @@ struct openxr_instance_funcs USE_XR_FUNC(xrPassthroughPauseFB) \ USE_XR_FUNC(xrPassthroughStartFB) \ USE_XR_FUNC(xrPathToString) \ + USE_XR_FUNC(xrPauseSimultaneousHandsAndControllersTrackingMETA) \ USE_XR_FUNC(xrPerfSettingsSetPerformanceLevelEXT) \ + USE_XR_FUNC(xrPersistAnchorANDROID) \ USE_XR_FUNC(xrPersistSpatialAnchorAsyncBD) \ USE_XR_FUNC(xrPersistSpatialAnchorCompleteBD) \ USE_XR_FUNC(xrPersistSpatialAnchorMSFT) \ + USE_XR_FUNC(xrPersistSpatialEntityAsyncEXT) \ + USE_XR_FUNC(xrPersistSpatialEntityCompleteEXT) \ USE_XR_FUNC(xrPollEvent) \ USE_XR_FUNC(xrPollFutureEXT) \ USE_XR_FUNC(xrPublishSpatialAnchorsAsyncML) \ @@ -625,7 +750,9 @@ struct openxr_instance_funcs USE_XR_FUNC(xrQuerySpacesFB) \ USE_XR_FUNC(xrQuerySpatialAnchorsAsyncML) \ USE_XR_FUNC(xrQuerySpatialAnchorsCompleteML) \ + USE_XR_FUNC(xrQuerySpatialComponentDataEXT) \ USE_XR_FUNC(xrQuerySystemTrackedKeyboardFB) \ + USE_XR_FUNC(xrRaycastANDROID) \ USE_XR_FUNC(xrReleaseSwapchainImage) \ USE_XR_FUNC(xrRequestDisplayRefreshRateFB) \ USE_XR_FUNC(xrRequestExitSession) \ @@ -635,10 +762,13 @@ struct openxr_instance_funcs USE_XR_FUNC(xrRequestWorldMeshCompleteML) \ USE_XR_FUNC(xrRequestWorldMeshStateAsyncML) \ USE_XR_FUNC(xrRequestWorldMeshStateCompleteML) \ + USE_XR_FUNC(xrResetBodyTrackingCalibrationMETA) \ USE_XR_FUNC(xrResultToString) \ + USE_XR_FUNC(xrResumeSimultaneousHandsAndControllersTrackingMETA) \ USE_XR_FUNC(xrRetrieveSpaceQueryResultsFB) \ USE_XR_FUNC(xrSaveSpaceFB) \ USE_XR_FUNC(xrSaveSpaceListFB) \ + USE_XR_FUNC(xrSaveSpacesMETA) \ USE_XR_FUNC(xrSendVirtualKeyboardInputMETA) \ USE_XR_FUNC(xrSetColorSpaceFB) \ USE_XR_FUNC(xrSetDigitalLensControlALMALENCE) \ @@ -676,6 +806,7 @@ struct openxr_instance_funcs USE_XR_FUNC(xrStringToPath) \ USE_XR_FUNC(xrStructureTypeToString) \ USE_XR_FUNC(xrStructureTypeToString2KHR) \ + USE_XR_FUNC(xrSuggestBodyTrackingCalibrationOverrideMETA) \ USE_XR_FUNC(xrSuggestInteractionProfileBindings) \ USE_XR_FUNC(xrSuggestVirtualKeyboardLocationMETA) \ USE_XR_FUNC(xrSyncActions) \ @@ -687,9 +818,12 @@ struct openxr_instance_funcs USE_XR_FUNC(xrTriangleMeshGetIndexBufferFB) \ USE_XR_FUNC(xrTriangleMeshGetVertexBufferFB) \ USE_XR_FUNC(xrTryCreateSpatialGraphStaticNodeBindingMSFT) \ + USE_XR_FUNC(xrUnpersistAnchorANDROID) \ USE_XR_FUNC(xrUnpersistSpatialAnchorAsyncBD) \ USE_XR_FUNC(xrUnpersistSpatialAnchorCompleteBD) \ USE_XR_FUNC(xrUnpersistSpatialAnchorMSFT) \ + USE_XR_FUNC(xrUnpersistSpatialEntityAsyncEXT) \ + USE_XR_FUNC(xrUnpersistSpatialEntityCompleteEXT) \ USE_XR_FUNC(xrUpdateHandMeshMSFT) \ USE_XR_FUNC(xrUpdatePassthroughColorLutMETA) \ USE_XR_FUNC(xrUpdateSpatialAnchorsExpirationAsyncML) \ diff --git a/wineopenxr/wineopenxr.h b/wineopenxr/wineopenxr.h index 439429b4f1..ea5d5f9cac 100644 --- a/wineopenxr/wineopenxr.h +++ b/wineopenxr/wineopenxr.h @@ -79,13 +79,13 @@ #define XR_KHR_COMPOSITION_LAYER_CYLINDER_EXTENSION_NAME "XR_KHR_composition_layer_cylinder" #define XR_KHR_composition_layer_equirect_SPEC_VERSION 3 #define XR_KHR_COMPOSITION_LAYER_EQUIRECT_EXTENSION_NAME "XR_KHR_composition_layer_equirect" -#define XR_KHR_opengl_enable_SPEC_VERSION 10 +#define XR_KHR_opengl_enable_SPEC_VERSION 11 #define XR_KHR_OPENGL_ENABLE_EXTENSION_NAME "XR_KHR_opengl_enable" -#define XR_KHR_vulkan_enable_SPEC_VERSION 8 +#define XR_KHR_vulkan_enable_SPEC_VERSION 9 #define XR_KHR_VULKAN_ENABLE_EXTENSION_NAME "XR_KHR_vulkan_enable" -#define XR_KHR_D3D11_enable_SPEC_VERSION 9 +#define XR_KHR_D3D11_enable_SPEC_VERSION 10 #define XR_KHR_D3D11_ENABLE_EXTENSION_NAME "XR_KHR_D3D11_enable" -#define XR_KHR_D3D12_enable_SPEC_VERSION 9 +#define XR_KHR_D3D12_enable_SPEC_VERSION 10 #define XR_KHR_D3D12_ENABLE_EXTENSION_NAME "XR_KHR_D3D12_enable" #define XR_EXT_eye_gaze_interaction_SPEC_VERSION 2 #define XR_EXT_EYE_GAZE_INTERACTION_EXTENSION_NAME "XR_EXT_eye_gaze_interaction" @@ -153,7 +153,7 @@ #define XR_VALVE_ANALOG_THRESHOLD_EXTENSION_NAME "XR_VALVE_analog_threshold" #define XR_EXT_hand_joints_motion_range_SPEC_VERSION 1 #define XR_EXT_HAND_JOINTS_MOTION_RANGE_EXTENSION_NAME "XR_EXT_hand_joints_motion_range" -#define XR_KHR_vulkan_enable2_SPEC_VERSION 2 +#define XR_KHR_vulkan_enable2_SPEC_VERSION 3 #define XR_KHR_VULKAN_ENABLE2_EXTENSION_NAME "XR_KHR_vulkan_enable2" #define XR_KHR_composition_layer_equirect2_SPEC_VERSION 1 #define XR_KHR_COMPOSITION_LAYER_EQUIRECT2_EXTENSION_NAME "XR_KHR_composition_layer_equirect2" @@ -327,16 +327,22 @@ #define XR_META_HAND_TRACKING_MICROGESTURES_EXTENSION_NAME "XR_META_hand_tracking_microgestures" #define XR_META_recommended_layer_resolution_SPEC_VERSION 1 #define XR_META_RECOMMENDED_LAYER_RESOLUTION_EXTENSION_NAME "XR_META_recommended_layer_resolution" +#define XR_META_spatial_entity_persistence_SPEC_VERSION 1 +#define XR_META_SPATIAL_ENTITY_PERSISTENCE_EXTENSION_NAME "XR_META_spatial_entity_persistence" #define XR_META_passthrough_color_lut_SPEC_VERSION 1 #define XR_META_PASSTHROUGH_COLOR_LUT_EXTENSION_NAME "XR_META_passthrough_color_lut" #define XR_META_spatial_entity_mesh_SPEC_VERSION 1 #define XR_META_SPATIAL_ENTITY_MESH_EXTENSION_NAME "XR_META_spatial_entity_mesh" #define XR_META_automatic_layer_filter_SPEC_VERSION 1 #define XR_META_AUTOMATIC_LAYER_FILTER_EXTENSION_NAME "XR_META_automatic_layer_filter" +#define XR_META_body_tracking_full_body_SPEC_VERSION 1 +#define XR_META_BODY_TRACKING_FULL_BODY_EXTENSION_NAME "XR_META_body_tracking_full_body" #define XR_META_touch_controller_plus_SPEC_VERSION 1 #define XR_META_TOUCH_CONTROLLER_PLUS_EXTENSION_NAME "XR_META_touch_controller_plus" #define XR_META_passthrough_layer_resumed_event_SPEC_VERSION 1 #define XR_META_PASSTHROUGH_LAYER_RESUMED_EVENT_EXTENSION_NAME "XR_META_passthrough_layer_resumed_event" +#define XR_META_body_tracking_calibration_SPEC_VERSION 1 +#define XR_META_BODY_TRACKING_CALIBRATION_EXTENSION_NAME "XR_META_body_tracking_calibration" #define XR_FB_face_tracking2_SPEC_VERSION 1 #define XR_FB_FACE_TRACKING2_EXTENSION_NAME "XR_FB_face_tracking2" #define XR_META_spatial_entity_sharing_SPEC_VERSION 1 @@ -347,6 +353,12 @@ #define XR_EXT_uuid_SPEC_VERSION 1 #define XR_EXT_UUID_EXTENSION_NAME "XR_EXT_uuid" #define XR_UUID_SIZE_EXT 16 +#define XR_EXT_render_model_SPEC_VERSION 1 +#define XR_EXT_RENDER_MODEL_EXTENSION_NAME "XR_EXT_render_model" +#define XR_NULL_RENDER_MODEL_ID_EXT 0 +#define XR_MAX_RENDER_MODEL_ASSET_NODE_NAME_SIZE_EXT 64 +#define XR_EXT_interaction_render_model_SPEC_VERSION 1 +#define XR_EXT_INTERACTION_RENDER_MODEL_EXTENSION_NAME "XR_EXT_interaction_render_model" #define XR_EXT_hand_interaction_SPEC_VERSION 1 #define XR_EXT_HAND_INTERACTION_EXTENSION_NAME "XR_EXT_hand_interaction" #define XR_QCOM_tracking_optimization_settings_SPEC_VERSION 1 @@ -368,14 +380,18 @@ #define XR_BD_BODY_TRACKING_EXTENSION_NAME "XR_BD_body_tracking" #define XR_BD_spatial_sensing_SPEC_VERSION 1 #define XR_BD_SPATIAL_SENSING_EXTENSION_NAME "XR_BD_spatial_sensing" -#define XR_BD_spatial_anchor_SPEC_VERSION 1 +#define XR_BD_spatial_anchor_SPEC_VERSION 2 #define XR_BD_SPATIAL_ANCHOR_EXTENSION_NAME "XR_BD_spatial_anchor" -#define XR_BD_spatial_anchor_sharing_SPEC_VERSION 1 +#define XR_BD_spatial_anchor_sharing_SPEC_VERSION 2 #define XR_BD_SPATIAL_ANCHOR_SHARING_EXTENSION_NAME "XR_BD_spatial_anchor_sharing" #define XR_BD_spatial_scene_SPEC_VERSION 1 #define XR_BD_SPATIAL_SCENE_EXTENSION_NAME "XR_BD_spatial_scene" #define XR_BD_spatial_mesh_SPEC_VERSION 1 #define XR_BD_SPATIAL_MESH_EXTENSION_NAME "XR_BD_spatial_mesh" +#define XR_BD_future_progress_SPEC_VERSION 1 +#define XR_BD_FUTURE_PROGRESS_EXTENSION_NAME "XR_BD_future_progress" +#define XR_BD_spatial_plane_SPEC_VERSION 1 +#define XR_BD_SPATIAL_PLANE_EXTENSION_NAME "XR_BD_spatial_plane" #define XR_EXT_local_floor_SPEC_VERSION 1 #define XR_EXT_LOCAL_FLOOR_EXTENSION_NAME "XR_EXT_local_floor" #define XR_EXT_hand_tracking_data_source_SPEC_VERSION 1 @@ -384,6 +400,16 @@ #define XR_EXT_PLANE_DETECTION_EXTENSION_NAME "XR_EXT_plane_detection" #define XR_OPPO_controller_interaction_SPEC_VERSION 1 #define XR_OPPO_CONTROLLER_INTERACTION_EXTENSION_NAME "XR_OPPO_controller_interaction" +#define XR_ANDROID_trackables_SPEC_VERSION 1 +#define XR_ANDROID_TRACKABLES_EXTENSION_NAME "XR_ANDROID_trackables" +#define XR_ANDROID_device_anchor_persistence_SPEC_VERSION 1 +#define XR_ANDROID_DEVICE_ANCHOR_PERSISTENCE_EXTENSION_NAME "XR_ANDROID_device_anchor_persistence" +#define XR_ANDROID_passthrough_camera_state_SPEC_VERSION 1 +#define XR_ANDROID_PASSTHROUGH_CAMERA_STATE_EXTENSION_NAME "XR_ANDROID_passthrough_camera_state" +#define XR_ANDROID_raycast_SPEC_VERSION 1 +#define XR_ANDROID_RAYCAST_EXTENSION_NAME "XR_ANDROID_raycast" +#define XR_ANDROID_trackables_object_SPEC_VERSION 1 +#define XR_ANDROID_TRACKABLES_OBJECT_EXTENSION_NAME "XR_ANDROID_trackables_object" #define XR_EXT_future_SPEC_VERSION 1 #define XR_EXT_FUTURE_EXTENSION_NAME "XR_EXT_future" #define XR_NULL_FUTURE_EXT 0 @@ -401,6 +427,8 @@ #define XR_ML_VIEW_CONFIGURATION_DEPTH_RANGE_CHANGE_EXTENSION_NAME "XR_ML_view_configuration_depth_range_change" #define XR_YVR_controller_interaction_SPEC_VERSION 1 #define XR_YVR_CONTROLLER_INTERACTION_EXTENSION_NAME "XR_YVR_controller_interaction" +#define XR_META_simultaneous_hands_and_controllers_SPEC_VERSION 1 +#define XR_META_SIMULTANEOUS_HANDS_AND_CONTROLLERS_EXTENSION_NAME "XR_META_simultaneous_hands_and_controllers" #define XR_EXT_composition_layer_inverted_alpha_SPEC_VERSION 1 #define XR_EXT_COMPOSITION_LAYER_INVERTED_ALPHA_EXTENSION_NAME "XR_EXT_composition_layer_inverted_alpha" #define XR_META_colocation_discovery_SPEC_VERSION 1 @@ -408,10 +436,26 @@ #define XR_MAX_COLOCATION_DISCOVERY_BUFFER_SIZE_META 1024 #define XR_META_spatial_entity_group_sharing_SPEC_VERSION 1 #define XR_META_SPATIAL_ENTITY_GROUP_SHARING_EXTENSION_NAME "XR_META_spatial_entity_group_sharing" +#define XR_ANDROID_trackables_marker_SPEC_VERSION 1 +#define XR_ANDROID_TRACKABLES_MARKER_EXTENSION_NAME "XR_ANDROID_trackables_marker" #define XR_KHR_maintenance1_SPEC_VERSION 1 #define XR_KHR_MAINTENANCE1_EXTENSION_NAME "XR_KHR_maintenance1" +#define XR_EXT_spatial_entity_SPEC_VERSION 1 +#define XR_EXT_SPATIAL_ENTITY_EXTENSION_NAME "XR_EXT_spatial_entity" +#define XR_EXT_spatial_plane_tracking_SPEC_VERSION 1 +#define XR_EXT_SPATIAL_PLANE_TRACKING_EXTENSION_NAME "XR_EXT_spatial_plane_tracking" +#define XR_EXT_spatial_marker_tracking_SPEC_VERSION 1 +#define XR_EXT_SPATIAL_MARKER_TRACKING_EXTENSION_NAME "XR_EXT_spatial_marker_tracking" #define XR_LOGITECH_mx_ink_stylus_interaction_SPEC_VERSION 1 #define XR_LOGITECH_MX_INK_STYLUS_INTERACTION_EXTENSION_NAME "XR_LOGITECH_mx_ink_stylus_interaction" +#define XR_EXT_spatial_anchor_SPEC_VERSION 1 +#define XR_EXT_SPATIAL_ANCHOR_EXTENSION_NAME "XR_EXT_spatial_anchor" +#define XR_EXT_spatial_persistence_SPEC_VERSION 1 +#define XR_EXT_SPATIAL_PERSISTENCE_EXTENSION_NAME "XR_EXT_spatial_persistence" +#define XR_EXT_spatial_persistence_operations_SPEC_VERSION 1 +#define XR_EXT_SPATIAL_PERSISTENCE_OPERATIONS_EXTENSION_NAME "XR_EXT_spatial_persistence_operations" +#define XR_EXT_loader_init_properties_SPEC_VERSION 1 +#define XR_EXT_LOADER_INIT_PROPERTIES_EXTENSION_NAME "XR_EXT_loader_init_properties" #define XR_MAKE_VERSION(major, minor, patch) \ @@ -424,7 +468,7 @@ #define XR_VERSION_PATCH(version) (uint32_t)((uint64_t)(version) & 0xffffffffULL) -#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 1, 47) +#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 1, 51) #define XR_API_VERSION_1_0 XR_MAKE_VERSION(1, 0, XR_VERSION_PATCH(XR_CURRENT_API_VERSION)) @@ -561,6 +605,9 @@ #define XR_HAND_FOREARM_JOINT_COUNT_ULTRALEAP 27 +#define XR_NULL_TRACKABLE_ANDROID 0 + + #define XR_FACE_EXPRESSSION_SET_DEFAULT_FB XR_FACE_EXPRESSION_SET_DEFAULT_FB @@ -570,6 +617,12 @@ #define XR_MAX_HAPTIC_PCM_BUFFER_SIZE_FB 4000 +#define XR_NULL_SPATIAL_ENTITY_ID_EXT 0 + + +#define XR_NULL_SPATIAL_BUFFER_ID_EXT 0 + + #define XR_BODY_JOINT_COUNT_HTC 26 XR_DEFINE_HANDLE(XrAction) XR_DEFINE_HANDLE(XrActionSet) @@ -577,6 +630,7 @@ XR_DEFINE_HANDLE(XrAnchorBD) XR_DEFINE_HANDLE(XrBodyTrackerBD) XR_DEFINE_HANDLE(XrBodyTrackerFB) XR_DEFINE_HANDLE(XrBodyTrackerHTC) +XR_DEFINE_HANDLE(XrDeviceAnchorPersistenceANDROID) XR_DEFINE_HANDLE(XrEnvironmentDepthProviderMETA) XR_DEFINE_HANDLE(XrEnvironmentDepthSwapchainMETA) XR_DEFINE_HANDLE(XrExportedLocalizationMapML) @@ -595,6 +649,8 @@ XR_DEFINE_HANDLE(XrPassthroughFB) XR_DEFINE_HANDLE(XrPassthroughHTC) XR_DEFINE_HANDLE(XrPassthroughLayerFB) XR_DEFINE_HANDLE(XrPlaneDetectorEXT) +XR_DEFINE_HANDLE(XrRenderModelAssetEXT) +XR_DEFINE_HANDLE(XrRenderModelEXT) XR_DEFINE_HANDLE(XrSceneMSFT) XR_DEFINE_HANDLE(XrSceneObserverMSFT) XR_DEFINE_HANDLE(XrSenseDataProviderBD) @@ -605,8 +661,13 @@ XR_DEFINE_HANDLE(XrSpaceUserFB) XR_DEFINE_HANDLE(XrSpatialAnchorMSFT) XR_DEFINE_HANDLE(XrSpatialAnchorStoreConnectionMSFT) XR_DEFINE_HANDLE(XrSpatialAnchorsStorageML) +XR_DEFINE_HANDLE(XrSpatialContextEXT) +XR_DEFINE_HANDLE(XrSpatialEntityEXT) XR_DEFINE_HANDLE(XrSpatialGraphNodeBindingMSFT) +XR_DEFINE_HANDLE(XrSpatialPersistenceContextEXT) +XR_DEFINE_HANDLE(XrSpatialSnapshotEXT) XR_DEFINE_HANDLE(XrSwapchain) +XR_DEFINE_HANDLE(XrTrackableTrackerANDROID) XR_DEFINE_HANDLE(XrTriangleMeshFB) XR_DEFINE_HANDLE(XrVirtualKeyboardMETA) XR_DEFINE_HANDLE(XrWorldMeshDetectorML) @@ -619,11 +680,15 @@ typedef uint64_t XrFlags64; typedef struct XrFutureEXT_T* XrFutureEXT; typedef uint64_t XrMarkerML; typedef uint64_t XrPath; +typedef uint64_t XrRenderModelIdEXT; typedef uint64_t XrRenderModelKeyFB; typedef uint64_t XrSpaceUserIdFB; +typedef uint64_t XrSpatialBufferIdEXT; typedef uint64_t XrSpatialEntityIdBD; +typedef uint64_t XrSpatialEntityIdEXT; typedef uint64_t XrSystemId; typedef int64_t XrTime; +typedef uint64_t XrTrackableANDROID; typedef uint64_t XrVersion; typedef XrFlags64 XrAndroidSurfaceSwapchainFlagsFB; @@ -687,6 +752,14 @@ typedef enum XrActionType XR_ACTION_TYPE_MAX_ENUM = 0x7fffffff, } XrActionType; +typedef enum XrAnchorPersistStateANDROID +{ + XR_ANCHOR_PERSIST_STATE_PERSIST_NOT_REQUESTED_ANDROID = 0, + XR_ANCHOR_PERSIST_STATE_PERSIST_PENDING_ANDROID = 1, + XR_ANCHOR_PERSIST_STATE_PERSISTED_ANDROID = 2, + XR_ANCHOR_PERSIST_STATE_ANDROID_MAX_ENUM = 0x7fffffff, +} XrAnchorPersistStateANDROID; + typedef enum XrBlendFactorFB { XR_BLEND_FACTOR_ZERO_FB = 0, @@ -853,6 +926,7 @@ typedef enum XrBodyJointSetBD typedef enum XrBodyJointSetFB { XR_BODY_JOINT_SET_DEFAULT_FB = 0, + XR_BODY_JOINT_SET_FULL_BODY_META = 1000274000, XR_BODY_JOINT_SET_FB_MAX_ENUM = 0x7fffffff, } XrBodyJointSetFB; @@ -862,6 +936,14 @@ typedef enum XrBodyJointSetHTC XR_BODY_JOINT_SET_HTC_MAX_ENUM = 0x7fffffff, } XrBodyJointSetHTC; +typedef enum XrBodyTrackingCalibrationStateMETA +{ + XR_BODY_TRACKING_CALIBRATION_STATE_VALID_META = 1, + XR_BODY_TRACKING_CALIBRATION_STATE_CALIBRATING_META = 2, + XR_BODY_TRACKING_CALIBRATION_STATE_INVALID_META = 3, + XR_BODY_TRACKING_CALIBRATION_STATE_META_MAX_ENUM = 0x7fffffff, +} XrBodyTrackingCalibrationStateMETA; + typedef enum XrColorSpaceFB { XR_COLOR_SPACE_UNMANAGED_FB = 0, @@ -1273,6 +1355,97 @@ typedef enum XrFoveationLevelFB XR_FOVEATION_LEVEL_FB_MAX_ENUM = 0x7fffffff, } XrFoveationLevelFB; +typedef enum XrFullBodyJointMETA +{ + XR_FULL_BODY_JOINT_ROOT_META = 0, + XR_FULL_BODY_JOINT_HIPS_META = 1, + XR_FULL_BODY_JOINT_SPINE_LOWER_META = 2, + XR_FULL_BODY_JOINT_SPINE_MIDDLE_META = 3, + XR_FULL_BODY_JOINT_SPINE_UPPER_META = 4, + XR_FULL_BODY_JOINT_CHEST_META = 5, + XR_FULL_BODY_JOINT_NECK_META = 6, + XR_FULL_BODY_JOINT_HEAD_META = 7, + XR_FULL_BODY_JOINT_LEFT_SHOULDER_META = 8, + XR_FULL_BODY_JOINT_LEFT_SCAPULA_META = 9, + XR_FULL_BODY_JOINT_LEFT_ARM_UPPER_META = 10, + XR_FULL_BODY_JOINT_LEFT_ARM_LOWER_META = 11, + XR_FULL_BODY_JOINT_LEFT_HAND_WRIST_TWIST_META = 12, + XR_FULL_BODY_JOINT_RIGHT_SHOULDER_META = 13, + XR_FULL_BODY_JOINT_RIGHT_SCAPULA_META = 14, + XR_FULL_BODY_JOINT_RIGHT_ARM_UPPER_META = 15, + XR_FULL_BODY_JOINT_RIGHT_ARM_LOWER_META = 16, + XR_FULL_BODY_JOINT_RIGHT_HAND_WRIST_TWIST_META = 17, + XR_FULL_BODY_JOINT_LEFT_HAND_PALM_META = 18, + XR_FULL_BODY_JOINT_LEFT_HAND_WRIST_META = 19, + XR_FULL_BODY_JOINT_LEFT_HAND_THUMB_METACARPAL_META = 20, + XR_FULL_BODY_JOINT_LEFT_HAND_THUMB_PROXIMAL_META = 21, + XR_FULL_BODY_JOINT_LEFT_HAND_THUMB_DISTAL_META = 22, + XR_FULL_BODY_JOINT_LEFT_HAND_THUMB_TIP_META = 23, + XR_FULL_BODY_JOINT_LEFT_HAND_INDEX_METACARPAL_META = 24, + XR_FULL_BODY_JOINT_LEFT_HAND_INDEX_PROXIMAL_META = 25, + XR_FULL_BODY_JOINT_LEFT_HAND_INDEX_INTERMEDIATE_META = 26, + XR_FULL_BODY_JOINT_LEFT_HAND_INDEX_DISTAL_META = 27, + XR_FULL_BODY_JOINT_LEFT_HAND_INDEX_TIP_META = 28, + XR_FULL_BODY_JOINT_LEFT_HAND_MIDDLE_METACARPAL_META = 29, + XR_FULL_BODY_JOINT_LEFT_HAND_MIDDLE_PROXIMAL_META = 30, + XR_FULL_BODY_JOINT_LEFT_HAND_MIDDLE_INTERMEDIATE_META = 31, + XR_FULL_BODY_JOINT_LEFT_HAND_MIDDLE_DISTAL_META = 32, + XR_FULL_BODY_JOINT_LEFT_HAND_MIDDLE_TIP_META = 33, + XR_FULL_BODY_JOINT_LEFT_HAND_RING_METACARPAL_META = 34, + XR_FULL_BODY_JOINT_LEFT_HAND_RING_PROXIMAL_META = 35, + XR_FULL_BODY_JOINT_LEFT_HAND_RING_INTERMEDIATE_META = 36, + XR_FULL_BODY_JOINT_LEFT_HAND_RING_DISTAL_META = 37, + XR_FULL_BODY_JOINT_LEFT_HAND_RING_TIP_META = 38, + XR_FULL_BODY_JOINT_LEFT_HAND_LITTLE_METACARPAL_META = 39, + XR_FULL_BODY_JOINT_LEFT_HAND_LITTLE_PROXIMAL_META = 40, + XR_FULL_BODY_JOINT_LEFT_HAND_LITTLE_INTERMEDIATE_META = 41, + XR_FULL_BODY_JOINT_LEFT_HAND_LITTLE_DISTAL_META = 42, + XR_FULL_BODY_JOINT_LEFT_HAND_LITTLE_TIP_META = 43, + XR_FULL_BODY_JOINT_RIGHT_HAND_PALM_META = 44, + XR_FULL_BODY_JOINT_RIGHT_HAND_WRIST_META = 45, + XR_FULL_BODY_JOINT_RIGHT_HAND_THUMB_METACARPAL_META = 46, + XR_FULL_BODY_JOINT_RIGHT_HAND_THUMB_PROXIMAL_META = 47, + XR_FULL_BODY_JOINT_RIGHT_HAND_THUMB_DISTAL_META = 48, + XR_FULL_BODY_JOINT_RIGHT_HAND_THUMB_TIP_META = 49, + XR_FULL_BODY_JOINT_RIGHT_HAND_INDEX_METACARPAL_META = 50, + XR_FULL_BODY_JOINT_RIGHT_HAND_INDEX_PROXIMAL_META = 51, + XR_FULL_BODY_JOINT_RIGHT_HAND_INDEX_INTERMEDIATE_META = 52, + XR_FULL_BODY_JOINT_RIGHT_HAND_INDEX_DISTAL_META = 53, + XR_FULL_BODY_JOINT_RIGHT_HAND_INDEX_TIP_META = 54, + XR_FULL_BODY_JOINT_RIGHT_HAND_MIDDLE_METACARPAL_META = 55, + XR_FULL_BODY_JOINT_RIGHT_HAND_MIDDLE_PROXIMAL_META = 56, + XR_FULL_BODY_JOINT_RIGHT_HAND_MIDDLE_INTERMEDIATE_META = 57, + XR_FULL_BODY_JOINT_RIGHT_HAND_MIDDLE_DISTAL_META = 58, + XR_FULL_BODY_JOINT_RIGHT_HAND_MIDDLE_TIP_META = 59, + XR_FULL_BODY_JOINT_RIGHT_HAND_RING_METACARPAL_META = 60, + XR_FULL_BODY_JOINT_RIGHT_HAND_RING_PROXIMAL_META = 61, + XR_FULL_BODY_JOINT_RIGHT_HAND_RING_INTERMEDIATE_META = 62, + XR_FULL_BODY_JOINT_RIGHT_HAND_RING_DISTAL_META = 63, + XR_FULL_BODY_JOINT_RIGHT_HAND_RING_TIP_META = 64, + XR_FULL_BODY_JOINT_RIGHT_HAND_LITTLE_METACARPAL_META = 65, + XR_FULL_BODY_JOINT_RIGHT_HAND_LITTLE_PROXIMAL_META = 66, + XR_FULL_BODY_JOINT_RIGHT_HAND_LITTLE_INTERMEDIATE_META = 67, + XR_FULL_BODY_JOINT_RIGHT_HAND_LITTLE_DISTAL_META = 68, + XR_FULL_BODY_JOINT_RIGHT_HAND_LITTLE_TIP_META = 69, + XR_FULL_BODY_JOINT_LEFT_UPPER_LEG_META = 70, + XR_FULL_BODY_JOINT_LEFT_LOWER_LEG_META = 71, + XR_FULL_BODY_JOINT_LEFT_FOOT_ANKLE_TWIST_META = 72, + XR_FULL_BODY_JOINT_LEFT_FOOT_ANKLE_META = 73, + XR_FULL_BODY_JOINT_LEFT_FOOT_SUBTALAR_META = 74, + XR_FULL_BODY_JOINT_LEFT_FOOT_TRANSVERSE_META = 75, + XR_FULL_BODY_JOINT_LEFT_FOOT_BALL_META = 76, + XR_FULL_BODY_JOINT_RIGHT_UPPER_LEG_META = 77, + XR_FULL_BODY_JOINT_RIGHT_LOWER_LEG_META = 78, + XR_FULL_BODY_JOINT_RIGHT_FOOT_ANKLE_TWIST_META = 79, + XR_FULL_BODY_JOINT_RIGHT_FOOT_ANKLE_META = 80, + XR_FULL_BODY_JOINT_RIGHT_FOOT_SUBTALAR_META = 81, + XR_FULL_BODY_JOINT_RIGHT_FOOT_TRANSVERSE_META = 82, + XR_FULL_BODY_JOINT_RIGHT_FOOT_BALL_META = 83, + XR_FULL_BODY_JOINT_COUNT_META = 84, + XR_FULL_BODY_JOINT_NONE_META = 85, + XR_FULL_BODY_JOINT_META_MAX_ENUM = 0x7fffffff, +} XrFullBodyJointMETA; + typedef enum XrFutureStateEXT { XR_FUTURE_STATE_PENDING_EXT = 1, @@ -1627,6 +1800,15 @@ typedef enum XrMeshComputeLodMSFT XR_MESH_COMPUTE_LOD_MSFT_MAX_ENUM = 0x7fffffff, } XrMeshComputeLodMSFT; +typedef enum XrObjectLabelANDROID +{ + XR_OBJECT_LABEL_UNKNOWN_ANDROID = 0, + XR_OBJECT_LABEL_KEYBOARD_ANDROID = 1, + XR_OBJECT_LABEL_MOUSE_ANDROID = 2, + XR_OBJECT_LABEL_LAPTOP_ANDROID = 3, + XR_OBJECT_LABEL_ANDROID_MAX_ENUM = 0x7fffffff, +} XrObjectLabelANDROID; + typedef enum XrObjectType { XR_OBJECT_TYPE_UNKNOWN = 0, @@ -1660,6 +1842,8 @@ typedef enum XrObjectType XR_OBJECT_TYPE_FACE_TRACKER2_FB = 1000287012, XR_OBJECT_TYPE_ENVIRONMENT_DEPTH_PROVIDER_META = 1000291000, XR_OBJECT_TYPE_ENVIRONMENT_DEPTH_SWAPCHAIN_META = 1000291001, + XR_OBJECT_TYPE_RENDER_MODEL_EXT = 1000300000, + XR_OBJECT_TYPE_RENDER_MODEL_ASSET_EXT = 1000300001, XR_OBJECT_TYPE_PASSTHROUGH_HTC = 1000317000, XR_OBJECT_TYPE_BODY_TRACKER_HTC = 1000320000, XR_OBJECT_TYPE_BODY_TRACKER_BD = 1000385000, @@ -1667,11 +1851,26 @@ typedef enum XrObjectType XR_OBJECT_TYPE_SENSE_DATA_SNAPSHOT_BD = 1000389001, XR_OBJECT_TYPE_ANCHOR_BD = 1000389002, XR_OBJECT_TYPE_PLANE_DETECTOR_EXT = 1000429000, + XR_OBJECT_TYPE_TRACKABLE_TRACKER_ANDROID = 1000455001, + XR_OBJECT_TYPE_DEVICE_ANCHOR_PERSISTENCE_ANDROID = 1000457000, XR_OBJECT_TYPE_WORLD_MESH_DETECTOR_ML = 1000474000, XR_OBJECT_TYPE_FACIAL_EXPRESSION_CLIENT_ML = 1000482000, + XR_OBJECT_TYPE_SPATIAL_ENTITY_EXT = 1000740000, + XR_OBJECT_TYPE_SPATIAL_CONTEXT_EXT = 1000740001, + XR_OBJECT_TYPE_SPATIAL_SNAPSHOT_EXT = 1000740002, + XR_OBJECT_TYPE_SPATIAL_PERSISTENCE_CONTEXT_EXT = 1000763000, XR_OBJECT_TYPE_MAX_ENUM = 0x7fffffff, } XrObjectType; +typedef enum XrPassthroughCameraStateANDROID +{ + XR_PASSTHROUGH_CAMERA_STATE_DISABLED_ANDROID = 0, + XR_PASSTHROUGH_CAMERA_STATE_INITIALIZING_ANDROID = 1, + XR_PASSTHROUGH_CAMERA_STATE_READY_ANDROID = 2, + XR_PASSTHROUGH_CAMERA_STATE_ERROR_ANDROID = 3, + XR_PASSTHROUGH_CAMERA_STATE_ANDROID_MAX_ENUM = 0x7fffffff, +} XrPassthroughCameraStateANDROID; + typedef enum XrPassthroughColorLutChannelsMETA { XR_PASSTHROUGH_COLOR_LUT_CHANNELS_RGB_META = 1, @@ -1799,6 +1998,34 @@ typedef enum XrPlaneDetectorSemanticTypeEXT XR_PLANE_DETECTOR_SEMANTIC_TYPE_EXT_MAX_ENUM = 0x7fffffff, } XrPlaneDetectorSemanticTypeEXT; +typedef enum XrPlaneLabelANDROID +{ + XR_PLANE_LABEL_UNKNOWN_ANDROID = 0, + XR_PLANE_LABEL_WALL_ANDROID = 1, + XR_PLANE_LABEL_FLOOR_ANDROID = 2, + XR_PLANE_LABEL_CEILING_ANDROID = 3, + XR_PLANE_LABEL_TABLE_ANDROID = 4, + XR_PLANE_LABEL_ANDROID_MAX_ENUM = 0x7fffffff, +} XrPlaneLabelANDROID; + +typedef enum XrPlaneOrientationBD +{ + XR_PLANE_ORIENTATION_HORIZONTAL_UPWARD_BD = 0, + XR_PLANE_ORIENTATION_HORIZONTAL_DOWNWARD_BD = 1, + XR_PLANE_ORIENTATION_VERTICAL_BD = 2, + XR_PLANE_ORIENTATION_ARBITRARY_BD = 3, + XR_PLANE_ORIENTATION_BD_MAX_ENUM = 0x7fffffff, +} XrPlaneOrientationBD; + +typedef enum XrPlaneTypeANDROID +{ + XR_PLANE_TYPE_HORIZONTAL_DOWNWARD_FACING_ANDROID = 0, + XR_PLANE_TYPE_HORIZONTAL_UPWARD_FACING_ANDROID = 1, + XR_PLANE_TYPE_VERTICAL_ANDROID = 2, + XR_PLANE_TYPE_ARBITRARY_ANDROID = 3, + XR_PLANE_TYPE_ANDROID_MAX_ENUM = 0x7fffffff, +} XrPlaneTypeANDROID; + typedef enum XrReferenceSpaceType { XR_REFERENCE_SPACE_TYPE_VIEW = 1, @@ -1830,6 +2057,14 @@ typedef enum XrReprojectionModeMSFT typedef enum XrResult { + XR_ERROR_SPATIAL_PERSISTENCE_SCOPE_INCOMPATIBLE_EXT = -1000781001, + XR_ERROR_SPATIAL_PERSISTENCE_SCOPE_UNSUPPORTED_EXT = -1000763001, + XR_ERROR_SPATIAL_COMPONENT_NOT_ENABLED_EXT = -1000740006, + XR_ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT = -1000740005, + XR_ERROR_SPATIAL_COMPONENT_UNSUPPORTED_FOR_CAPABILITY_EXT = -1000740004, + XR_ERROR_SPATIAL_BUFFER_ID_INVALID_EXT = -1000740003, + XR_ERROR_SPATIAL_ENTITY_ID_INVALID_EXT = -1000740002, + XR_ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT = -1000740001, XR_ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED = -1000710001, XR_ERROR_PERMISSION_INSUFFICIENT = -1000710000, XR_ERROR_SPACE_GROUP_NOT_FOUND_META = -1000572002, @@ -1841,6 +2076,12 @@ typedef enum XrResult XR_ERROR_SYSTEM_NOTIFICATION_PERMISSION_DENIED_ML = -1000473000, XR_ERROR_FUTURE_INVALID_EXT = -1000469002, XR_ERROR_FUTURE_PENDING_EXT = -1000469001, + XR_ERROR_PERSISTED_DATA_NOT_READY_ANDROID = -1000457003, + XR_ERROR_ANCHOR_NOT_TRACKING_ANDROID = -1000457002, + XR_ERROR_ANCHOR_ALREADY_PERSISTED_ANDROID = -1000457001, + XR_ERROR_ANCHOR_ID_NOT_FOUND_ANDROID = -1000457000, + XR_ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID = -1000455001, + XR_ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID = -1000455000, XR_ERROR_PLANE_DETECTION_PERMISSION_DENIED_EXT = -1000429001, XR_ERROR_SPACE_NOT_LOCATABLE_EXT = -1000429000, XR_ERROR_SCENE_CAPTURE_FAILURE_BD = -1000392000, @@ -1855,7 +2096,18 @@ typedef enum XrResult XR_ERROR_SPATIAL_ENTITY_ID_INVALID_BD = -1000389000, XR_ERROR_NOT_AN_ANCHOR_HTC = -1000319000, XR_ERROR_HINT_ALREADY_SET_QCOM = -1000306000, + XR_ERROR_NOT_INTERACTION_RENDER_MODEL_EXT = -1000301000, + XR_ERROR_RENDER_MODEL_GLTF_EXTENSION_REQUIRED_EXT = -1000300002, + XR_ERROR_RENDER_MODEL_ASSET_UNAVAILABLE_EXT = -1000300001, + XR_ERROR_RENDER_MODEL_ID_INVALID_EXT = -1000300000, XR_ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META = -1000266000, + XR_ERROR_SPACE_TOO_BRIGHT_META = -1000259006, + XR_ERROR_SPACE_TOO_DARK_META = -1000259005, + XR_ERROR_SPACE_RATE_LIMITED_META = -1000259004, + XR_ERROR_SPACE_PERMISSION_INSUFFICIENT_META = -1000259003, + XR_ERROR_SPACE_INSUFFICIENT_VIEW_META = -1000259002, + XR_ERROR_SPACE_STORAGE_AT_CAPACITY_META = -1000259001, + XR_ERROR_SPACE_INSUFFICIENT_RESOURCES_META = -1000259000, XR_ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB = -1000169004, XR_ERROR_SPACE_NETWORK_REQUEST_FAILED_FB = -1000169003, XR_ERROR_SPACE_NETWORK_TIMEOUT_FB = -1000169002, @@ -2095,6 +2347,7 @@ typedef enum XrSenseDataProviderTypeBD XR_SENSE_DATA_PROVIDER_TYPE_ANCHOR_BD = 1000390000, XR_SENSE_DATA_PROVIDER_TYPE_SCENE_BD = 1000392000, XR_SENSE_DATA_PROVIDER_TYPE_MESH_BD = 1000393000, + XR_SENSE_DATA_PROVIDER_TYPE_PLANE_BD = 1000396000, XR_SENSE_DATA_PROVIDER_TYPE_BD_MAX_ENUM = 0x7fffffff, } XrSenseDataProviderTypeBD; @@ -2176,6 +2429,53 @@ typedef enum XrSpatialAnchorConfidenceML XR_SPATIAL_ANCHOR_CONFIDENCE_ML_MAX_ENUM = 0x7fffffff, } XrSpatialAnchorConfidenceML; +typedef enum XrSpatialBufferTypeEXT +{ + XR_SPATIAL_BUFFER_TYPE_UNKNOWN_EXT = 0, + XR_SPATIAL_BUFFER_TYPE_STRING_EXT = 1, + XR_SPATIAL_BUFFER_TYPE_UINT8_EXT = 2, + XR_SPATIAL_BUFFER_TYPE_UINT16_EXT = 3, + XR_SPATIAL_BUFFER_TYPE_UINT32_EXT = 4, + XR_SPATIAL_BUFFER_TYPE_FLOAT_EXT = 5, + XR_SPATIAL_BUFFER_TYPE_VECTOR2F_EXT = 6, + XR_SPATIAL_BUFFER_TYPE_VECTOR3F_EXT = 7, + XR_SPATIAL_BUFFER_TYPE_EXT_MAX_ENUM = 0x7fffffff, +} XrSpatialBufferTypeEXT; + +typedef enum XrSpatialCapabilityEXT +{ + XR_SPATIAL_CAPABILITY_PLANE_TRACKING_EXT = 1000741000, + XR_SPATIAL_CAPABILITY_MARKER_TRACKING_QR_CODE_EXT = 1000743000, + XR_SPATIAL_CAPABILITY_MARKER_TRACKING_MICRO_QR_CODE_EXT = 1000743001, + XR_SPATIAL_CAPABILITY_MARKER_TRACKING_ARUCO_MARKER_EXT = 1000743002, + XR_SPATIAL_CAPABILITY_MARKER_TRACKING_APRIL_TAG_EXT = 1000743003, + XR_SPATIAL_CAPABILITY_ANCHOR_EXT = 1000762000, + XR_SPATIAL_CAPABILITY_EXT_MAX_ENUM = 0x7fffffff, +} XrSpatialCapabilityEXT; + +typedef enum XrSpatialCapabilityFeatureEXT +{ + XR_SPATIAL_CAPABILITY_FEATURE_MARKER_TRACKING_FIXED_SIZE_MARKERS_EXT = 1000743000, + XR_SPATIAL_CAPABILITY_FEATURE_MARKER_TRACKING_STATIC_MARKERS_EXT = 1000743001, + XR_SPATIAL_CAPABILITY_FEATURE_EXT_MAX_ENUM = 0x7fffffff, +} XrSpatialCapabilityFeatureEXT; + +typedef enum XrSpatialComponentTypeEXT +{ + XR_SPATIAL_COMPONENT_TYPE_BOUNDED_2D_EXT = 1, + XR_SPATIAL_COMPONENT_TYPE_BOUNDED_3D_EXT = 2, + XR_SPATIAL_COMPONENT_TYPE_PARENT_EXT = 3, + XR_SPATIAL_COMPONENT_TYPE_MESH_3D_EXT = 4, + XR_SPATIAL_COMPONENT_TYPE_PLANE_ALIGNMENT_EXT = 1000741000, + XR_SPATIAL_COMPONENT_TYPE_MESH_2D_EXT = 1000741001, + XR_SPATIAL_COMPONENT_TYPE_POLYGON_2D_EXT = 1000741002, + XR_SPATIAL_COMPONENT_TYPE_PLANE_SEMANTIC_LABEL_EXT = 1000741003, + XR_SPATIAL_COMPONENT_TYPE_MARKER_EXT = 1000743000, + XR_SPATIAL_COMPONENT_TYPE_ANCHOR_EXT = 1000762000, + XR_SPATIAL_COMPONENT_TYPE_PERSISTENCE_EXT = 1000763000, + XR_SPATIAL_COMPONENT_TYPE_EXT_MAX_ENUM = 0x7fffffff, +} XrSpatialComponentTypeEXT; + typedef enum XrSpatialEntityComponentTypeBD { XR_SPATIAL_ENTITY_COMPONENT_TYPE_LOCATION_BD = 0, @@ -2184,9 +2484,18 @@ typedef enum XrSpatialEntityComponentTypeBD XR_SPATIAL_ENTITY_COMPONENT_TYPE_POLYGON_BD = 3, XR_SPATIAL_ENTITY_COMPONENT_TYPE_BOUNDING_BOX_3D_BD = 4, XR_SPATIAL_ENTITY_COMPONENT_TYPE_TRIANGLE_MESH_BD = 5, + XR_SPATIAL_ENTITY_COMPONENT_TYPE_PLANE_ORIENTATION_BD = 1000396000, XR_SPATIAL_ENTITY_COMPONENT_TYPE_BD_MAX_ENUM = 0x7fffffff, } XrSpatialEntityComponentTypeBD; +typedef enum XrSpatialEntityTrackingStateEXT +{ + XR_SPATIAL_ENTITY_TRACKING_STATE_STOPPED_EXT = 1, + XR_SPATIAL_ENTITY_TRACKING_STATE_PAUSED_EXT = 2, + XR_SPATIAL_ENTITY_TRACKING_STATE_TRACKING_EXT = 3, + XR_SPATIAL_ENTITY_TRACKING_STATE_EXT_MAX_ENUM = 0x7fffffff, +} XrSpatialEntityTrackingStateEXT; + typedef enum XrSpatialGraphNodeTypeMSFT { XR_SPATIAL_GRAPH_NODE_TYPE_STATIC_MSFT = 1, @@ -2194,6 +2503,36 @@ typedef enum XrSpatialGraphNodeTypeMSFT XR_SPATIAL_GRAPH_NODE_TYPE_MSFT_MAX_ENUM = 0x7fffffff, } XrSpatialGraphNodeTypeMSFT; +typedef enum XrSpatialMarkerAprilTagDictEXT +{ + XR_SPATIAL_MARKER_APRIL_TAG_DICT_16H5_EXT = 1, + XR_SPATIAL_MARKER_APRIL_TAG_DICT_25H9_EXT = 2, + XR_SPATIAL_MARKER_APRIL_TAG_DICT_36H10_EXT = 3, + XR_SPATIAL_MARKER_APRIL_TAG_DICT_36H11_EXT = 4, + XR_SPATIAL_MARKER_APRIL_TAG_DICT_EXT_MAX_ENUM = 0x7fffffff, +} XrSpatialMarkerAprilTagDictEXT; + +typedef enum XrSpatialMarkerArucoDictEXT +{ + XR_SPATIAL_MARKER_ARUCO_DICT_4X4_50_EXT = 1, + XR_SPATIAL_MARKER_ARUCO_DICT_4X4_100_EXT = 2, + XR_SPATIAL_MARKER_ARUCO_DICT_4X4_250_EXT = 3, + XR_SPATIAL_MARKER_ARUCO_DICT_4X4_1000_EXT = 4, + XR_SPATIAL_MARKER_ARUCO_DICT_5X5_50_EXT = 5, + XR_SPATIAL_MARKER_ARUCO_DICT_5X5_100_EXT = 6, + XR_SPATIAL_MARKER_ARUCO_DICT_5X5_250_EXT = 7, + XR_SPATIAL_MARKER_ARUCO_DICT_5X5_1000_EXT = 8, + XR_SPATIAL_MARKER_ARUCO_DICT_6X6_50_EXT = 9, + XR_SPATIAL_MARKER_ARUCO_DICT_6X6_100_EXT = 10, + XR_SPATIAL_MARKER_ARUCO_DICT_6X6_250_EXT = 11, + XR_SPATIAL_MARKER_ARUCO_DICT_6X6_1000_EXT = 12, + XR_SPATIAL_MARKER_ARUCO_DICT_7X7_50_EXT = 13, + XR_SPATIAL_MARKER_ARUCO_DICT_7X7_100_EXT = 14, + XR_SPATIAL_MARKER_ARUCO_DICT_7X7_250_EXT = 15, + XR_SPATIAL_MARKER_ARUCO_DICT_7X7_1000_EXT = 16, + XR_SPATIAL_MARKER_ARUCO_DICT_EXT_MAX_ENUM = 0x7fffffff, +} XrSpatialMarkerArucoDictEXT; + typedef enum XrSpatialMeshConfigFlagBitsBD { XR_SPATIAL_MESH_CONFIG_SEMANTIC_BIT_BD = 0x00000001, @@ -2209,6 +2548,47 @@ typedef enum XrSpatialMeshLodBD XR_SPATIAL_MESH_LOD_BD_MAX_ENUM = 0x7fffffff, } XrSpatialMeshLodBD; +typedef enum XrSpatialPersistenceContextResultEXT +{ + XR_SPATIAL_PERSISTENCE_CONTEXT_RESULT_PERSIST_UUID_NOT_FOUND_EXT = -1000781002, + XR_SPATIAL_PERSISTENCE_CONTEXT_RESULT_ENTITY_NOT_TRACKING_EXT = -1000781001, + XR_SPATIAL_PERSISTENCE_CONTEXT_RESULT_SUCCESS_EXT = 0, + XR_SPATIAL_PERSISTENCE_CONTEXT_RESULT_EXT_MAX_ENUM = 0x7fffffff, +} XrSpatialPersistenceContextResultEXT; + +typedef enum XrSpatialPersistenceScopeEXT +{ + XR_SPATIAL_PERSISTENCE_SCOPE_SYSTEM_MANAGED_EXT = 1, + XR_SPATIAL_PERSISTENCE_SCOPE_LOCAL_ANCHORS_EXT = 1000781000, + XR_SPATIAL_PERSISTENCE_SCOPE_EXT_MAX_ENUM = 0x7fffffff, +} XrSpatialPersistenceScopeEXT; + +typedef enum XrSpatialPersistenceStateEXT +{ + XR_SPATIAL_PERSISTENCE_STATE_LOADED_EXT = 1, + XR_SPATIAL_PERSISTENCE_STATE_NOT_FOUND_EXT = 2, + XR_SPATIAL_PERSISTENCE_STATE_EXT_MAX_ENUM = 0x7fffffff, +} XrSpatialPersistenceStateEXT; + +typedef enum XrSpatialPlaneAlignmentEXT +{ + XR_SPATIAL_PLANE_ALIGNMENT_HORIZONTAL_UPWARD_EXT = 0, + XR_SPATIAL_PLANE_ALIGNMENT_HORIZONTAL_DOWNWARD_EXT = 1, + XR_SPATIAL_PLANE_ALIGNMENT_VERTICAL_EXT = 2, + XR_SPATIAL_PLANE_ALIGNMENT_ARBITRARY_EXT = 3, + XR_SPATIAL_PLANE_ALIGNMENT_EXT_MAX_ENUM = 0x7fffffff, +} XrSpatialPlaneAlignmentEXT; + +typedef enum XrSpatialPlaneSemanticLabelEXT +{ + XR_SPATIAL_PLANE_SEMANTIC_LABEL_UNCATEGORIZED_EXT = 1, + XR_SPATIAL_PLANE_SEMANTIC_LABEL_FLOOR_EXT = 2, + XR_SPATIAL_PLANE_SEMANTIC_LABEL_WALL_EXT = 3, + XR_SPATIAL_PLANE_SEMANTIC_LABEL_CEILING_EXT = 4, + XR_SPATIAL_PLANE_SEMANTIC_LABEL_TABLE_EXT = 5, + XR_SPATIAL_PLANE_SEMANTIC_LABEL_EXT_MAX_ENUM = 0x7fffffff, +} XrSpatialPlaneSemanticLabelEXT; + typedef enum XrStructureType { XR_TYPE_UNKNOWN = 0, @@ -2516,6 +2896,11 @@ typedef enum XrStructureType XR_TYPE_SYSTEM_HEADSET_ID_PROPERTIES_META = 1000245000, XR_TYPE_RECOMMENDED_LAYER_RESOLUTION_META = 1000254000, XR_TYPE_RECOMMENDED_LAYER_RESOLUTION_GET_INFO_META = 1000254001, + XR_TYPE_SYSTEM_SPACE_PERSISTENCE_PROPERTIES_META = 1000259000, + XR_TYPE_SPACES_SAVE_INFO_META = 1000259001, + XR_TYPE_EVENT_DATA_SPACES_SAVE_RESULT_META = 1000259002, + XR_TYPE_SPACES_ERASE_INFO_META = 1000259003, + XR_TYPE_EVENT_DATA_SPACES_ERASE_RESULT_META = 1000259004, XR_TYPE_SYSTEM_PASSTHROUGH_COLOR_LUT_PROPERTIES_META = 1000266000, XR_TYPE_PASSTHROUGH_COLOR_LUT_CREATE_INFO_META = 1000266001, XR_TYPE_PASSTHROUGH_COLOR_LUT_UPDATE_INFO_META = 1000266002, @@ -2523,7 +2908,11 @@ typedef enum XrStructureType XR_TYPE_PASSTHROUGH_COLOR_MAP_INTERPOLATED_LUT_META = 1000266101, XR_TYPE_SPACE_TRIANGLE_MESH_GET_INFO_META = 1000269001, XR_TYPE_SPACE_TRIANGLE_MESH_META = 1000269002, + XR_TYPE_SYSTEM_PROPERTIES_BODY_TRACKING_FULL_BODY_META = 1000274000, XR_TYPE_EVENT_DATA_PASSTHROUGH_LAYER_RESUMED_META = 1000282000, + XR_TYPE_BODY_TRACKING_CALIBRATION_INFO_META = 1000283002, + XR_TYPE_BODY_TRACKING_CALIBRATION_STATUS_META = 1000283003, + XR_TYPE_SYSTEM_PROPERTIES_BODY_TRACKING_CALIBRATION_META = 1000283004, XR_TYPE_SYSTEM_FACE_TRACKING_PROPERTIES2_FB = 1000287013, XR_TYPE_FACE_TRACKER_CREATE_INFO2_FB = 1000287014, XR_TYPE_FACE_EXPRESSION_INFO2_FB = 1000287015, @@ -2539,6 +2928,21 @@ typedef enum XrStructureType XR_TYPE_ENVIRONMENT_DEPTH_IMAGE_META = 1000291005, XR_TYPE_ENVIRONMENT_DEPTH_HAND_REMOVAL_SET_INFO_META = 1000291006, XR_TYPE_SYSTEM_ENVIRONMENT_DEPTH_PROPERTIES_META = 1000291007, + XR_TYPE_RENDER_MODEL_CREATE_INFO_EXT = 1000300000, + XR_TYPE_RENDER_MODEL_PROPERTIES_GET_INFO_EXT = 1000300001, + XR_TYPE_RENDER_MODEL_PROPERTIES_EXT = 1000300002, + XR_TYPE_RENDER_MODEL_SPACE_CREATE_INFO_EXT = 1000300003, + XR_TYPE_RENDER_MODEL_STATE_GET_INFO_EXT = 1000300004, + XR_TYPE_RENDER_MODEL_STATE_EXT = 1000300005, + XR_TYPE_RENDER_MODEL_ASSET_CREATE_INFO_EXT = 1000300006, + XR_TYPE_RENDER_MODEL_ASSET_DATA_GET_INFO_EXT = 1000300007, + XR_TYPE_RENDER_MODEL_ASSET_DATA_EXT = 1000300008, + XR_TYPE_RENDER_MODEL_ASSET_PROPERTIES_GET_INFO_EXT = 1000300009, + XR_TYPE_RENDER_MODEL_ASSET_PROPERTIES_EXT = 1000300010, + XR_TYPE_INTERACTION_RENDER_MODEL_IDS_ENUMERATE_INFO_EXT = 1000301000, + XR_TYPE_INTERACTION_RENDER_MODEL_SUBACTION_PATH_INFO_EXT = 1000301001, + XR_TYPE_EVENT_DATA_INTERACTION_RENDER_MODELS_CHANGED_EXT = 1000301002, + XR_TYPE_INTERACTION_RENDER_MODEL_TOP_LEVEL_USER_PATH_GET_INFO_EXT = 1000301003, XR_TYPE_PASSTHROUGH_CREATE_INFO_HTC = 1000317001, XR_TYPE_PASSTHROUGH_COLOR_HTC = 1000317002, XR_TYPE_PASSTHROUGH_MESH_TRANSFORM_INFO_HTC = 1000317003, @@ -2591,6 +2995,10 @@ typedef enum XrStructureType XR_TYPE_SCENE_CAPTURE_INFO_BD = 1000392001, XR_TYPE_SYSTEM_SPATIAL_MESH_PROPERTIES_BD = 1000393000, XR_TYPE_SENSE_DATA_PROVIDER_CREATE_INFO_SPATIAL_MESH_BD = 1000393001, + XR_TYPE_FUTURE_POLL_RESULT_PROGRESS_BD = 1000394001, + XR_TYPE_SYSTEM_SPATIAL_PLANE_PROPERTIES_BD = 1000396000, + XR_TYPE_SPATIAL_ENTITY_COMPONENT_DATA_PLANE_ORIENTATION_BD = 1000396001, + XR_TYPE_SENSE_DATA_FILTER_PLANE_ORIENTATION_BD = 1000396002, XR_TYPE_HAND_TRACKING_DATA_SOURCE_INFO_EXT = 1000428000, XR_TYPE_HAND_TRACKING_DATA_SOURCE_STATE_EXT = 1000428001, XR_TYPE_PLANE_DETECTOR_CREATE_INFO_EXT = 1000429001, @@ -2600,6 +3008,21 @@ typedef enum XrStructureType XR_TYPE_PLANE_DETECTOR_LOCATION_EXT = 1000429005, XR_TYPE_PLANE_DETECTOR_POLYGON_BUFFER_EXT = 1000429006, XR_TYPE_SYSTEM_PLANE_DETECTION_PROPERTIES_EXT = 1000429007, + XR_TYPE_TRACKABLE_GET_INFO_ANDROID = 1000455000, + XR_TYPE_ANCHOR_SPACE_CREATE_INFO_ANDROID = 1000455001, + XR_TYPE_TRACKABLE_PLANE_ANDROID = 1000455003, + XR_TYPE_TRACKABLE_TRACKER_CREATE_INFO_ANDROID = 1000455004, + XR_TYPE_SYSTEM_TRACKABLES_PROPERTIES_ANDROID = 1000455005, + XR_TYPE_PERSISTED_ANCHOR_SPACE_CREATE_INFO_ANDROID = 1000457001, + XR_TYPE_PERSISTED_ANCHOR_SPACE_INFO_ANDROID = 1000457002, + XR_TYPE_DEVICE_ANCHOR_PERSISTENCE_CREATE_INFO_ANDROID = 1000457003, + XR_TYPE_SYSTEM_DEVICE_ANCHOR_PERSISTENCE_PROPERTIES_ANDROID = 1000457004, + XR_TYPE_PASSTHROUGH_CAMERA_STATE_GET_INFO_ANDROID = 1000460000, + XR_TYPE_SYSTEM_PASSTHROUGH_CAMERA_STATE_PROPERTIES_ANDROID = 1000460001, + XR_TYPE_RAYCAST_INFO_ANDROID = 1000463000, + XR_TYPE_RAYCAST_HIT_RESULTS_ANDROID = 1000463001, + XR_TYPE_TRACKABLE_OBJECT_ANDROID = 1000466000, + XR_TYPE_TRACKABLE_OBJECT_CONFIGURATION_ANDROID = 1000466001, XR_TYPE_FUTURE_CANCEL_INFO_EXT = 1000469000, XR_TYPE_FUTURE_POLL_INFO_EXT = 1000469001, XR_TYPE_FUTURE_COMPLETION_EXT = 1000469002, @@ -2629,6 +3052,9 @@ typedef enum XrStructureType XR_TYPE_FACIAL_EXPRESSION_CLIENT_CREATE_INFO_ML = 1000482005, XR_TYPE_FACIAL_EXPRESSION_BLEND_SHAPE_GET_INFO_ML = 1000482006, XR_TYPE_FACIAL_EXPRESSION_BLEND_SHAPE_PROPERTIES_ML = 1000482007, + XR_TYPE_SYSTEM_SIMULTANEOUS_HANDS_AND_CONTROLLERS_PROPERTIES_META = 1000532001, + XR_TYPE_SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_RESUME_INFO_META = 1000532002, + XR_TYPE_SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_PAUSE_INFO_META = 1000532003, XR_TYPE_COLOCATION_DISCOVERY_START_INFO_META = 1000571010, XR_TYPE_COLOCATION_DISCOVERY_STOP_INFO_META = 1000571011, XR_TYPE_COLOCATION_ADVERTISEMENT_START_INFO_META = 1000571012, @@ -2644,6 +3070,51 @@ typedef enum XrStructureType XR_TYPE_SHARE_SPACES_RECIPIENT_GROUPS_META = 1000572000, XR_TYPE_SPACE_GROUP_UUID_FILTER_INFO_META = 1000572001, XR_TYPE_SYSTEM_SPATIAL_ENTITY_GROUP_SHARING_PROPERTIES_META = 1000572100, + XR_TYPE_SYSTEM_MARKER_TRACKING_PROPERTIES_ANDROID = 1000707000, + XR_TYPE_TRACKABLE_MARKER_CONFIGURATION_ANDROID = 1000707001, + XR_TYPE_TRACKABLE_MARKER_ANDROID = 1000707002, + XR_TYPE_SPATIAL_CAPABILITY_COMPONENT_TYPES_EXT = 1000740000, + XR_TYPE_SPATIAL_CONTEXT_CREATE_INFO_EXT = 1000740001, + XR_TYPE_CREATE_SPATIAL_CONTEXT_COMPLETION_EXT = 1000740002, + XR_TYPE_SPATIAL_DISCOVERY_SNAPSHOT_CREATE_INFO_EXT = 1000740003, + XR_TYPE_CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_INFO_EXT = 1000740004, + XR_TYPE_CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_EXT = 1000740005, + XR_TYPE_SPATIAL_COMPONENT_DATA_QUERY_CONDITION_EXT = 1000740006, + XR_TYPE_SPATIAL_COMPONENT_DATA_QUERY_RESULT_EXT = 1000740007, + XR_TYPE_SPATIAL_BUFFER_GET_INFO_EXT = 1000740008, + XR_TYPE_SPATIAL_COMPONENT_BOUNDED_2D_LIST_EXT = 1000740009, + XR_TYPE_SPATIAL_COMPONENT_BOUNDED_3D_LIST_EXT = 1000740010, + XR_TYPE_SPATIAL_COMPONENT_PARENT_LIST_EXT = 1000740011, + XR_TYPE_SPATIAL_COMPONENT_MESH_3D_LIST_EXT = 1000740012, + XR_TYPE_SPATIAL_ENTITY_FROM_ID_CREATE_INFO_EXT = 1000740013, + XR_TYPE_SPATIAL_UPDATE_SNAPSHOT_CREATE_INFO_EXT = 1000740014, + XR_TYPE_EVENT_DATA_SPATIAL_DISCOVERY_RECOMMENDED_EXT = 1000740015, + XR_TYPE_SPATIAL_FILTER_TRACKING_STATE_EXT = 1000740016, + XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_PLANE_TRACKING_EXT = 1000741000, + XR_TYPE_SPATIAL_COMPONENT_PLANE_ALIGNMENT_LIST_EXT = 1000741001, + XR_TYPE_SPATIAL_COMPONENT_MESH_2D_LIST_EXT = 1000741002, + XR_TYPE_SPATIAL_COMPONENT_POLYGON_2D_LIST_EXT = 1000741003, + XR_TYPE_SPATIAL_COMPONENT_PLANE_SEMANTIC_LABEL_LIST_EXT = 1000741004, + XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_QR_CODE_EXT = 1000743000, + XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_MICRO_QR_CODE_EXT = 1000743001, + XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_ARUCO_MARKER_EXT = 1000743002, + XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_APRIL_TAG_EXT = 1000743003, + XR_TYPE_SPATIAL_MARKER_SIZE_EXT = 1000743004, + XR_TYPE_SPATIAL_MARKER_STATIC_OPTIMIZATION_EXT = 1000743005, + XR_TYPE_SPATIAL_COMPONENT_MARKER_LIST_EXT = 1000743006, + XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_ANCHOR_EXT = 1000762000, + XR_TYPE_SPATIAL_COMPONENT_ANCHOR_LIST_EXT = 1000762001, + XR_TYPE_SPATIAL_ANCHOR_CREATE_INFO_EXT = 1000762002, + XR_TYPE_SPATIAL_PERSISTENCE_CONTEXT_CREATE_INFO_EXT = 1000763000, + XR_TYPE_CREATE_SPATIAL_PERSISTENCE_CONTEXT_COMPLETION_EXT = 1000763001, + XR_TYPE_SPATIAL_CONTEXT_PERSISTENCE_CONFIG_EXT = 1000763002, + XR_TYPE_SPATIAL_DISCOVERY_PERSISTENCE_UUID_FILTER_EXT = 1000763003, + XR_TYPE_SPATIAL_COMPONENT_PERSISTENCE_LIST_EXT = 1000763004, + XR_TYPE_SPATIAL_ENTITY_PERSIST_INFO_EXT = 1000781000, + XR_TYPE_PERSIST_SPATIAL_ENTITY_COMPLETION_EXT = 1000781001, + XR_TYPE_SPATIAL_ENTITY_UNPERSIST_INFO_EXT = 1000781002, + XR_TYPE_UNPERSIST_SPATIAL_ENTITY_COMPLETION_EXT = 1000781003, + XR_TYPE_LOADER_INIT_INFO_PROPERTIES_EXT = 1000838000, XR_TYPE_GRAPHICS_BINDING_VULKAN2_KHR = XR_TYPE_GRAPHICS_BINDING_VULKAN_KHR, XR_TYPE_SWAPCHAIN_IMAGE_VULKAN2_KHR = XR_TYPE_SWAPCHAIN_IMAGE_VULKAN_KHR, XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN2_KHR = XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN_KHR, @@ -2675,6 +3146,48 @@ typedef enum XrSwapchainUsageFlagBits XR_SWAPCHAIN_USAGE_FLAG_BITS_MAX_ENUM = 0x7fffffff, } XrSwapchainUsageFlagBits; +typedef enum XrTrackableMarkerDictionaryANDROID +{ + XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_4X4_50_ANDROID = 0, + XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_4X4_100_ANDROID = 1, + XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_4X4_250_ANDROID = 2, + XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_4X4_1000_ANDROID = 3, + XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_5X5_50_ANDROID = 4, + XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_5X5_100_ANDROID = 5, + XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_5X5_250_ANDROID = 6, + XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_5X5_1000_ANDROID = 7, + XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_6X6_50_ANDROID = 8, + XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_6X6_100_ANDROID = 9, + XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_6X6_250_ANDROID = 10, + XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_6X6_1000_ANDROID = 11, + XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_7X7_50_ANDROID = 12, + XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_7X7_100_ANDROID = 13, + XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_7X7_250_ANDROID = 14, + XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_7X7_1000_ANDROID = 15, + XR_TRACKABLE_MARKER_DICTIONARY_APRILTAG_16H5_ANDROID = 16, + XR_TRACKABLE_MARKER_DICTIONARY_APRILTAG_25H9_ANDROID = 17, + XR_TRACKABLE_MARKER_DICTIONARY_APRILTAG_36H10_ANDROID = 18, + XR_TRACKABLE_MARKER_DICTIONARY_APRILTAG_36H11_ANDROID = 19, + XR_TRACKABLE_MARKER_DICTIONARY_ANDROID_MAX_ENUM = 0x7fffffff, +} XrTrackableMarkerDictionaryANDROID; + +typedef enum XrTrackableMarkerTrackingModeANDROID +{ + XR_TRACKABLE_MARKER_TRACKING_MODE_DYNAMIC_ANDROID = 0, + XR_TRACKABLE_MARKER_TRACKING_MODE_STATIC_ANDROID = 1, + XR_TRACKABLE_MARKER_TRACKING_MODE_ANDROID_MAX_ENUM = 0x7fffffff, +} XrTrackableMarkerTrackingModeANDROID; + +typedef enum XrTrackableTypeANDROID +{ + XR_TRACKABLE_TYPE_NOT_VALID_ANDROID = 0, + XR_TRACKABLE_TYPE_PLANE_ANDROID = 1, + XR_TRACKABLE_TYPE_DEPTH_ANDROID = 1000463000, + XR_TRACKABLE_TYPE_OBJECT_ANDROID = 1000466000, + XR_TRACKABLE_TYPE_MARKER_ANDROID = 1000707000, + XR_TRACKABLE_TYPE_ANDROID_MAX_ENUM = 0x7fffffff, +} XrTrackableTypeANDROID; + typedef enum XrTrackingOptimizationSettingsDomainQCOM { XR_TRACKING_OPTIMIZATION_SETTINGS_DOMAIN_ALL_QCOM = 1, @@ -2691,6 +3204,14 @@ typedef enum XrTrackingOptimizationSettingsHintQCOM XR_TRACKING_OPTIMIZATION_SETTINGS_HINT_QCOM_MAX_ENUM = 0x7fffffff, } XrTrackingOptimizationSettingsHintQCOM; +typedef enum XrTrackingStateANDROID +{ + XR_TRACKING_STATE_PAUSED_ANDROID = 0, + XR_TRACKING_STATE_STOPPED_ANDROID = 1, + XR_TRACKING_STATE_TRACKING_ANDROID = 2, + XR_TRACKING_STATE_ANDROID_MAX_ENUM = 0x7fffffff, +} XrTrackingStateANDROID; + typedef enum XrTriangleMeshFlagBitsFB { XR_TRIANGLE_MESH_MUTABLE_BIT_FB = 0x00000001, @@ -2993,6 +3514,20 @@ typedef struct XrBodyTrackerCreateInfoHTC XrBodyJointSetHTC bodyJointSet; } XrBodyTrackerCreateInfoHTC; +typedef struct XrBodyTrackingCalibrationInfoMETA +{ + XrStructureType type; + const void *next; + float bodyHeight; +} XrBodyTrackingCalibrationInfoMETA; + +typedef struct XrBodyTrackingCalibrationStatusMETA +{ + XrStructureType type; + void *next; + XrBodyTrackingCalibrationStateMETA status; +} XrBodyTrackingCalibrationStatusMETA; + typedef struct XrBoundSourcesForActionEnumerateInfo { XrStructureType type; @@ -3154,12 +3689,52 @@ typedef struct XrCreateSpatialAnchorsCompletionML XrSpace *spaces; } XrCreateSpatialAnchorsCompletionML; +typedef struct XrCreateSpatialContextCompletionEXT +{ + XrStructureType type; + void *next; + XrResult futureResult; + XrSpatialContextEXT spatialContext; +} XrCreateSpatialContextCompletionEXT; + +typedef struct XrCreateSpatialDiscoverySnapshotCompletionEXT +{ + XrStructureType type; + void *next; + XrResult futureResult; + XrSpatialSnapshotEXT snapshot; +} XrCreateSpatialDiscoverySnapshotCompletionEXT; + +typedef struct XrCreateSpatialDiscoverySnapshotCompletionInfoEXT +{ + XrStructureType type; + const void *next; + XrSpace baseSpace; + XrTime time; + XrFutureEXT future; +} XrCreateSpatialDiscoverySnapshotCompletionInfoEXT; + +typedef struct XrCreateSpatialPersistenceContextCompletionEXT +{ + XrStructureType type; + void *next; + XrResult futureResult; + XrSpatialPersistenceContextResultEXT createResult; + XrSpatialPersistenceContextEXT persistenceContext; +} XrCreateSpatialPersistenceContextCompletionEXT; + typedef struct XrDeserializeSceneFragmentMSFT { uint32_t bufferSize; const uint8_t *buffer; } XrDeserializeSceneFragmentMSFT; +typedef struct XrDeviceAnchorPersistenceCreateInfoANDROID +{ + XrStructureType type; + const void *next; +} XrDeviceAnchorPersistenceCreateInfoANDROID; + typedef struct XrDevicePcmSampleRateStateFB { @@ -3286,6 +3861,12 @@ typedef struct XrEventDataInteractionProfileChanged XrSession session; } XrEventDataInteractionProfileChanged; +typedef struct XrEventDataInteractionRenderModelsChangedEXT +{ + XrStructureType type; + const void *next; +} XrEventDataInteractionRenderModelsChangedEXT; + typedef struct XrEventDataMainSessionVisibilityChangedEXTX { XrStructureType type; @@ -3399,6 +3980,29 @@ typedef struct XrEventDataSpaceShareCompleteFB XrResult result; } XrEventDataSpaceShareCompleteFB; +typedef struct XrEventDataSpacesEraseResultMETA +{ + XrStructureType type; + const void *next; + XrAsyncRequestIdFB requestId; + XrResult result; +} XrEventDataSpacesEraseResultMETA; + +typedef struct XrEventDataSpacesSaveResultMETA +{ + XrStructureType type; + const void *next; + XrAsyncRequestIdFB requestId; + XrResult result; +} XrEventDataSpacesSaveResultMETA; + +typedef struct XrEventDataSpatialDiscoveryRecommendedEXT +{ + XrStructureType type; + const void *next; + XrSpatialContextEXT spatialContext; +} XrEventDataSpatialDiscoveryRecommendedEXT; + typedef struct XrEventDataStartColocationDiscoveryCompleteMETA { XrStructureType type; @@ -3765,6 +4369,14 @@ typedef struct XrFuturePollResultEXT XrFutureStateEXT state; } XrFuturePollResultEXT; +typedef struct XrFuturePollResultProgressBD +{ + XrStructureType type; + void *next; + XrBool32 isSupported; + uint32_t progressPercentage; +} XrFuturePollResultProgressBD; + typedef struct XrGlobalDimmerFrameEndInfoML { XrStructureType type; @@ -4035,6 +4647,26 @@ typedef struct XrInteractionProfileSuggestedBinding const XrActionSuggestedBinding *suggestedBindings; } XrInteractionProfileSuggestedBinding; +typedef struct XrInteractionRenderModelIdsEnumerateInfoEXT +{ + XrStructureType type; + const void *next; +} XrInteractionRenderModelIdsEnumerateInfoEXT; + +typedef struct XrInteractionRenderModelSubactionPathInfoEXT +{ + XrStructureType type; + const void *next; +} XrInteractionRenderModelSubactionPathInfoEXT; + +typedef struct XrInteractionRenderModelTopLevelUserPathGetInfoEXT +{ + XrStructureType type; + const void *next; + uint32_t topLevelUserPathCount; + const XrPath *topLevelUserPaths; +} XrInteractionRenderModelTopLevelUserPathGetInfoEXT; + typedef struct XrKeyboardSpaceCreateInfoFB { XrStructureType type; @@ -4049,6 +4681,12 @@ typedef struct XrKeyboardTrackingQueryFB XrKeyboardTrackingQueryFlagsFB WINE_XR_ALIGN(8) flags; } XrKeyboardTrackingQueryFB; +typedef struct XrLoaderInitPropertyValueEXT +{ + const char *name; + const char *value; +} XrLoaderInitPropertyValueEXT; + typedef struct XrLocalDimmingFrameEndInfoMETA { XrStructureType type; @@ -4191,6 +4829,12 @@ typedef struct XrPassthroughBrightnessContrastSaturationFB float saturation; } XrPassthroughBrightnessContrastSaturationFB; +typedef struct XrPassthroughCameraStateGetInfoANDROID +{ + XrStructureType type; + const void *next; +} XrPassthroughCameraStateGetInfoANDROID; + typedef struct XrPassthroughColorHTC { XrStructureType type; @@ -4305,6 +4949,13 @@ typedef struct XrPerformanceMetricsStateMETA XrBool32 enabled; } XrPerformanceMetricsStateMETA; +typedef struct XrPersistedAnchorSpaceInfoANDROID +{ + XrStructureType type; + const void *next; + XrSpace anchor; +} XrPersistedAnchorSpaceInfoANDROID; + typedef struct XrPlaneDetectorCreateInfoEXT { XrStructureType type; @@ -4368,6 +5019,40 @@ typedef struct XrRect3DfFB XrExtent3DfFB extent; } XrRect3DfFB; +typedef struct XrRenderModelAssetDataEXT +{ + XrStructureType type; + void *next; + uint32_t bufferCapacityInput; + uint32_t bufferCountOutput; + uint8_t *buffer; +} XrRenderModelAssetDataEXT; + +typedef struct XrRenderModelAssetDataGetInfoEXT +{ + XrStructureType type; + const void *next; +} XrRenderModelAssetDataGetInfoEXT; + +typedef struct XrRenderModelAssetNodePropertiesEXT +{ + char uniqueName[XR_MAX_RENDER_MODEL_ASSET_NODE_NAME_SIZE_EXT]; +} XrRenderModelAssetNodePropertiesEXT; + +typedef struct XrRenderModelAssetPropertiesEXT +{ + XrStructureType type; + void *next; + uint32_t nodePropertyCount; + XrRenderModelAssetNodePropertiesEXT *nodeProperties; +} XrRenderModelAssetPropertiesEXT; + +typedef struct XrRenderModelAssetPropertiesGetInfoEXT +{ + XrStructureType type; + const void *next; +} XrRenderModelAssetPropertiesGetInfoEXT; + typedef struct XrRenderModelBufferFB { XrStructureType type; @@ -4384,6 +5069,15 @@ typedef struct XrRenderModelCapabilitiesRequestFB XrRenderModelFlagsFB WINE_XR_ALIGN(8) flags; } XrRenderModelCapabilitiesRequestFB; +typedef struct XrRenderModelCreateInfoEXT +{ + XrStructureType type; + const void *next; + XrRenderModelIdEXT renderModelId; + uint32_t gltfExtensionCount; + const char * const*gltfExtensions; +} XrRenderModelCreateInfoEXT; + typedef struct XrRenderModelLoadInfoFB { XrStructureType type; @@ -4409,6 +5103,26 @@ typedef struct XrRenderModelPropertiesFB XrRenderModelFlagsFB WINE_XR_ALIGN(8) flags; } XrRenderModelPropertiesFB; +typedef struct XrRenderModelPropertiesGetInfoEXT +{ + XrStructureType type; + const void *next; +} XrRenderModelPropertiesGetInfoEXT; + +typedef struct XrRenderModelSpaceCreateInfoEXT +{ + XrStructureType type; + const void *next; + XrRenderModelEXT renderModel; +} XrRenderModelSpaceCreateInfoEXT; + +typedef struct XrRenderModelStateGetInfoEXT +{ + XrStructureType type; + const void *next; + XrTime displayTime; +} XrRenderModelStateGetInfoEXT; + typedef struct XrSceneCaptureInfoBD { XrStructureType type; @@ -4628,6 +5342,14 @@ typedef struct XrSemanticLabelsSupportInfoFB const char *recognizedLabels; } XrSemanticLabelsSupportInfoFB; +typedef struct XrSenseDataFilterPlaneOrientationBD +{ + XrStructureType type; + const void *next; + uint32_t orientationCount; + XrPlaneOrientationBD *orientations; +} XrSenseDataFilterPlaneOrientationBD; + typedef struct XrSenseDataFilterSemanticBD { XrStructureType type; @@ -4708,6 +5430,18 @@ typedef struct XrShareSpacesRecipientBaseHeaderMETA const void *next; } XrShareSpacesRecipientBaseHeaderMETA; +typedef struct XrSimultaneousHandsAndControllersTrackingPauseInfoMETA +{ + XrStructureType type; + const void *next; +} XrSimultaneousHandsAndControllersTrackingPauseInfoMETA; + +typedef struct XrSimultaneousHandsAndControllersTrackingResumeInfoMETA +{ + XrStructureType type; + const void *next; +} XrSimultaneousHandsAndControllersTrackingResumeInfoMETA; + typedef struct XrSpaceComponentFilterInfoFB { XrStructureType type; @@ -4822,6 +5556,14 @@ typedef struct XrSpacesLocateInfo } XrSpacesLocateInfo; typedef XrSpacesLocateInfo XrSpacesLocateInfoKHR; +typedef struct XrSpacesSaveInfoMETA +{ + XrStructureType type; + const void *next; + uint32_t spaceCount; + XrSpace *spaces; +} XrSpacesSaveInfoMETA; + typedef struct XrSpatialAnchorNameHTC { char name[XR_MAX_SPATIAL_ANCHOR_NAME_SIZE_HTC]; @@ -4903,6 +5645,161 @@ typedef struct XrSpatialAnchorsUpdateExpirationCompletionML XrResult futureResult; } XrSpatialAnchorsUpdateExpirationCompletionML; +typedef struct XrSpatialBufferEXT +{ + XrSpatialBufferIdEXT bufferId; + XrSpatialBufferTypeEXT bufferType; +} XrSpatialBufferEXT; + +typedef struct XrSpatialBufferGetInfoEXT +{ + XrStructureType type; + const void *next; + XrSpatialBufferIdEXT bufferId; +} XrSpatialBufferGetInfoEXT; + +typedef struct XrSpatialCapabilityComponentTypesEXT +{ + XrStructureType type; + void *next; + uint32_t componentTypeCapacityInput; + uint32_t componentTypeCountOutput; + XrSpatialComponentTypeEXT *componentTypes; +} XrSpatialCapabilityComponentTypesEXT; + +typedef struct XrSpatialCapabilityConfigurationAnchorEXT +{ + XrStructureType type; + const void *next; + XrSpatialCapabilityEXT capability; + uint32_t enabledComponentCount; + const XrSpatialComponentTypeEXT *enabledComponents; +} XrSpatialCapabilityConfigurationAnchorEXT; + +typedef struct XrSpatialCapabilityConfigurationAprilTagEXT +{ + XrStructureType type; + const void *next; + XrSpatialCapabilityEXT capability; + uint32_t enabledComponentCount; + const XrSpatialComponentTypeEXT *enabledComponents; + XrSpatialMarkerAprilTagDictEXT aprilDict; +} XrSpatialCapabilityConfigurationAprilTagEXT; + +typedef struct XrSpatialCapabilityConfigurationArucoMarkerEXT +{ + XrStructureType type; + const void *next; + XrSpatialCapabilityEXT capability; + uint32_t enabledComponentCount; + const XrSpatialComponentTypeEXT *enabledComponents; + XrSpatialMarkerArucoDictEXT arUcoDict; +} XrSpatialCapabilityConfigurationArucoMarkerEXT; + +typedef struct XrSpatialCapabilityConfigurationBaseHeaderEXT +{ + XrStructureType type; + const void *next; + XrSpatialCapabilityEXT capability; + uint32_t enabledComponentCount; + const XrSpatialComponentTypeEXT *enabledComponents; +} XrSpatialCapabilityConfigurationBaseHeaderEXT; + +typedef struct XrSpatialCapabilityConfigurationMicroQrCodeEXT +{ + XrStructureType type; + const void *next; + XrSpatialCapabilityEXT capability; + uint32_t enabledComponentCount; + const XrSpatialComponentTypeEXT *enabledComponents; +} XrSpatialCapabilityConfigurationMicroQrCodeEXT; + +typedef struct XrSpatialCapabilityConfigurationPlaneTrackingEXT +{ + XrStructureType type; + const void *next; + XrSpatialCapabilityEXT capability; + uint32_t enabledComponentCount; + const XrSpatialComponentTypeEXT *enabledComponents; +} XrSpatialCapabilityConfigurationPlaneTrackingEXT; + +typedef struct XrSpatialCapabilityConfigurationQrCodeEXT +{ + XrStructureType type; + const void *next; + XrSpatialCapabilityEXT capability; + uint32_t enabledComponentCount; + const XrSpatialComponentTypeEXT *enabledComponents; +} XrSpatialCapabilityConfigurationQrCodeEXT; + +typedef struct XrSpatialComponentDataQueryConditionEXT +{ + XrStructureType type; + const void *next; + uint32_t componentTypeCount; + const XrSpatialComponentTypeEXT *componentTypes; +} XrSpatialComponentDataQueryConditionEXT; + +typedef struct XrSpatialComponentDataQueryResultEXT +{ + XrStructureType type; + void *next; + uint32_t entityIdCapacityInput; + uint32_t entityIdCountOutput; + XrSpatialEntityIdEXT *entityIds; + uint32_t entityStateCapacityInput; + uint32_t entityStateCountOutput; + XrSpatialEntityTrackingStateEXT *entityStates; +} XrSpatialComponentDataQueryResultEXT; + +typedef struct XrSpatialComponentParentListEXT +{ + XrStructureType type; + void *next; + uint32_t parentCount; + XrSpatialEntityIdEXT *parents; +} XrSpatialComponentParentListEXT; + +typedef struct XrSpatialComponentPlaneAlignmentListEXT +{ + XrStructureType type; + void *next; + uint32_t planeAlignmentCount; + XrSpatialPlaneAlignmentEXT *planeAlignments; +} XrSpatialComponentPlaneAlignmentListEXT; + +typedef struct XrSpatialComponentPlaneSemanticLabelListEXT +{ + XrStructureType type; + void *next; + uint32_t semanticLabelCount; + XrSpatialPlaneSemanticLabelEXT *semanticLabels; +} XrSpatialComponentPlaneSemanticLabelListEXT; + +typedef struct XrSpatialContextCreateInfoEXT +{ + XrStructureType type; + const void *next; + uint32_t capabilityConfigCount; + const XrSpatialCapabilityConfigurationBaseHeaderEXT * const*capabilityConfigs; +} XrSpatialContextCreateInfoEXT; + +typedef struct XrSpatialContextPersistenceConfigEXT +{ + XrStructureType type; + const void *next; + uint32_t persistenceContextCount; + const XrSpatialPersistenceContextEXT *persistenceContexts; +} XrSpatialContextPersistenceConfigEXT; + +typedef struct XrSpatialDiscoverySnapshotCreateInfoEXT +{ + XrStructureType type; + const void *next; + uint32_t componentTypeCount; + const XrSpatialComponentTypeEXT *componentTypes; +} XrSpatialDiscoverySnapshotCreateInfoEXT; + typedef struct XrSpatialEntityAnchorCreateInfoBD { XrStructureType type; @@ -4924,6 +5821,13 @@ typedef struct XrSpatialEntityComponentDataBoundingBox2DBD XrRect2Df boundingBox2D; } XrSpatialEntityComponentDataBoundingBox2DBD; +typedef struct XrSpatialEntityComponentDataPlaneOrientationBD +{ + XrStructureType type; + void *next; + XrPlaneOrientationBD orientation; +} XrSpatialEntityComponentDataPlaneOrientationBD; + typedef struct XrSpatialEntityComponentDataSemanticBD { XrStructureType type; @@ -4941,6 +5845,13 @@ typedef struct XrSpatialEntityComponentGetInfoBD XrSpatialEntityComponentTypeBD componentType; } XrSpatialEntityComponentGetInfoBD; +typedef struct XrSpatialEntityFromIdCreateInfoEXT +{ + XrStructureType type; + const void *next; + XrSpatialEntityIdEXT entityId; +} XrSpatialEntityFromIdCreateInfoEXT; + typedef struct XrSpatialEntityLocationGetInfoBD { XrStructureType type; @@ -4948,12 +5859,67 @@ typedef struct XrSpatialEntityLocationGetInfoBD XrSpace baseSpace; } XrSpatialEntityLocationGetInfoBD; +typedef struct XrSpatialEntityPersistInfoEXT +{ + XrStructureType type; + const void *next; + XrSpatialContextEXT spatialContext; + XrSpatialEntityIdEXT spatialEntityId; +} XrSpatialEntityPersistInfoEXT; + +typedef struct XrSpatialFilterTrackingStateEXT +{ + XrStructureType type; + const void *next; + XrSpatialEntityTrackingStateEXT trackingState; +} XrSpatialFilterTrackingStateEXT; + typedef struct XrSpatialGraphNodeBindingPropertiesGetInfoMSFT { XrStructureType type; const void *next; } XrSpatialGraphNodeBindingPropertiesGetInfoMSFT; +typedef struct XrSpatialMarkerDataEXT +{ + XrSpatialCapabilityEXT capability; + uint32_t markerId; + XrSpatialBufferEXT data; +} XrSpatialMarkerDataEXT; + +typedef struct XrSpatialMarkerSizeEXT +{ + XrStructureType type; + const void *next; + float markerSideLength; +} XrSpatialMarkerSizeEXT; + +typedef struct XrSpatialMarkerStaticOptimizationEXT +{ + XrStructureType type; + const void *next; + XrBool32 optimizeForStaticMarker; +} XrSpatialMarkerStaticOptimizationEXT; + +typedef struct XrSpatialPersistenceContextCreateInfoEXT +{ + XrStructureType type; + const void *next; + XrSpatialPersistenceScopeEXT scope; +} XrSpatialPersistenceContextCreateInfoEXT; + +typedef struct XrSpatialUpdateSnapshotCreateInfoEXT +{ + XrStructureType type; + const void *next; + uint32_t entityCount; + const XrSpatialEntityEXT *entities; + uint32_t componentTypeCount; + const XrSpatialComponentTypeEXT *componentTypes; + XrSpace baseSpace; + XrTime time; +} XrSpatialUpdateSnapshotCreateInfoEXT; + typedef struct XrSwapchainCreateInfo { XrStructureType type; @@ -5119,6 +6085,13 @@ typedef struct XrSystemColorSpacePropertiesFB XrColorSpaceFB colorSpace; } XrSystemColorSpacePropertiesFB; +typedef struct XrSystemDeviceAnchorPersistencePropertiesANDROID +{ + XrStructureType type; + void *next; + XrBool32 supportsAnchorPersistence; +} XrSystemDeviceAnchorPersistencePropertiesANDROID; + typedef struct XrSystemEnvironmentDepthPropertiesMETA { XrStructureType type; @@ -5229,6 +6202,15 @@ typedef struct XrSystemKeyboardTrackingPropertiesFB XrBool32 supportsKeyboardTracking; } XrSystemKeyboardTrackingPropertiesFB; +typedef struct XrSystemMarkerTrackingPropertiesANDROID +{ + XrStructureType type; + void *next; + XrBool32 supportsMarkerTracking; + XrBool32 supportsMarkerSizeEstimation; + uint16_t maxMarkerCount; +} XrSystemMarkerTrackingPropertiesANDROID; + typedef struct XrSystemMarkerTrackingPropertiesVARJO { XrStructureType type; @@ -5250,6 +6232,13 @@ typedef struct XrSystemNotificationsSetInfoML XrBool32 suppressNotifications; } XrSystemNotificationsSetInfoML; +typedef struct XrSystemPassthroughCameraStatePropertiesANDROID +{ + XrStructureType type; + void *next; + XrBool32 supportsPassthroughCameraState; +} XrSystemPassthroughCameraStatePropertiesANDROID; + typedef struct XrSystemPassthroughColorLutPropertiesMETA { XrStructureType type; @@ -5278,6 +6267,20 @@ typedef struct XrSystemPlaneDetectionPropertiesEXT XrPlaneDetectionCapabilityFlagsEXT WINE_XR_ALIGN(8) supportedFeatures; } XrSystemPlaneDetectionPropertiesEXT; +typedef struct XrSystemPropertiesBodyTrackingCalibrationMETA +{ + XrStructureType type; + void *next; + XrBool32 supportsHeightOverride; +} XrSystemPropertiesBodyTrackingCalibrationMETA; + +typedef struct XrSystemPropertiesBodyTrackingFullBodyMETA +{ + XrStructureType type; + void *next; + XrBool32 supportsFullBodyTracking; +} XrSystemPropertiesBodyTrackingFullBodyMETA; + typedef struct XrSystemRenderModelPropertiesFB { XrStructureType type; @@ -5285,6 +6288,20 @@ typedef struct XrSystemRenderModelPropertiesFB XrBool32 supportsRenderModelLoading; } XrSystemRenderModelPropertiesFB; +typedef struct XrSystemSimultaneousHandsAndControllersPropertiesMETA +{ + XrStructureType type; + void *next; + XrBool32 supportsSimultaneousHandsAndControllers; +} XrSystemSimultaneousHandsAndControllersPropertiesMETA; + +typedef struct XrSystemSpacePersistencePropertiesMETA +{ + XrStructureType type; + const void *next; + XrBool32 supportsSpacePersistence; +} XrSystemSpacePersistencePropertiesMETA; + typedef struct XrSystemSpaceWarpPropertiesFB { XrStructureType type; @@ -5335,6 +6352,13 @@ typedef struct XrSystemSpatialMeshPropertiesBD XrBool32 supportsSpatialMesh; } XrSystemSpatialMeshPropertiesBD; +typedef struct XrSystemSpatialPlanePropertiesBD +{ + XrStructureType type; + void *next; + XrBool32 supportsSpatialPlane; +} XrSystemSpatialPlanePropertiesBD; + typedef struct XrSystemSpatialScenePropertiesBD { XrStructureType type; @@ -5349,6 +6373,14 @@ typedef struct XrSystemSpatialSensingPropertiesBD XrBool32 supportsSpatialSensing; } XrSystemSpatialSensingPropertiesBD; +typedef struct XrSystemTrackablesPropertiesANDROID +{ + XrStructureType type; + const void *next; + XrBool32 supportsAnchor; + uint32_t maxAnchors; +} XrSystemTrackablesPropertiesANDROID; + typedef struct XrSystemTrackingProperties { XrBool32 orientationTracking; @@ -5369,6 +6401,44 @@ typedef struct XrSystemVirtualKeyboardPropertiesMETA XrBool32 supportsVirtualKeyboard; } XrSystemVirtualKeyboardPropertiesMETA; +typedef struct XrTrackableGetInfoANDROID +{ + XrStructureType type; + const void *next; + XrTrackableANDROID trackable; + XrSpace baseSpace; + XrTime time; +} XrTrackableGetInfoANDROID; + +typedef struct XrTrackableMarkerDatabaseEntryANDROID +{ + int32_t id; + float edgeSize; +} XrTrackableMarkerDatabaseEntryANDROID; + +typedef struct XrTrackableObjectConfigurationANDROID +{ + XrStructureType type; + void *next; + uint32_t labelCount; + const XrObjectLabelANDROID *activeLabels; +} XrTrackableObjectConfigurationANDROID; + +typedef struct XrTrackableTrackerCreateInfoANDROID +{ + XrStructureType type; + const void *next; + XrTrackableTypeANDROID trackableType; +} XrTrackableTrackerCreateInfoANDROID; + +typedef struct XrUnpersistSpatialEntityCompletionEXT +{ + XrStructureType type; + void *next; + XrResult futureResult; + XrSpatialPersistenceContextResultEXT unpersistResult; +} XrUnpersistSpatialEntityCompletionEXT; + typedef struct XrUserCalibrationEnableEventsInfoML { XrStructureType type; @@ -5891,6 +6961,14 @@ typedef struct XrKeyboardTrackingDescriptionFB char name[XR_MAX_KEYBOARD_TRACKING_NAME_SIZE_FB]; } XrKeyboardTrackingDescriptionFB; +typedef struct XrLoaderInitInfoPropertiesEXT +{ + XrStructureType type; + const void *next; + uint32_t propertyValueCount; + const XrLoaderInitPropertyValueEXT *propertyValues; +} XrLoaderInitInfoPropertiesEXT; + typedef struct XrLocalizationMapML { XrStructureType type; @@ -5916,6 +6994,22 @@ typedef struct XrPassthroughColorLutCreateInfoMETA XrPassthroughColorLutDataMETA data; } XrPassthroughColorLutCreateInfoMETA; +typedef struct XrPersistSpatialEntityCompletionEXT +{ + XrStructureType type; + void *next; + XrResult futureResult; + XrSpatialPersistenceContextResultEXT persistResult; + XrUuid persistUuid; +} XrPersistSpatialEntityCompletionEXT; + +typedef struct XrPersistedAnchorSpaceCreateInfoANDROID +{ + XrStructureType type; + const void *next; + XrUuidEXT anchorId; +} XrPersistedAnchorSpaceCreateInfoANDROID; + typedef struct XrPlaneDetectorPolygonBufferEXT { XrStructureType type; @@ -5931,6 +7025,35 @@ typedef struct XrPosef XrVector3f position; } XrPosef; +typedef struct XrRaycastHitResultANDROID +{ + XrTrackableTypeANDROID type; + XrTrackableANDROID trackable; + XrPosef pose; +} XrRaycastHitResultANDROID; + +typedef struct XrRaycastHitResultsANDROID +{ + XrStructureType type; + void *next; + uint32_t resultsCapacityInput; + uint32_t resultsCountOutput; + XrRaycastHitResultANDROID *results; +} XrRaycastHitResultsANDROID; + +typedef struct XrRaycastInfoANDROID +{ + XrStructureType type; + const void *next; + uint32_t maxResults; + uint32_t trackerCount; + const XrTrackableTrackerANDROID *trackers; + XrVector3f origin; + XrVector3f trajectory; + XrSpace space; + XrTime time; +} XrRaycastInfoANDROID; + typedef struct XrReferenceSpaceCreateInfo { XrStructureType type; @@ -5939,6 +7062,35 @@ typedef struct XrReferenceSpaceCreateInfo XrPosef poseInReferenceSpace; } XrReferenceSpaceCreateInfo; +typedef struct XrRenderModelAssetCreateInfoEXT +{ + XrStructureType type; + const void *next; + XrUuidEXT cacheId; +} XrRenderModelAssetCreateInfoEXT; + +typedef struct XrRenderModelNodeStateEXT +{ + XrPosef nodePose; + XrBool32 isVisible; +} XrRenderModelNodeStateEXT; + +typedef struct XrRenderModelPropertiesEXT +{ + XrStructureType type; + void *next; + XrUuidEXT cacheId; + uint32_t animatableNodeCount; +} XrRenderModelPropertiesEXT; + +typedef struct XrRenderModelStateEXT +{ + XrStructureType type; + void *next; + uint32_t nodeStateCount; + XrRenderModelNodeStateEXT *nodeStates; +} XrRenderModelStateEXT; + typedef struct XrRoomLayoutFB { XrStructureType type; @@ -6173,6 +7325,16 @@ typedef struct XrSpaceVelocityData } XrSpaceVelocityData; typedef XrSpaceVelocityData XrSpaceVelocityDataKHR; +typedef struct XrSpacesEraseInfoMETA +{ + XrStructureType type; + const void *next; + uint32_t spaceCount; + XrSpace *spaces; + uint32_t uuidCount; + XrUuidEXT *uuids; +} XrSpacesEraseInfoMETA; + typedef struct XrSpatialAnchorCompletionResultML { XrUuidEXT uuid; @@ -6184,8 +7346,8 @@ typedef struct XrSpatialAnchorCreateCompletionBD XrStructureType type; void *next; XrResult futureResult; - XrAnchorBD anchor; XrUuidEXT uuid; + XrAnchorBD anchor; } XrSpatialAnchorCreateCompletionBD; typedef struct XrSpatialAnchorCreateInfoBD @@ -6197,6 +7359,15 @@ typedef struct XrSpatialAnchorCreateInfoBD XrTime time; } XrSpatialAnchorCreateInfoBD; +typedef struct XrSpatialAnchorCreateInfoEXT +{ + XrStructureType type; + const void *next; + XrSpace baseSpace; + XrTime time; + XrPosef pose; +} XrSpatialAnchorCreateInfoEXT; + typedef struct XrSpatialAnchorCreateInfoFB { XrStructureType type; @@ -6336,6 +7507,44 @@ typedef struct XrSpatialAnchorsUpdateExpirationInfoML uint64_t WINE_XR_ALIGN(8) expiration; } XrSpatialAnchorsUpdateExpirationInfoML; +typedef struct XrSpatialBounded2DDataEXT +{ + XrPosef center; + XrExtent2Df extents; +} XrSpatialBounded2DDataEXT; + +typedef struct XrSpatialComponentAnchorListEXT +{ + XrStructureType type; + void *next; + uint32_t locationCount; + XrPosef *locations; +} XrSpatialComponentAnchorListEXT; + +typedef struct XrSpatialComponentBounded2DListEXT +{ + XrStructureType type; + void *next; + uint32_t boundCount; + XrSpatialBounded2DDataEXT *bounds; +} XrSpatialComponentBounded2DListEXT; + +typedef struct XrSpatialComponentMarkerListEXT +{ + XrStructureType type; + void *next; + uint32_t markerCount; + XrSpatialMarkerDataEXT *markers; +} XrSpatialComponentMarkerListEXT; + +typedef struct XrSpatialDiscoveryPersistenceUuidFilterEXT +{ + XrStructureType type; + const void *next; + uint32_t persistedUuidCount; + const XrUuid *persistedUuids; +} XrSpatialDiscoveryPersistenceUuidFilterEXT; + typedef struct XrSpatialEntityComponentDataLocationBD { XrStructureType type; @@ -6373,6 +7582,13 @@ typedef struct XrSpatialEntityStateBD XrUuidEXT uuid; } XrSpatialEntityStateBD; +typedef struct XrSpatialEntityUnpersistInfoEXT +{ + XrStructureType type; + const void *next; + XrUuid persistUuid; +} XrSpatialEntityUnpersistInfoEXT; + typedef struct XrSpatialGraphNodeBindingPropertiesMSFT { XrStructureType type; @@ -6399,6 +7615,25 @@ typedef struct XrSpatialGraphStaticNodeBindingCreateInfoMSFT XrTime time; } XrSpatialGraphStaticNodeBindingCreateInfoMSFT; +typedef struct XrSpatialMeshDataEXT +{ + XrPosef origin; + XrSpatialBufferEXT vertexBuffer; + XrSpatialBufferEXT indexBuffer; +} XrSpatialMeshDataEXT; + +typedef struct XrSpatialPersistenceDataEXT +{ + XrUuid persistUuid; + XrSpatialPersistenceStateEXT persistState; +} XrSpatialPersistenceDataEXT; + +typedef struct XrSpatialPolygon2DDataEXT +{ + XrPosef origin; + XrSpatialBufferEXT vertexBuffer; +} XrSpatialPolygon2DDataEXT; + typedef struct XrSpheref { XrPosef center; @@ -6424,6 +7659,52 @@ typedef struct XrSystemProperties XrSystemTrackingProperties trackingProperties; } XrSystemProperties; +typedef struct XrTrackableMarkerANDROID +{ + XrStructureType type; + void *next; + XrTrackingStateANDROID trackingState; + XrTime lastUpdatedTime; + XrTrackableMarkerDictionaryANDROID dictionary; + int32_t markerId; + XrPosef centerPose; + XrExtent2Df extents; +} XrTrackableMarkerANDROID; + +typedef struct XrTrackableMarkerDatabaseANDROID +{ + XrTrackableMarkerDictionaryANDROID dictionary; + uint32_t entryCount; + const XrTrackableMarkerDatabaseEntryANDROID *entries; +} XrTrackableMarkerDatabaseANDROID; + +typedef struct XrTrackableObjectANDROID +{ + XrStructureType type; + void *next; + XrTrackingStateANDROID trackingState; + XrPosef centerPose; + XrExtent3DfEXT extents; + XrObjectLabelANDROID objectLabel; + XrTime lastUpdatedTime; +} XrTrackableObjectANDROID; + +typedef struct XrTrackablePlaneANDROID +{ + XrStructureType type; + void *next; + XrTrackingStateANDROID trackingState; + XrPosef centerPose; + XrExtent2Df extents; + XrPlaneTypeANDROID planeType; + XrPlaneLabelANDROID planeLabel; + XrTrackableANDROID subsumedByPlane; + XrTime lastUpdatedTime; + uint32_t vertexCapacityInput; + uint32_t vertexCountOutput; + XrVector2f *vertices; +} XrTrackablePlaneANDROID; + typedef struct XrTriangleMeshCreateInfoFB { XrStructureType type; @@ -6514,6 +7795,16 @@ typedef struct XrActionSpaceCreateInfo XrPosef poseInActionSpace; } XrActionSpaceCreateInfo; +typedef struct XrAnchorSpaceCreateInfoANDROID +{ + XrStructureType type; + const void *next; + XrSpace space; + XrTime time; + XrPosef pose; + XrTrackableANDROID trackable; +} XrAnchorSpaceCreateInfoANDROID; + typedef struct XrAnchorSpaceCreateInfoBD { XrStructureType type; @@ -6965,6 +8256,46 @@ typedef struct XrSpaceVelocities } XrSpaceVelocities; typedef XrSpaceVelocities XrSpaceVelocitiesKHR; +typedef struct XrSpatialComponentBounded3DListEXT +{ + XrStructureType type; + void *next; + uint32_t boundCount; + XrBoxf *bounds; +} XrSpatialComponentBounded3DListEXT; + +typedef struct XrSpatialComponentMesh2DListEXT +{ + XrStructureType type; + void *next; + uint32_t meshCount; + XrSpatialMeshDataEXT *meshes; +} XrSpatialComponentMesh2DListEXT; + +typedef struct XrSpatialComponentMesh3DListEXT +{ + XrStructureType type; + void *next; + uint32_t meshCount; + XrSpatialMeshDataEXT *meshes; +} XrSpatialComponentMesh3DListEXT; + +typedef struct XrSpatialComponentPersistenceListEXT +{ + XrStructureType type; + void *next; + uint32_t persistDataCount; + XrSpatialPersistenceDataEXT *persistData; +} XrSpatialComponentPersistenceListEXT; + +typedef struct XrSpatialComponentPolygon2DListEXT +{ + XrStructureType type; + void *next; + uint32_t polygonCount; + XrSpatialPolygon2DDataEXT *polygons; +} XrSpatialComponentPolygon2DListEXT; + typedef struct XrSpatialEntityComponentDataBoundingBox3DBD { XrStructureType type; @@ -6972,6 +8303,15 @@ typedef struct XrSpatialEntityComponentDataBoundingBox3DBD XrBoxf boundingBox3D; } XrSpatialEntityComponentDataBoundingBox3DBD; +typedef struct XrTrackableMarkerConfigurationANDROID +{ + XrStructureType type; + void *next; + XrTrackableMarkerTrackingModeANDROID trackingMode; + uint32_t databaseCount; + const XrTrackableMarkerDatabaseANDROID *databases; +} XrTrackableMarkerConfigurationANDROID; + typedef struct XrBodySkeletonFB { XrStructureType type; @@ -7049,11 +8389,13 @@ typedef XrResult (XRAPI_PTR *PFN_xrConvertWin32PerformanceCounterToTimeKHR)(XrIn typedef XrResult (XRAPI_PTR *PFN_xrCreateAction)(XrActionSet, const XrActionCreateInfo *, XrAction *); typedef XrResult (XRAPI_PTR *PFN_xrCreateActionSet)(XrInstance, const XrActionSetCreateInfo *, XrActionSet *); typedef XrResult (XRAPI_PTR *PFN_xrCreateActionSpace)(XrSession, const XrActionSpaceCreateInfo *, XrSpace *); +typedef XrResult (XRAPI_PTR *PFN_xrCreateAnchorSpaceANDROID)(XrSession, const XrAnchorSpaceCreateInfoANDROID *, XrSpace *); typedef XrResult (XRAPI_PTR *PFN_xrCreateAnchorSpaceBD)(XrSession, const XrAnchorSpaceCreateInfoBD *, XrSpace *); typedef XrResult (XRAPI_PTR *PFN_xrCreateApiLayerInstance)(const XrInstanceCreateInfo *, const XrApiLayerCreateInfo *, XrInstance *); typedef XrResult (XRAPI_PTR *PFN_xrCreateBodyTrackerBD)(XrSession, const XrBodyTrackerCreateInfoBD *, XrBodyTrackerBD *); typedef XrResult (XRAPI_PTR *PFN_xrCreateBodyTrackerFB)(XrSession, const XrBodyTrackerCreateInfoFB *, XrBodyTrackerFB *); typedef XrResult (XRAPI_PTR *PFN_xrCreateBodyTrackerHTC)(XrSession, const XrBodyTrackerCreateInfoHTC *, XrBodyTrackerHTC *); +typedef XrResult (XRAPI_PTR *PFN_xrCreateDeviceAnchorPersistenceANDROID)(XrSession, const XrDeviceAnchorPersistenceCreateInfoANDROID *, XrDeviceAnchorPersistenceANDROID *); typedef XrResult (XRAPI_PTR *PFN_xrCreateEnvironmentDepthProviderMETA)(XrSession, const XrEnvironmentDepthProviderCreateInfoMETA *, XrEnvironmentDepthProviderMETA *); typedef XrResult (XRAPI_PTR *PFN_xrCreateEnvironmentDepthSwapchainMETA)(XrEnvironmentDepthProviderMETA, const XrEnvironmentDepthSwapchainCreateInfoMETA *, XrEnvironmentDepthSwapchainMETA *); typedef XrResult (XRAPI_PTR *PFN_xrCreateExportedLocalizationMapML)(XrSession, const XrUuidEXT *, XrExportedLocalizationMapML *); @@ -7075,8 +8417,12 @@ typedef XrResult (XRAPI_PTR *PFN_xrCreatePassthroughColorLutMETA)(XrPassthroughF typedef XrResult (XRAPI_PTR *PFN_xrCreatePassthroughFB)(XrSession, const XrPassthroughCreateInfoFB *, XrPassthroughFB *); typedef XrResult (XRAPI_PTR *PFN_xrCreatePassthroughHTC)(XrSession, const XrPassthroughCreateInfoHTC *, XrPassthroughHTC *); typedef XrResult (XRAPI_PTR *PFN_xrCreatePassthroughLayerFB)(XrSession, const XrPassthroughLayerCreateInfoFB *, XrPassthroughLayerFB *); +typedef XrResult (XRAPI_PTR *PFN_xrCreatePersistedAnchorSpaceANDROID)(XrDeviceAnchorPersistenceANDROID, const XrPersistedAnchorSpaceCreateInfoANDROID *, XrSpace *); typedef XrResult (XRAPI_PTR *PFN_xrCreatePlaneDetectorEXT)(XrSession, const XrPlaneDetectorCreateInfoEXT *, XrPlaneDetectorEXT *); typedef XrResult (XRAPI_PTR *PFN_xrCreateReferenceSpace)(XrSession, const XrReferenceSpaceCreateInfo *, XrSpace *); +typedef XrResult (XRAPI_PTR *PFN_xrCreateRenderModelAssetEXT)(XrSession, const XrRenderModelAssetCreateInfoEXT *, XrRenderModelAssetEXT *); +typedef XrResult (XRAPI_PTR *PFN_xrCreateRenderModelEXT)(XrSession, const XrRenderModelCreateInfoEXT *, XrRenderModelEXT *); +typedef XrResult (XRAPI_PTR *PFN_xrCreateRenderModelSpaceEXT)(XrSession, const XrRenderModelSpaceCreateInfoEXT *, XrSpace *); typedef XrResult (XRAPI_PTR *PFN_xrCreateSceneMSFT)(XrSceneObserverMSFT, const XrSceneCreateInfoMSFT *, XrSceneMSFT *); typedef XrResult (XRAPI_PTR *PFN_xrCreateSceneObserverMSFT)(XrSession, const XrSceneObserverCreateInfoMSFT *, XrSceneObserverMSFT *); typedef XrResult (XRAPI_PTR *PFN_xrCreateSenseDataProviderBD)(XrSession, const XrSenseDataProviderCreateInfoBD *, XrSenseDataProviderBD *); @@ -7084,6 +8430,7 @@ typedef XrResult (XRAPI_PTR *PFN_xrCreateSession)(XrInstance, const XrSessionCre typedef XrResult (XRAPI_PTR *PFN_xrCreateSpaceUserFB)(XrSession, const XrSpaceUserCreateInfoFB *, XrSpaceUserFB *); typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialAnchorAsyncBD)(XrSenseDataProviderBD, const XrSpatialAnchorCreateInfoBD *, XrFutureEXT *); typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialAnchorCompleteBD)(XrSenseDataProviderBD, XrFutureEXT, XrSpatialAnchorCreateCompletionBD *); +typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialAnchorEXT)(XrSpatialContextEXT, const XrSpatialAnchorCreateInfoEXT *, XrSpatialEntityIdEXT *, XrSpatialEntityEXT *); typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialAnchorFB)(XrSession, const XrSpatialAnchorCreateInfoFB *, XrAsyncRequestIdFB *); typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialAnchorFromPersistedNameMSFT)(XrSession, const XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT *, XrSpatialAnchorMSFT *); typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialAnchorHTC)(XrSession, const XrSpatialAnchorCreateInfoHTC *, XrSpace *); @@ -7093,9 +8440,18 @@ typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialAnchorStoreConnectionMSFT)(XrSes typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialAnchorsAsyncML)(XrSession, const XrSpatialAnchorsCreateInfoBaseHeaderML *, XrFutureEXT *); typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialAnchorsCompleteML)(XrSession, XrFutureEXT, XrCreateSpatialAnchorsCompletionML *); typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialAnchorsStorageML)(XrSession, const XrSpatialAnchorsCreateStorageInfoML *, XrSpatialAnchorsStorageML *); +typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialContextAsyncEXT)(XrSession, const XrSpatialContextCreateInfoEXT *, XrFutureEXT *); +typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialContextCompleteEXT)(XrSession, XrFutureEXT, XrCreateSpatialContextCompletionEXT *); +typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialDiscoverySnapshotAsyncEXT)(XrSpatialContextEXT, const XrSpatialDiscoverySnapshotCreateInfoEXT *, XrFutureEXT *); +typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialDiscoverySnapshotCompleteEXT)(XrSpatialContextEXT, const XrCreateSpatialDiscoverySnapshotCompletionInfoEXT *, XrCreateSpatialDiscoverySnapshotCompletionEXT *); typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialEntityAnchorBD)(XrSenseDataProviderBD, const XrSpatialEntityAnchorCreateInfoBD *, XrAnchorBD *); +typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialEntityFromIdEXT)(XrSpatialContextEXT, const XrSpatialEntityFromIdCreateInfoEXT *, XrSpatialEntityEXT *); typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialGraphNodeSpaceMSFT)(XrSession, const XrSpatialGraphNodeSpaceCreateInfoMSFT *, XrSpace *); +typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialPersistenceContextAsyncEXT)(XrSession, const XrSpatialPersistenceContextCreateInfoEXT *, XrFutureEXT *); +typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialPersistenceContextCompleteEXT)(XrSession, XrFutureEXT, XrCreateSpatialPersistenceContextCompletionEXT *); +typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialUpdateSnapshotEXT)(XrSpatialContextEXT, const XrSpatialUpdateSnapshotCreateInfoEXT *, XrSpatialSnapshotEXT *); typedef XrResult (XRAPI_PTR *PFN_xrCreateSwapchain)(XrSession, const XrSwapchainCreateInfo *, XrSwapchain *); +typedef XrResult (XRAPI_PTR *PFN_xrCreateTrackableTrackerANDROID)(XrSession, const XrTrackableTrackerCreateInfoANDROID *, XrTrackableTrackerANDROID *); typedef XrResult (XRAPI_PTR *PFN_xrCreateTriangleMeshFB)(XrSession, const XrTriangleMeshCreateInfoFB *, XrTriangleMeshFB *); typedef XrResult (XRAPI_PTR *PFN_xrCreateVirtualKeyboardMETA)(XrSession, const XrVirtualKeyboardCreateInfoMETA *, XrVirtualKeyboardMETA *); typedef XrResult (XRAPI_PTR *PFN_xrCreateVirtualKeyboardSpaceMETA)(XrSession, XrVirtualKeyboardMETA, const XrVirtualKeyboardSpaceCreateInfoMETA *, XrSpace *); @@ -7111,6 +8467,7 @@ typedef XrResult (XRAPI_PTR *PFN_xrDestroyAnchorBD)(XrAnchorBD); typedef XrResult (XRAPI_PTR *PFN_xrDestroyBodyTrackerBD)(XrBodyTrackerBD); typedef XrResult (XRAPI_PTR *PFN_xrDestroyBodyTrackerFB)(XrBodyTrackerFB); typedef XrResult (XRAPI_PTR *PFN_xrDestroyBodyTrackerHTC)(XrBodyTrackerHTC); +typedef XrResult (XRAPI_PTR *PFN_xrDestroyDeviceAnchorPersistenceANDROID)(XrDeviceAnchorPersistenceANDROID); typedef XrResult (XRAPI_PTR *PFN_xrDestroyEnvironmentDepthProviderMETA)(XrEnvironmentDepthProviderMETA); typedef XrResult (XRAPI_PTR *PFN_xrDestroyEnvironmentDepthSwapchainMETA)(XrEnvironmentDepthSwapchainMETA); typedef XrResult (XRAPI_PTR *PFN_xrDestroyExportedLocalizationMapML)(XrExportedLocalizationMapML); @@ -7129,6 +8486,8 @@ typedef XrResult (XRAPI_PTR *PFN_xrDestroyPassthroughFB)(XrPassthroughFB); typedef XrResult (XRAPI_PTR *PFN_xrDestroyPassthroughHTC)(XrPassthroughHTC); typedef XrResult (XRAPI_PTR *PFN_xrDestroyPassthroughLayerFB)(XrPassthroughLayerFB); typedef XrResult (XRAPI_PTR *PFN_xrDestroyPlaneDetectorEXT)(XrPlaneDetectorEXT); +typedef XrResult (XRAPI_PTR *PFN_xrDestroyRenderModelAssetEXT)(XrRenderModelAssetEXT); +typedef XrResult (XRAPI_PTR *PFN_xrDestroyRenderModelEXT)(XrRenderModelEXT); typedef XrResult (XRAPI_PTR *PFN_xrDestroySceneMSFT)(XrSceneMSFT); typedef XrResult (XRAPI_PTR *PFN_xrDestroySceneObserverMSFT)(XrSceneObserverMSFT); typedef XrResult (XRAPI_PTR *PFN_xrDestroySenseDataProviderBD)(XrSenseDataProviderBD); @@ -7139,8 +8498,13 @@ typedef XrResult (XRAPI_PTR *PFN_xrDestroySpaceUserFB)(XrSpaceUserFB); typedef XrResult (XRAPI_PTR *PFN_xrDestroySpatialAnchorMSFT)(XrSpatialAnchorMSFT); typedef XrResult (XRAPI_PTR *PFN_xrDestroySpatialAnchorStoreConnectionMSFT)(XrSpatialAnchorStoreConnectionMSFT); typedef XrResult (XRAPI_PTR *PFN_xrDestroySpatialAnchorsStorageML)(XrSpatialAnchorsStorageML); +typedef XrResult (XRAPI_PTR *PFN_xrDestroySpatialContextEXT)(XrSpatialContextEXT); +typedef XrResult (XRAPI_PTR *PFN_xrDestroySpatialEntityEXT)(XrSpatialEntityEXT); typedef XrResult (XRAPI_PTR *PFN_xrDestroySpatialGraphNodeBindingMSFT)(XrSpatialGraphNodeBindingMSFT); +typedef XrResult (XRAPI_PTR *PFN_xrDestroySpatialPersistenceContextEXT)(XrSpatialPersistenceContextEXT); +typedef XrResult (XRAPI_PTR *PFN_xrDestroySpatialSnapshotEXT)(XrSpatialSnapshotEXT); typedef XrResult (XRAPI_PTR *PFN_xrDestroySwapchain)(XrSwapchain); +typedef XrResult (XRAPI_PTR *PFN_xrDestroyTrackableTrackerANDROID)(XrTrackableTrackerANDROID); typedef XrResult (XRAPI_PTR *PFN_xrDestroyTriangleMeshFB)(XrTriangleMeshFB); typedef XrResult (XRAPI_PTR *PFN_xrDestroyVirtualKeyboardMETA)(XrVirtualKeyboardMETA); typedef XrResult (XRAPI_PTR *PFN_xrDestroyWorldMeshDetectorML)(XrWorldMeshDetectorML); @@ -7158,26 +8522,40 @@ typedef XrResult (XRAPI_PTR *PFN_xrEnumerateEnvironmentBlendModes)(XrInstance, X typedef XrResult (XRAPI_PTR *PFN_xrEnumerateEnvironmentDepthSwapchainImagesMETA)(XrEnvironmentDepthSwapchainMETA, uint32_t, uint32_t *, XrSwapchainImageBaseHeader *); typedef XrResult (XRAPI_PTR *PFN_xrEnumerateExternalCamerasOCULUS)(XrSession, uint32_t, uint32_t *, XrExternalCameraOCULUS *); typedef XrResult (XRAPI_PTR *PFN_xrEnumerateInstanceExtensionProperties)(const char *, uint32_t, uint32_t *, XrExtensionProperties *); +typedef XrResult (XRAPI_PTR *PFN_xrEnumerateInteractionRenderModelIdsEXT)(XrSession, const XrInteractionRenderModelIdsEnumerateInfoEXT *, uint32_t, uint32_t *, XrRenderModelIdEXT *); typedef XrResult (XRAPI_PTR *PFN_xrEnumeratePerformanceMetricsCounterPathsMETA)(XrInstance, uint32_t, uint32_t *, XrPath *); +typedef XrResult (XRAPI_PTR *PFN_xrEnumeratePersistedAnchorsANDROID)(XrDeviceAnchorPersistenceANDROID, uint32_t, uint32_t *, XrUuidEXT *); typedef XrResult (XRAPI_PTR *PFN_xrEnumeratePersistedSpatialAnchorNamesMSFT)(XrSpatialAnchorStoreConnectionMSFT, uint32_t, uint32_t *, XrSpatialAnchorPersistenceNameMSFT *); +typedef XrResult (XRAPI_PTR *PFN_xrEnumerateRaycastSupportedTrackableTypesANDROID)(XrInstance, XrSystemId, uint32_t, uint32_t *, XrTrackableTypeANDROID *); typedef XrResult (XRAPI_PTR *PFN_xrEnumerateReferenceSpaces)(XrSession, uint32_t, uint32_t *, XrReferenceSpaceType *); typedef XrResult (XRAPI_PTR *PFN_xrEnumerateRenderModelPathsFB)(XrSession, uint32_t, uint32_t *, XrRenderModelPathInfoFB *); +typedef XrResult (XRAPI_PTR *PFN_xrEnumerateRenderModelSubactionPathsEXT)(XrRenderModelEXT, const XrInteractionRenderModelSubactionPathInfoEXT *, uint32_t, uint32_t *, XrPath *); typedef XrResult (XRAPI_PTR *PFN_xrEnumerateReprojectionModesMSFT)(XrInstance, XrSystemId, XrViewConfigurationType, uint32_t, uint32_t *, XrReprojectionModeMSFT *); typedef XrResult (XRAPI_PTR *PFN_xrEnumerateSceneComputeFeaturesMSFT)(XrInstance, XrSystemId, uint32_t, uint32_t *, XrSceneComputeFeatureMSFT *); typedef XrResult (XRAPI_PTR *PFN_xrEnumerateSpaceSupportedComponentsFB)(XrSpace, uint32_t, uint32_t *, XrSpaceComponentTypeFB *); +typedef XrResult (XRAPI_PTR *PFN_xrEnumerateSpatialCapabilitiesEXT)(XrInstance, XrSystemId, uint32_t, uint32_t *, XrSpatialCapabilityEXT *); +typedef XrResult (XRAPI_PTR *PFN_xrEnumerateSpatialCapabilityComponentTypesEXT)(XrInstance, XrSystemId, XrSpatialCapabilityEXT, XrSpatialCapabilityComponentTypesEXT *); +typedef XrResult (XRAPI_PTR *PFN_xrEnumerateSpatialCapabilityFeaturesEXT)(XrInstance, XrSystemId, XrSpatialCapabilityEXT, uint32_t, uint32_t *, XrSpatialCapabilityFeatureEXT *); typedef XrResult (XRAPI_PTR *PFN_xrEnumerateSpatialEntityComponentTypesBD)(XrSenseDataSnapshotBD, XrSpatialEntityIdBD, uint32_t, uint32_t *, XrSpatialEntityComponentTypeBD *); +typedef XrResult (XRAPI_PTR *PFN_xrEnumerateSpatialPersistenceScopesEXT)(XrInstance, XrSystemId, uint32_t, uint32_t *, XrSpatialPersistenceScopeEXT *); +typedef XrResult (XRAPI_PTR *PFN_xrEnumerateSupportedAnchorTrackableTypesANDROID)(XrInstance, XrSystemId, uint32_t, uint32_t *, XrTrackableTypeANDROID *); +typedef XrResult (XRAPI_PTR *PFN_xrEnumerateSupportedPersistenceAnchorTypesANDROID)(XrInstance, XrSystemId, uint32_t, uint32_t *, XrTrackableTypeANDROID *); +typedef XrResult (XRAPI_PTR *PFN_xrEnumerateSupportedTrackableTypesANDROID)(XrInstance, XrSystemId, uint32_t, uint32_t *, XrTrackableTypeANDROID *); typedef XrResult (XRAPI_PTR *PFN_xrEnumerateSwapchainFormats)(XrSession, uint32_t, uint32_t *, int64_t *); typedef XrResult (XRAPI_PTR *PFN_xrEnumerateSwapchainImages)(XrSwapchain, uint32_t, uint32_t *, XrSwapchainImageBaseHeader *); typedef XrResult (XRAPI_PTR *PFN_xrEnumerateViewConfigurationViews)(XrInstance, XrSystemId, XrViewConfigurationType, uint32_t, uint32_t *, XrViewConfigurationView *); typedef XrResult (XRAPI_PTR *PFN_xrEnumerateViewConfigurations)(XrInstance, XrSystemId, uint32_t, uint32_t *, XrViewConfigurationType *); typedef XrResult (XRAPI_PTR *PFN_xrEnumerateViveTrackerPathsHTCX)(XrInstance, uint32_t, uint32_t *, XrViveTrackerPathsHTCX *); typedef XrResult (XRAPI_PTR *PFN_xrEraseSpaceFB)(XrSession, const XrSpaceEraseInfoFB *, XrAsyncRequestIdFB *); +typedef XrResult (XRAPI_PTR *PFN_xrEraseSpacesMETA)(XrSession, const XrSpacesEraseInfoMETA *, XrAsyncRequestIdFB *); typedef XrResult (XRAPI_PTR *PFN_xrFreeWorldMeshBufferML)(XrWorldMeshDetectorML, const XrWorldMeshBufferML *); typedef XrResult (XRAPI_PTR *PFN_xrGeometryInstanceSetTransformFB)(XrGeometryInstanceFB, const XrGeometryInstanceTransformFB *); typedef XrResult (XRAPI_PTR *PFN_xrGetActionStateBoolean)(XrSession, const XrActionStateGetInfo *, XrActionStateBoolean *); typedef XrResult (XRAPI_PTR *PFN_xrGetActionStateFloat)(XrSession, const XrActionStateGetInfo *, XrActionStateFloat *); typedef XrResult (XRAPI_PTR *PFN_xrGetActionStatePose)(XrSession, const XrActionStateGetInfo *, XrActionStatePose *); typedef XrResult (XRAPI_PTR *PFN_xrGetActionStateVector2f)(XrSession, const XrActionStateGetInfo *, XrActionStateVector2f *); +typedef XrResult (XRAPI_PTR *PFN_xrGetAllTrackablesANDROID)(XrTrackableTrackerANDROID, uint32_t, uint32_t *, XrTrackableANDROID *); +typedef XrResult (XRAPI_PTR *PFN_xrGetAnchorPersistStateANDROID)(XrDeviceAnchorPersistenceANDROID, const XrUuidEXT *, XrAnchorPersistStateANDROID *); typedef XrResult (XRAPI_PTR *PFN_xrGetAnchorUuidBD)(XrAnchorBD, XrUuidEXT *); typedef XrResult (XRAPI_PTR *PFN_xrGetAudioInputDeviceGuidOculus)(XrInstance, wchar_t[]); typedef XrResult (XRAPI_PTR *PFN_xrGetAudioOutputDeviceGuidOculus)(XrInstance, wchar_t[]); @@ -7211,6 +8589,7 @@ typedef XrResult (XRAPI_PTR *PFN_xrGetMarkerSizeVARJO)(XrSession, uint64_t, XrEx typedef XrResult (XRAPI_PTR *PFN_xrGetMarkerStringML)(XrMarkerDetectorML, XrMarkerML, uint32_t, uint32_t *, char *); typedef XrResult (XRAPI_PTR *PFN_xrGetMarkersML)(XrMarkerDetectorML, uint32_t, uint32_t *, XrMarkerML *); typedef XrResult (XRAPI_PTR *PFN_xrGetOpenGLGraphicsRequirementsKHR)(XrInstance, XrSystemId, XrGraphicsRequirementsOpenGLKHR *); +typedef XrResult (XRAPI_PTR *PFN_xrGetPassthroughCameraStateANDROID)(XrSession, const XrPassthroughCameraStateGetInfoANDROID *, XrPassthroughCameraStateANDROID *); typedef XrResult (XRAPI_PTR *PFN_xrGetPassthroughPreferencesMETA)(XrSession, XrPassthroughPreferencesMETA *); typedef XrResult (XRAPI_PTR *PFN_xrGetPerformanceMetricsStateMETA)(XrSession, XrPerformanceMetricsStateMETA *); typedef XrResult (XRAPI_PTR *PFN_xrGetPlaneDetectionStateEXT)(XrPlaneDetectorEXT, XrPlaneDetectionStateEXT *); @@ -7219,7 +8598,12 @@ typedef XrResult (XRAPI_PTR *PFN_xrGetPlanePolygonBufferEXT)(XrPlaneDetectorEXT, typedef XrResult (XRAPI_PTR *PFN_xrGetQueriedSenseDataBD)(XrSenseDataSnapshotBD, XrQueriedSenseDataGetInfoBD *, XrQueriedSenseDataBD *); typedef XrResult (XRAPI_PTR *PFN_xrGetRecommendedLayerResolutionMETA)(XrSession, const XrRecommendedLayerResolutionGetInfoMETA *, XrRecommendedLayerResolutionMETA *); typedef XrResult (XRAPI_PTR *PFN_xrGetReferenceSpaceBoundsRect)(XrSession, XrReferenceSpaceType, XrExtent2Df *); +typedef XrResult (XRAPI_PTR *PFN_xrGetRenderModelAssetDataEXT)(XrRenderModelAssetEXT, const XrRenderModelAssetDataGetInfoEXT *, XrRenderModelAssetDataEXT *); +typedef XrResult (XRAPI_PTR *PFN_xrGetRenderModelAssetPropertiesEXT)(XrRenderModelAssetEXT, const XrRenderModelAssetPropertiesGetInfoEXT *, XrRenderModelAssetPropertiesEXT *); +typedef XrResult (XRAPI_PTR *PFN_xrGetRenderModelPoseTopLevelUserPathEXT)(XrRenderModelEXT, const XrInteractionRenderModelTopLevelUserPathGetInfoEXT *, XrPath *); +typedef XrResult (XRAPI_PTR *PFN_xrGetRenderModelPropertiesEXT)(XrRenderModelEXT, const XrRenderModelPropertiesGetInfoEXT *, XrRenderModelPropertiesEXT *); typedef XrResult (XRAPI_PTR *PFN_xrGetRenderModelPropertiesFB)(XrSession, XrPath, XrRenderModelPropertiesFB *); +typedef XrResult (XRAPI_PTR *PFN_xrGetRenderModelStateEXT)(XrRenderModelEXT, const XrRenderModelStateGetInfoEXT *, XrRenderModelStateEXT *); typedef XrResult (XRAPI_PTR *PFN_xrGetSceneComponentsMSFT)(XrSceneMSFT, const XrSceneComponentsGetInfoMSFT *, XrSceneComponentsMSFT *); typedef XrResult (XRAPI_PTR *PFN_xrGetSceneComputeStateMSFT)(XrSceneObserverMSFT, XrSceneComputeStateMSFT *); typedef XrResult (XRAPI_PTR *PFN_xrGetSceneMarkerDecodedStringMSFT)(XrSceneMSFT, const XrUuidMSFT *, uint32_t, uint32_t *, char *); @@ -7239,12 +8623,22 @@ typedef XrResult (XRAPI_PTR *PFN_xrGetSpaceUserIdFB)(XrSpaceUserFB, XrSpaceUserI typedef XrResult (XRAPI_PTR *PFN_xrGetSpaceUuidFB)(XrSpace, XrUuidEXT *); typedef XrResult (XRAPI_PTR *PFN_xrGetSpatialAnchorNameHTC)(XrSpace, XrSpatialAnchorNameHTC *); typedef XrResult (XRAPI_PTR *PFN_xrGetSpatialAnchorStateML)(XrSpace, XrSpatialAnchorStateML *); +typedef XrResult (XRAPI_PTR *PFN_xrGetSpatialBufferFloatEXT)(XrSpatialSnapshotEXT, const XrSpatialBufferGetInfoEXT *, uint32_t, uint32_t *, float *); +typedef XrResult (XRAPI_PTR *PFN_xrGetSpatialBufferStringEXT)(XrSpatialSnapshotEXT, const XrSpatialBufferGetInfoEXT *, uint32_t, uint32_t *, char *); +typedef XrResult (XRAPI_PTR *PFN_xrGetSpatialBufferUint16EXT)(XrSpatialSnapshotEXT, const XrSpatialBufferGetInfoEXT *, uint32_t, uint32_t *, uint16_t *); +typedef XrResult (XRAPI_PTR *PFN_xrGetSpatialBufferUint32EXT)(XrSpatialSnapshotEXT, const XrSpatialBufferGetInfoEXT *, uint32_t, uint32_t *, uint32_t *); +typedef XrResult (XRAPI_PTR *PFN_xrGetSpatialBufferUint8EXT)(XrSpatialSnapshotEXT, const XrSpatialBufferGetInfoEXT *, uint32_t, uint32_t *, uint8_t *); +typedef XrResult (XRAPI_PTR *PFN_xrGetSpatialBufferVector2fEXT)(XrSpatialSnapshotEXT, const XrSpatialBufferGetInfoEXT *, uint32_t, uint32_t *, XrVector2f *); +typedef XrResult (XRAPI_PTR *PFN_xrGetSpatialBufferVector3fEXT)(XrSpatialSnapshotEXT, const XrSpatialBufferGetInfoEXT *, uint32_t, uint32_t *, XrVector3f *); typedef XrResult (XRAPI_PTR *PFN_xrGetSpatialEntityComponentDataBD)(XrSenseDataSnapshotBD, const XrSpatialEntityComponentGetInfoBD *, XrSpatialEntityComponentDataBaseHeaderBD *); typedef XrResult (XRAPI_PTR *PFN_xrGetSpatialEntityUuidBD)(XrSenseDataSnapshotBD, XrSpatialEntityIdBD, XrUuidEXT *); typedef XrResult (XRAPI_PTR *PFN_xrGetSpatialGraphNodeBindingPropertiesMSFT)(XrSpatialGraphNodeBindingMSFT, const XrSpatialGraphNodeBindingPropertiesGetInfoMSFT *, XrSpatialGraphNodeBindingPropertiesMSFT *); typedef XrResult (XRAPI_PTR *PFN_xrGetSwapchainStateFB)(XrSwapchain, XrSwapchainStateBaseHeaderFB *); typedef XrResult (XRAPI_PTR *PFN_xrGetSystem)(XrInstance, const XrSystemGetInfo *, XrSystemId *); typedef XrResult (XRAPI_PTR *PFN_xrGetSystemProperties)(XrInstance, XrSystemId, XrSystemProperties *); +typedef XrResult (XRAPI_PTR *PFN_xrGetTrackableMarkerANDROID)(XrTrackableTrackerANDROID, const XrTrackableGetInfoANDROID *, XrTrackableMarkerANDROID *); +typedef XrResult (XRAPI_PTR *PFN_xrGetTrackableObjectANDROID)(XrTrackableTrackerANDROID, const XrTrackableGetInfoANDROID *, XrTrackableObjectANDROID *); +typedef XrResult (XRAPI_PTR *PFN_xrGetTrackablePlaneANDROID)(XrTrackableTrackerANDROID, const XrTrackableGetInfoANDROID *, XrTrackablePlaneANDROID *); typedef XrResult (XRAPI_PTR *PFN_xrGetViewConfigurationProperties)(XrInstance, XrSystemId, XrViewConfigurationType, XrViewConfigurationProperties *); typedef XrResult (XRAPI_PTR *PFN_xrGetVirtualKeyboardDirtyTexturesMETA)(XrVirtualKeyboardMETA, uint32_t, uint32_t *, uint64_t *); typedef XrResult (XRAPI_PTR *PFN_xrGetVirtualKeyboardModelAnimationStatesMETA)(XrVirtualKeyboardMETA, XrVirtualKeyboardModelAnimationStatesMETA *); @@ -7279,10 +8673,14 @@ typedef XrResult (XRAPI_PTR *PFN_xrPassthroughLayerSetStyleFB)(XrPassthroughLaye typedef XrResult (XRAPI_PTR *PFN_xrPassthroughPauseFB)(XrPassthroughFB); typedef XrResult (XRAPI_PTR *PFN_xrPassthroughStartFB)(XrPassthroughFB); typedef XrResult (XRAPI_PTR *PFN_xrPathToString)(XrInstance, XrPath, uint32_t, uint32_t *, char *); +typedef XrResult (XRAPI_PTR *PFN_xrPauseSimultaneousHandsAndControllersTrackingMETA)(XrSession, const XrSimultaneousHandsAndControllersTrackingPauseInfoMETA *); typedef XrResult (XRAPI_PTR *PFN_xrPerfSettingsSetPerformanceLevelEXT)(XrSession, XrPerfSettingsDomainEXT, XrPerfSettingsLevelEXT); +typedef XrResult (XRAPI_PTR *PFN_xrPersistAnchorANDROID)(XrDeviceAnchorPersistenceANDROID, const XrPersistedAnchorSpaceInfoANDROID *, XrUuidEXT *); typedef XrResult (XRAPI_PTR *PFN_xrPersistSpatialAnchorAsyncBD)(XrSenseDataProviderBD, const XrSpatialAnchorPersistInfoBD *, XrFutureEXT *); typedef XrResult (XRAPI_PTR *PFN_xrPersistSpatialAnchorCompleteBD)(XrSenseDataProviderBD, XrFutureEXT, XrFutureCompletionEXT *); typedef XrResult (XRAPI_PTR *PFN_xrPersistSpatialAnchorMSFT)(XrSpatialAnchorStoreConnectionMSFT, const XrSpatialAnchorPersistenceInfoMSFT *); +typedef XrResult (XRAPI_PTR *PFN_xrPersistSpatialEntityAsyncEXT)(XrSpatialPersistenceContextEXT, const XrSpatialEntityPersistInfoEXT *, XrFutureEXT *); +typedef XrResult (XRAPI_PTR *PFN_xrPersistSpatialEntityCompleteEXT)(XrSpatialPersistenceContextEXT, XrFutureEXT, XrPersistSpatialEntityCompletionEXT *); typedef XrResult (XRAPI_PTR *PFN_xrPollEvent)(XrInstance, XrEventDataBuffer *); typedef XrResult (XRAPI_PTR *PFN_xrPollFutureEXT)(XrInstance, const XrFuturePollInfoEXT *, XrFuturePollResultEXT *); typedef XrResult (XRAPI_PTR *PFN_xrPublishSpatialAnchorsAsyncML)(XrSpatialAnchorsStorageML, const XrSpatialAnchorsPublishInfoML *, XrFutureEXT *); @@ -7294,7 +8692,9 @@ typedef XrResult (XRAPI_PTR *PFN_xrQuerySenseDataCompleteBD)(XrSenseDataProvider typedef XrResult (XRAPI_PTR *PFN_xrQuerySpacesFB)(XrSession, const XrSpaceQueryInfoBaseHeaderFB *, XrAsyncRequestIdFB *); typedef XrResult (XRAPI_PTR *PFN_xrQuerySpatialAnchorsAsyncML)(XrSpatialAnchorsStorageML, const XrSpatialAnchorsQueryInfoBaseHeaderML *, XrFutureEXT *); typedef XrResult (XRAPI_PTR *PFN_xrQuerySpatialAnchorsCompleteML)(XrSpatialAnchorsStorageML, XrFutureEXT, XrSpatialAnchorsQueryCompletionML *); +typedef XrResult (XRAPI_PTR *PFN_xrQuerySpatialComponentDataEXT)(XrSpatialSnapshotEXT, const XrSpatialComponentDataQueryConditionEXT *, XrSpatialComponentDataQueryResultEXT *); typedef XrResult (XRAPI_PTR *PFN_xrQuerySystemTrackedKeyboardFB)(XrSession, const XrKeyboardTrackingQueryFB *, XrKeyboardTrackingDescriptionFB *); +typedef XrResult (XRAPI_PTR *PFN_xrRaycastANDROID)(XrSession, const XrRaycastInfoANDROID *, XrRaycastHitResultsANDROID *); typedef XrResult (XRAPI_PTR *PFN_xrReleaseSwapchainImage)(XrSwapchain, const XrSwapchainImageReleaseInfo *); typedef XrResult (XRAPI_PTR *PFN_xrRequestDisplayRefreshRateFB)(XrSession, float); typedef XrResult (XRAPI_PTR *PFN_xrRequestExitSession)(XrSession); @@ -7304,10 +8704,13 @@ typedef XrResult (XRAPI_PTR *PFN_xrRequestWorldMeshAsyncML)(XrWorldMeshDetectorM typedef XrResult (XRAPI_PTR *PFN_xrRequestWorldMeshCompleteML)(XrWorldMeshDetectorML, const XrWorldMeshRequestCompletionInfoML *, XrFutureEXT, XrWorldMeshRequestCompletionML *); typedef XrResult (XRAPI_PTR *PFN_xrRequestWorldMeshStateAsyncML)(XrWorldMeshDetectorML, const XrWorldMeshStateRequestInfoML *, XrFutureEXT *); typedef XrResult (XRAPI_PTR *PFN_xrRequestWorldMeshStateCompleteML)(XrWorldMeshDetectorML, XrFutureEXT, XrWorldMeshStateRequestCompletionML *); +typedef XrResult (XRAPI_PTR *PFN_xrResetBodyTrackingCalibrationMETA)(XrBodyTrackerFB); typedef XrResult (XRAPI_PTR *PFN_xrResultToString)(XrInstance, XrResult, char[]); +typedef XrResult (XRAPI_PTR *PFN_xrResumeSimultaneousHandsAndControllersTrackingMETA)(XrSession, const XrSimultaneousHandsAndControllersTrackingResumeInfoMETA *); typedef XrResult (XRAPI_PTR *PFN_xrRetrieveSpaceQueryResultsFB)(XrSession, XrAsyncRequestIdFB, XrSpaceQueryResultsFB *); typedef XrResult (XRAPI_PTR *PFN_xrSaveSpaceFB)(XrSession, const XrSpaceSaveInfoFB *, XrAsyncRequestIdFB *); typedef XrResult (XRAPI_PTR *PFN_xrSaveSpaceListFB)(XrSession, const XrSpaceListSaveInfoFB *, XrAsyncRequestIdFB *); +typedef XrResult (XRAPI_PTR *PFN_xrSaveSpacesMETA)(XrSession, const XrSpacesSaveInfoMETA *, XrAsyncRequestIdFB *); typedef XrResult (XRAPI_PTR *PFN_xrSendVirtualKeyboardInputMETA)(XrVirtualKeyboardMETA, const XrVirtualKeyboardInputInfoMETA *, XrPosef *); typedef XrResult (XRAPI_PTR *PFN_xrSetColorSpaceFB)(XrSession, const XrColorSpaceFB); typedef XrResult (XRAPI_PTR *PFN_xrSetDigitalLensControlALMALENCE)(XrSession, const XrDigitalLensControlALMALENCE *); @@ -7345,6 +8748,7 @@ typedef XrResult (XRAPI_PTR *PFN_xrStopSenseDataProviderBD)(XrSenseDataProviderB typedef XrResult (XRAPI_PTR *PFN_xrStringToPath)(XrInstance, const char *, XrPath *); typedef XrResult (XRAPI_PTR *PFN_xrStructureTypeToString)(XrInstance, XrStructureType, char[]); typedef XrResult (XRAPI_PTR *PFN_xrStructureTypeToString2KHR)(XrInstance, XrStructureType, char[]); +typedef XrResult (XRAPI_PTR *PFN_xrSuggestBodyTrackingCalibrationOverrideMETA)(XrBodyTrackerFB, const XrBodyTrackingCalibrationInfoMETA *); typedef XrResult (XRAPI_PTR *PFN_xrSuggestInteractionProfileBindings)(XrInstance, const XrInteractionProfileSuggestedBinding *); typedef XrResult (XRAPI_PTR *PFN_xrSuggestVirtualKeyboardLocationMETA)(XrVirtualKeyboardMETA, const XrVirtualKeyboardLocationInfoMETA *); typedef XrResult (XRAPI_PTR *PFN_xrSyncActions)(XrSession, const XrActionsSyncInfo *); @@ -7356,9 +8760,12 @@ typedef XrResult (XRAPI_PTR *PFN_xrTriangleMeshEndVertexBufferUpdateFB)(XrTriang typedef XrResult (XRAPI_PTR *PFN_xrTriangleMeshGetIndexBufferFB)(XrTriangleMeshFB, uint32_t **); typedef XrResult (XRAPI_PTR *PFN_xrTriangleMeshGetVertexBufferFB)(XrTriangleMeshFB, XrVector3f **); typedef XrResult (XRAPI_PTR *PFN_xrTryCreateSpatialGraphStaticNodeBindingMSFT)(XrSession, const XrSpatialGraphStaticNodeBindingCreateInfoMSFT *, XrSpatialGraphNodeBindingMSFT *); +typedef XrResult (XRAPI_PTR *PFN_xrUnpersistAnchorANDROID)(XrDeviceAnchorPersistenceANDROID, const XrUuidEXT *); typedef XrResult (XRAPI_PTR *PFN_xrUnpersistSpatialAnchorAsyncBD)(XrSenseDataProviderBD, const XrSpatialAnchorUnpersistInfoBD *, XrFutureEXT *); typedef XrResult (XRAPI_PTR *PFN_xrUnpersistSpatialAnchorCompleteBD)(XrSenseDataProviderBD, XrFutureEXT, XrFutureCompletionEXT *); typedef XrResult (XRAPI_PTR *PFN_xrUnpersistSpatialAnchorMSFT)(XrSpatialAnchorStoreConnectionMSFT, const XrSpatialAnchorPersistenceNameMSFT *); +typedef XrResult (XRAPI_PTR *PFN_xrUnpersistSpatialEntityAsyncEXT)(XrSpatialPersistenceContextEXT, const XrSpatialEntityUnpersistInfoEXT *, XrFutureEXT *); +typedef XrResult (XRAPI_PTR *PFN_xrUnpersistSpatialEntityCompleteEXT)(XrSpatialPersistenceContextEXT, XrFutureEXT, XrUnpersistSpatialEntityCompletionEXT *); typedef XrResult (XRAPI_PTR *PFN_xrUpdateHandMeshMSFT)(XrHandTrackerEXT, const XrHandMeshUpdateInfoMSFT *, XrHandMeshMSFT *); typedef XrResult (XRAPI_PTR *PFN_xrUpdatePassthroughColorLutMETA)(XrPassthroughColorLutMETA, const XrPassthroughColorLutUpdateInfoMETA *); typedef XrResult (XRAPI_PTR *PFN_xrUpdateSpatialAnchorsExpirationAsyncML)(XrSpatialAnchorsStorageML, const XrSpatialAnchorsUpdateExpirationInfoML *, XrFutureEXT *); @@ -7388,11 +8795,13 @@ XrResult XRAPI_CALL xrConvertWin32PerformanceCounterToTimeKHR(XrInstance instanc XrResult XRAPI_CALL xrCreateAction(XrActionSet actionSet, const XrActionCreateInfo *createInfo, XrAction *action); XrResult XRAPI_CALL xrCreateActionSet(XrInstance instance, const XrActionSetCreateInfo *createInfo, XrActionSet *actionSet); XrResult XRAPI_CALL xrCreateActionSpace(XrSession session, const XrActionSpaceCreateInfo *createInfo, XrSpace *space); +XrResult XRAPI_CALL xrCreateAnchorSpaceANDROID(XrSession session, const XrAnchorSpaceCreateInfoANDROID *createInfo, XrSpace *anchorOutput); XrResult XRAPI_CALL xrCreateAnchorSpaceBD(XrSession session, const XrAnchorSpaceCreateInfoBD *createInfo, XrSpace *space); XrResult XRAPI_CALL xrCreateApiLayerInstance(const XrInstanceCreateInfo *info, const XrApiLayerCreateInfo *layerInfo, XrInstance *instance); XrResult XRAPI_CALL xrCreateBodyTrackerBD(XrSession session, const XrBodyTrackerCreateInfoBD *createInfo, XrBodyTrackerBD *bodyTracker); XrResult XRAPI_CALL xrCreateBodyTrackerFB(XrSession session, const XrBodyTrackerCreateInfoFB *createInfo, XrBodyTrackerFB *bodyTracker); XrResult XRAPI_CALL xrCreateBodyTrackerHTC(XrSession session, const XrBodyTrackerCreateInfoHTC *createInfo, XrBodyTrackerHTC *bodyTracker); +XrResult XRAPI_CALL xrCreateDeviceAnchorPersistenceANDROID(XrSession session, const XrDeviceAnchorPersistenceCreateInfoANDROID *createInfo, XrDeviceAnchorPersistenceANDROID *outHandle); XrResult XRAPI_CALL xrCreateEnvironmentDepthProviderMETA(XrSession session, const XrEnvironmentDepthProviderCreateInfoMETA *createInfo, XrEnvironmentDepthProviderMETA *environmentDepthProvider); XrResult XRAPI_CALL xrCreateEnvironmentDepthSwapchainMETA(XrEnvironmentDepthProviderMETA environmentDepthProvider, const XrEnvironmentDepthSwapchainCreateInfoMETA *createInfo, XrEnvironmentDepthSwapchainMETA *swapchain); XrResult XRAPI_CALL xrCreateExportedLocalizationMapML(XrSession session, const XrUuidEXT *mapUuid, XrExportedLocalizationMapML *map); @@ -7414,8 +8823,12 @@ XrResult XRAPI_CALL xrCreatePassthroughColorLutMETA(XrPassthroughFB passthrough, XrResult XRAPI_CALL xrCreatePassthroughFB(XrSession session, const XrPassthroughCreateInfoFB *createInfo, XrPassthroughFB *outPassthrough); XrResult XRAPI_CALL xrCreatePassthroughHTC(XrSession session, const XrPassthroughCreateInfoHTC *createInfo, XrPassthroughHTC *passthrough); XrResult XRAPI_CALL xrCreatePassthroughLayerFB(XrSession session, const XrPassthroughLayerCreateInfoFB *createInfo, XrPassthroughLayerFB *outLayer); +XrResult XRAPI_CALL xrCreatePersistedAnchorSpaceANDROID(XrDeviceAnchorPersistenceANDROID handle, const XrPersistedAnchorSpaceCreateInfoANDROID *createInfo, XrSpace *anchorOutput); XrResult XRAPI_CALL xrCreatePlaneDetectorEXT(XrSession session, const XrPlaneDetectorCreateInfoEXT *createInfo, XrPlaneDetectorEXT *planeDetector); XrResult XRAPI_CALL xrCreateReferenceSpace(XrSession session, const XrReferenceSpaceCreateInfo *createInfo, XrSpace *space); +XrResult XRAPI_CALL xrCreateRenderModelAssetEXT(XrSession session, const XrRenderModelAssetCreateInfoEXT *createInfo, XrRenderModelAssetEXT *asset); +XrResult XRAPI_CALL xrCreateRenderModelEXT(XrSession session, const XrRenderModelCreateInfoEXT *createInfo, XrRenderModelEXT *renderModel); +XrResult XRAPI_CALL xrCreateRenderModelSpaceEXT(XrSession session, const XrRenderModelSpaceCreateInfoEXT *createInfo, XrSpace *space); XrResult XRAPI_CALL xrCreateSceneMSFT(XrSceneObserverMSFT sceneObserver, const XrSceneCreateInfoMSFT *createInfo, XrSceneMSFT *scene); XrResult XRAPI_CALL xrCreateSceneObserverMSFT(XrSession session, const XrSceneObserverCreateInfoMSFT *createInfo, XrSceneObserverMSFT *sceneObserver); XrResult XRAPI_CALL xrCreateSenseDataProviderBD(XrSession session, const XrSenseDataProviderCreateInfoBD *createInfo, XrSenseDataProviderBD *provider); @@ -7423,6 +8836,7 @@ XrResult XRAPI_CALL xrCreateSession(XrInstance instance, const XrSessionCreateIn XrResult XRAPI_CALL xrCreateSpaceUserFB(XrSession session, const XrSpaceUserCreateInfoFB *info, XrSpaceUserFB *user); XrResult XRAPI_CALL xrCreateSpatialAnchorAsyncBD(XrSenseDataProviderBD provider, const XrSpatialAnchorCreateInfoBD *info, XrFutureEXT *future); XrResult XRAPI_CALL xrCreateSpatialAnchorCompleteBD(XrSenseDataProviderBD provider, XrFutureEXT future, XrSpatialAnchorCreateCompletionBD *completion); +XrResult XRAPI_CALL xrCreateSpatialAnchorEXT(XrSpatialContextEXT spatialContext, const XrSpatialAnchorCreateInfoEXT *createInfo, XrSpatialEntityIdEXT *anchorEntityId, XrSpatialEntityEXT *anchorEntity); XrResult XRAPI_CALL xrCreateSpatialAnchorFB(XrSession session, const XrSpatialAnchorCreateInfoFB *info, XrAsyncRequestIdFB *requestId); XrResult XRAPI_CALL xrCreateSpatialAnchorFromPersistedNameMSFT(XrSession session, const XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT *spatialAnchorCreateInfo, XrSpatialAnchorMSFT *spatialAnchor); XrResult XRAPI_CALL xrCreateSpatialAnchorHTC(XrSession session, const XrSpatialAnchorCreateInfoHTC *createInfo, XrSpace *anchor); @@ -7432,9 +8846,18 @@ XrResult XRAPI_CALL xrCreateSpatialAnchorStoreConnectionMSFT(XrSession session, XrResult XRAPI_CALL xrCreateSpatialAnchorsAsyncML(XrSession session, const XrSpatialAnchorsCreateInfoBaseHeaderML *createInfo, XrFutureEXT *future); XrResult XRAPI_CALL xrCreateSpatialAnchorsCompleteML(XrSession session, XrFutureEXT future, XrCreateSpatialAnchorsCompletionML *completion); XrResult XRAPI_CALL xrCreateSpatialAnchorsStorageML(XrSession session, const XrSpatialAnchorsCreateStorageInfoML *createInfo, XrSpatialAnchorsStorageML *storage); +XrResult XRAPI_CALL xrCreateSpatialContextAsyncEXT(XrSession session, const XrSpatialContextCreateInfoEXT *createInfo, XrFutureEXT *future); +XrResult XRAPI_CALL xrCreateSpatialContextCompleteEXT(XrSession session, XrFutureEXT future, XrCreateSpatialContextCompletionEXT *completion); +XrResult XRAPI_CALL xrCreateSpatialDiscoverySnapshotAsyncEXT(XrSpatialContextEXT spatialContext, const XrSpatialDiscoverySnapshotCreateInfoEXT *createInfo, XrFutureEXT *future); +XrResult XRAPI_CALL xrCreateSpatialDiscoverySnapshotCompleteEXT(XrSpatialContextEXT spatialContext, const XrCreateSpatialDiscoverySnapshotCompletionInfoEXT *createSnapshotCompletionInfo, XrCreateSpatialDiscoverySnapshotCompletionEXT *completion); XrResult XRAPI_CALL xrCreateSpatialEntityAnchorBD(XrSenseDataProviderBD provider, const XrSpatialEntityAnchorCreateInfoBD *createInfo, XrAnchorBD *anchor); +XrResult XRAPI_CALL xrCreateSpatialEntityFromIdEXT(XrSpatialContextEXT spatialContext, const XrSpatialEntityFromIdCreateInfoEXT *createInfo, XrSpatialEntityEXT *spatialEntity); XrResult XRAPI_CALL xrCreateSpatialGraphNodeSpaceMSFT(XrSession session, const XrSpatialGraphNodeSpaceCreateInfoMSFT *createInfo, XrSpace *space); +XrResult XRAPI_CALL xrCreateSpatialPersistenceContextAsyncEXT(XrSession session, const XrSpatialPersistenceContextCreateInfoEXT *createInfo, XrFutureEXT *future); +XrResult XRAPI_CALL xrCreateSpatialPersistenceContextCompleteEXT(XrSession session, XrFutureEXT future, XrCreateSpatialPersistenceContextCompletionEXT *completion); +XrResult XRAPI_CALL xrCreateSpatialUpdateSnapshotEXT(XrSpatialContextEXT spatialContext, const XrSpatialUpdateSnapshotCreateInfoEXT *createInfo, XrSpatialSnapshotEXT *snapshot); XrResult XRAPI_CALL xrCreateSwapchain(XrSession session, const XrSwapchainCreateInfo *createInfo, XrSwapchain *swapchain); +XrResult XRAPI_CALL xrCreateTrackableTrackerANDROID(XrSession session, const XrTrackableTrackerCreateInfoANDROID *createInfo, XrTrackableTrackerANDROID *trackableTracker); XrResult XRAPI_CALL xrCreateTriangleMeshFB(XrSession session, const XrTriangleMeshCreateInfoFB *createInfo, XrTriangleMeshFB *outTriangleMesh); XrResult XRAPI_CALL xrCreateVirtualKeyboardMETA(XrSession session, const XrVirtualKeyboardCreateInfoMETA *createInfo, XrVirtualKeyboardMETA *keyboard); XrResult XRAPI_CALL xrCreateVirtualKeyboardSpaceMETA(XrSession session, XrVirtualKeyboardMETA keyboard, const XrVirtualKeyboardSpaceCreateInfoMETA *createInfo, XrSpace *keyboardSpace); @@ -7450,6 +8873,7 @@ XrResult XRAPI_CALL xrDestroyAnchorBD(XrAnchorBD anchor); XrResult XRAPI_CALL xrDestroyBodyTrackerBD(XrBodyTrackerBD bodyTracker); XrResult XRAPI_CALL xrDestroyBodyTrackerFB(XrBodyTrackerFB bodyTracker); XrResult XRAPI_CALL xrDestroyBodyTrackerHTC(XrBodyTrackerHTC bodyTracker); +XrResult XRAPI_CALL xrDestroyDeviceAnchorPersistenceANDROID(XrDeviceAnchorPersistenceANDROID handle); XrResult XRAPI_CALL xrDestroyEnvironmentDepthProviderMETA(XrEnvironmentDepthProviderMETA environmentDepthProvider); XrResult XRAPI_CALL xrDestroyEnvironmentDepthSwapchainMETA(XrEnvironmentDepthSwapchainMETA swapchain); XrResult XRAPI_CALL xrDestroyExportedLocalizationMapML(XrExportedLocalizationMapML map); @@ -7468,6 +8892,8 @@ XrResult XRAPI_CALL xrDestroyPassthroughFB(XrPassthroughFB passthrough); XrResult XRAPI_CALL xrDestroyPassthroughHTC(XrPassthroughHTC passthrough); XrResult XRAPI_CALL xrDestroyPassthroughLayerFB(XrPassthroughLayerFB layer); XrResult XRAPI_CALL xrDestroyPlaneDetectorEXT(XrPlaneDetectorEXT planeDetector); +XrResult XRAPI_CALL xrDestroyRenderModelAssetEXT(XrRenderModelAssetEXT asset); +XrResult XRAPI_CALL xrDestroyRenderModelEXT(XrRenderModelEXT renderModel); XrResult XRAPI_CALL xrDestroySceneMSFT(XrSceneMSFT scene); XrResult XRAPI_CALL xrDestroySceneObserverMSFT(XrSceneObserverMSFT sceneObserver); XrResult XRAPI_CALL xrDestroySenseDataProviderBD(XrSenseDataProviderBD provider); @@ -7478,8 +8904,13 @@ XrResult XRAPI_CALL xrDestroySpaceUserFB(XrSpaceUserFB user); XrResult XRAPI_CALL xrDestroySpatialAnchorMSFT(XrSpatialAnchorMSFT anchor); XrResult XRAPI_CALL xrDestroySpatialAnchorStoreConnectionMSFT(XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore); XrResult XRAPI_CALL xrDestroySpatialAnchorsStorageML(XrSpatialAnchorsStorageML storage); +XrResult XRAPI_CALL xrDestroySpatialContextEXT(XrSpatialContextEXT spatialContext); +XrResult XRAPI_CALL xrDestroySpatialEntityEXT(XrSpatialEntityEXT spatialEntity); XrResult XRAPI_CALL xrDestroySpatialGraphNodeBindingMSFT(XrSpatialGraphNodeBindingMSFT nodeBinding); +XrResult XRAPI_CALL xrDestroySpatialPersistenceContextEXT(XrSpatialPersistenceContextEXT persistenceContext); +XrResult XRAPI_CALL xrDestroySpatialSnapshotEXT(XrSpatialSnapshotEXT snapshot); XrResult XRAPI_CALL xrDestroySwapchain(XrSwapchain swapchain); +XrResult XRAPI_CALL xrDestroyTrackableTrackerANDROID(XrTrackableTrackerANDROID trackableTracker); XrResult XRAPI_CALL xrDestroyTriangleMeshFB(XrTriangleMeshFB mesh); XrResult XRAPI_CALL xrDestroyVirtualKeyboardMETA(XrVirtualKeyboardMETA keyboard); XrResult XRAPI_CALL xrDestroyWorldMeshDetectorML(XrWorldMeshDetectorML detector); @@ -7497,26 +8928,40 @@ XrResult XRAPI_CALL xrEnumerateEnvironmentBlendModes(XrInstance instance, XrSyst XrResult XRAPI_CALL xrEnumerateEnvironmentDepthSwapchainImagesMETA(XrEnvironmentDepthSwapchainMETA swapchain, uint32_t imageCapacityInput, uint32_t *imageCountOutput, XrSwapchainImageBaseHeader *images); XrResult XRAPI_CALL xrEnumerateExternalCamerasOCULUS(XrSession session, uint32_t cameraCapacityInput, uint32_t *cameraCountOutput, XrExternalCameraOCULUS *cameras); XrResult XRAPI_CALL xrEnumerateInstanceExtensionProperties(const char *layerName, uint32_t propertyCapacityInput, uint32_t *propertyCountOutput, XrExtensionProperties *properties); +XrResult XRAPI_CALL xrEnumerateInteractionRenderModelIdsEXT(XrSession session, const XrInteractionRenderModelIdsEnumerateInfoEXT *getInfo, uint32_t renderModelIdCapacityInput, uint32_t *renderModelIdCountOutput, XrRenderModelIdEXT *renderModelIds); XrResult XRAPI_CALL xrEnumeratePerformanceMetricsCounterPathsMETA(XrInstance instance, uint32_t counterPathCapacityInput, uint32_t *counterPathCountOutput, XrPath *counterPaths); +XrResult XRAPI_CALL xrEnumeratePersistedAnchorsANDROID(XrDeviceAnchorPersistenceANDROID handle, uint32_t anchorIdCapacityInput, uint32_t *anchorIdCountOutput, XrUuidEXT *anchorIds); XrResult XRAPI_CALL xrEnumeratePersistedSpatialAnchorNamesMSFT(XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore, uint32_t spatialAnchorNameCapacityInput, uint32_t *spatialAnchorNameCountOutput, XrSpatialAnchorPersistenceNameMSFT *spatialAnchorNames); +XrResult XRAPI_CALL xrEnumerateRaycastSupportedTrackableTypesANDROID(XrInstance instance, XrSystemId systemId, uint32_t trackableTypeCapacityInput, uint32_t *trackableTypeCountOutput, XrTrackableTypeANDROID *trackableTypes); XrResult XRAPI_CALL xrEnumerateReferenceSpaces(XrSession session, uint32_t spaceCapacityInput, uint32_t *spaceCountOutput, XrReferenceSpaceType *spaces); XrResult XRAPI_CALL xrEnumerateRenderModelPathsFB(XrSession session, uint32_t pathCapacityInput, uint32_t *pathCountOutput, XrRenderModelPathInfoFB *paths); +XrResult XRAPI_CALL xrEnumerateRenderModelSubactionPathsEXT(XrRenderModelEXT renderModel, const XrInteractionRenderModelSubactionPathInfoEXT *info, uint32_t pathCapacityInput, uint32_t *pathCountOutput, XrPath *paths); XrResult XRAPI_CALL xrEnumerateReprojectionModesMSFT(XrInstance instance, XrSystemId systemId, XrViewConfigurationType viewConfigurationType, uint32_t modeCapacityInput, uint32_t *modeCountOutput, XrReprojectionModeMSFT *modes); XrResult XRAPI_CALL xrEnumerateSceneComputeFeaturesMSFT(XrInstance instance, XrSystemId systemId, uint32_t featureCapacityInput, uint32_t *featureCountOutput, XrSceneComputeFeatureMSFT *features); XrResult XRAPI_CALL xrEnumerateSpaceSupportedComponentsFB(XrSpace space, uint32_t componentTypeCapacityInput, uint32_t *componentTypeCountOutput, XrSpaceComponentTypeFB *componentTypes); +XrResult XRAPI_CALL xrEnumerateSpatialCapabilitiesEXT(XrInstance instance, XrSystemId systemId, uint32_t capabilityCapacityInput, uint32_t *capabilityCountOutput, XrSpatialCapabilityEXT *capabilities); +XrResult XRAPI_CALL xrEnumerateSpatialCapabilityComponentTypesEXT(XrInstance instance, XrSystemId systemId, XrSpatialCapabilityEXT capability, XrSpatialCapabilityComponentTypesEXT *capabilityComponents); +XrResult XRAPI_CALL xrEnumerateSpatialCapabilityFeaturesEXT(XrInstance instance, XrSystemId systemId, XrSpatialCapabilityEXT capability, uint32_t capabilityFeatureCapacityInput, uint32_t *capabilityFeatureCountOutput, XrSpatialCapabilityFeatureEXT *capabilityFeatures); XrResult XRAPI_CALL xrEnumerateSpatialEntityComponentTypesBD(XrSenseDataSnapshotBD snapshot, XrSpatialEntityIdBD entityId, uint32_t componentTypeCapacityInput, uint32_t *componentTypeCountOutput, XrSpatialEntityComponentTypeBD *componentTypes); +XrResult XRAPI_CALL xrEnumerateSpatialPersistenceScopesEXT(XrInstance instance, XrSystemId systemId, uint32_t persistenceScopeCapacityInput, uint32_t *persistenceScopeCountOutput, XrSpatialPersistenceScopeEXT *persistenceScopes); +XrResult XRAPI_CALL xrEnumerateSupportedAnchorTrackableTypesANDROID(XrInstance instance, XrSystemId systemId, uint32_t trackableTypeCapacityInput, uint32_t *trackableTypeCountOutput, XrTrackableTypeANDROID *trackableTypes); +XrResult XRAPI_CALL xrEnumerateSupportedPersistenceAnchorTypesANDROID(XrInstance instance, XrSystemId systemId, uint32_t trackableTypeCapacityInput, uint32_t *trackableTypeCountOutput, XrTrackableTypeANDROID *trackableTypes); +XrResult XRAPI_CALL xrEnumerateSupportedTrackableTypesANDROID(XrInstance instance, XrSystemId systemId, uint32_t trackableTypeCapacityInput, uint32_t *trackableTypeCountOutput, XrTrackableTypeANDROID *trackableTypes); XrResult XRAPI_CALL xrEnumerateSwapchainFormats(XrSession session, uint32_t formatCapacityInput, uint32_t *formatCountOutput, int64_t *formats); XrResult XRAPI_CALL xrEnumerateSwapchainImages(XrSwapchain swapchain, uint32_t imageCapacityInput, uint32_t *imageCountOutput, XrSwapchainImageBaseHeader *images); XrResult XRAPI_CALL xrEnumerateViewConfigurationViews(XrInstance instance, XrSystemId systemId, XrViewConfigurationType viewConfigurationType, uint32_t viewCapacityInput, uint32_t *viewCountOutput, XrViewConfigurationView *views); XrResult XRAPI_CALL xrEnumerateViewConfigurations(XrInstance instance, XrSystemId systemId, uint32_t viewConfigurationTypeCapacityInput, uint32_t *viewConfigurationTypeCountOutput, XrViewConfigurationType *viewConfigurationTypes); XrResult XRAPI_CALL xrEnumerateViveTrackerPathsHTCX(XrInstance instance, uint32_t pathCapacityInput, uint32_t *pathCountOutput, XrViveTrackerPathsHTCX *paths); XrResult XRAPI_CALL xrEraseSpaceFB(XrSession session, const XrSpaceEraseInfoFB *info, XrAsyncRequestIdFB *requestId); +XrResult XRAPI_CALL xrEraseSpacesMETA(XrSession session, const XrSpacesEraseInfoMETA *info, XrAsyncRequestIdFB *requestId); XrResult XRAPI_CALL xrFreeWorldMeshBufferML(XrWorldMeshDetectorML detector, const XrWorldMeshBufferML *buffer); XrResult XRAPI_CALL xrGeometryInstanceSetTransformFB(XrGeometryInstanceFB instance, const XrGeometryInstanceTransformFB *transformation); XrResult XRAPI_CALL xrGetActionStateBoolean(XrSession session, const XrActionStateGetInfo *getInfo, XrActionStateBoolean *state); XrResult XRAPI_CALL xrGetActionStateFloat(XrSession session, const XrActionStateGetInfo *getInfo, XrActionStateFloat *state); XrResult XRAPI_CALL xrGetActionStatePose(XrSession session, const XrActionStateGetInfo *getInfo, XrActionStatePose *state); XrResult XRAPI_CALL xrGetActionStateVector2f(XrSession session, const XrActionStateGetInfo *getInfo, XrActionStateVector2f *state); +XrResult XRAPI_CALL xrGetAllTrackablesANDROID(XrTrackableTrackerANDROID trackableTracker, uint32_t trackableCapacityInput, uint32_t *trackableCountOutput, XrTrackableANDROID *trackables); +XrResult XRAPI_CALL xrGetAnchorPersistStateANDROID(XrDeviceAnchorPersistenceANDROID handle, const XrUuidEXT *anchorId, XrAnchorPersistStateANDROID *persistState); XrResult XRAPI_CALL xrGetAnchorUuidBD(XrAnchorBD anchor, XrUuidEXT *uuid); XrResult XRAPI_CALL xrGetAudioInputDeviceGuidOculus(XrInstance instance, wchar_t buffer[]); XrResult XRAPI_CALL xrGetAudioOutputDeviceGuidOculus(XrInstance instance, wchar_t buffer[]); @@ -7550,6 +8995,7 @@ XrResult XRAPI_CALL xrGetMarkerSizeVARJO(XrSession session, uint64_t markerId, X XrResult XRAPI_CALL xrGetMarkerStringML(XrMarkerDetectorML markerDetector, XrMarkerML marker, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, char *buffer); XrResult XRAPI_CALL xrGetMarkersML(XrMarkerDetectorML markerDetector, uint32_t markerCapacityInput, uint32_t *markerCountOutput, XrMarkerML *markers); XrResult XRAPI_CALL xrGetOpenGLGraphicsRequirementsKHR(XrInstance instance, XrSystemId systemId, XrGraphicsRequirementsOpenGLKHR *graphicsRequirements); +XrResult XRAPI_CALL xrGetPassthroughCameraStateANDROID(XrSession session, const XrPassthroughCameraStateGetInfoANDROID *getInfo, XrPassthroughCameraStateANDROID *cameraStateOutput); XrResult XRAPI_CALL xrGetPassthroughPreferencesMETA(XrSession session, XrPassthroughPreferencesMETA *preferences); XrResult XRAPI_CALL xrGetPerformanceMetricsStateMETA(XrSession session, XrPerformanceMetricsStateMETA *state); XrResult XRAPI_CALL xrGetPlaneDetectionStateEXT(XrPlaneDetectorEXT planeDetector, XrPlaneDetectionStateEXT *state); @@ -7558,7 +9004,12 @@ XrResult XRAPI_CALL xrGetPlanePolygonBufferEXT(XrPlaneDetectorEXT planeDetector, XrResult XRAPI_CALL xrGetQueriedSenseDataBD(XrSenseDataSnapshotBD snapshot, XrQueriedSenseDataGetInfoBD *getInfo, XrQueriedSenseDataBD *queriedSenseData); XrResult XRAPI_CALL xrGetRecommendedLayerResolutionMETA(XrSession session, const XrRecommendedLayerResolutionGetInfoMETA *info, XrRecommendedLayerResolutionMETA *resolution); XrResult XRAPI_CALL xrGetReferenceSpaceBoundsRect(XrSession session, XrReferenceSpaceType referenceSpaceType, XrExtent2Df *bounds); +XrResult XRAPI_CALL xrGetRenderModelAssetDataEXT(XrRenderModelAssetEXT asset, const XrRenderModelAssetDataGetInfoEXT *getInfo, XrRenderModelAssetDataEXT *buffer); +XrResult XRAPI_CALL xrGetRenderModelAssetPropertiesEXT(XrRenderModelAssetEXT asset, const XrRenderModelAssetPropertiesGetInfoEXT *getInfo, XrRenderModelAssetPropertiesEXT *properties); +XrResult XRAPI_CALL xrGetRenderModelPoseTopLevelUserPathEXT(XrRenderModelEXT renderModel, const XrInteractionRenderModelTopLevelUserPathGetInfoEXT *info, XrPath *topLevelUserPath); +XrResult XRAPI_CALL xrGetRenderModelPropertiesEXT(XrRenderModelEXT renderModel, const XrRenderModelPropertiesGetInfoEXT *getInfo, XrRenderModelPropertiesEXT *properties); XrResult XRAPI_CALL xrGetRenderModelPropertiesFB(XrSession session, XrPath path, XrRenderModelPropertiesFB *properties); +XrResult XRAPI_CALL xrGetRenderModelStateEXT(XrRenderModelEXT renderModel, const XrRenderModelStateGetInfoEXT *getInfo, XrRenderModelStateEXT *state); XrResult XRAPI_CALL xrGetSceneComponentsMSFT(XrSceneMSFT scene, const XrSceneComponentsGetInfoMSFT *getInfo, XrSceneComponentsMSFT *components); XrResult XRAPI_CALL xrGetSceneComputeStateMSFT(XrSceneObserverMSFT sceneObserver, XrSceneComputeStateMSFT *state); XrResult XRAPI_CALL xrGetSceneMarkerDecodedStringMSFT(XrSceneMSFT scene, const XrUuidMSFT *markerId, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, char *buffer); @@ -7578,12 +9029,22 @@ XrResult XRAPI_CALL xrGetSpaceUserIdFB(XrSpaceUserFB user, XrSpaceUserIdFB *user XrResult XRAPI_CALL xrGetSpaceUuidFB(XrSpace space, XrUuidEXT *uuid); XrResult XRAPI_CALL xrGetSpatialAnchorNameHTC(XrSpace anchor, XrSpatialAnchorNameHTC *name); XrResult XRAPI_CALL xrGetSpatialAnchorStateML(XrSpace anchor, XrSpatialAnchorStateML *state); +XrResult XRAPI_CALL xrGetSpatialBufferFloatEXT(XrSpatialSnapshotEXT snapshot, const XrSpatialBufferGetInfoEXT *info, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, float *buffer); +XrResult XRAPI_CALL xrGetSpatialBufferStringEXT(XrSpatialSnapshotEXT snapshot, const XrSpatialBufferGetInfoEXT *info, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, char *buffer); +XrResult XRAPI_CALL xrGetSpatialBufferUint16EXT(XrSpatialSnapshotEXT snapshot, const XrSpatialBufferGetInfoEXT *info, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, uint16_t *buffer); +XrResult XRAPI_CALL xrGetSpatialBufferUint32EXT(XrSpatialSnapshotEXT snapshot, const XrSpatialBufferGetInfoEXT *info, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, uint32_t *buffer); +XrResult XRAPI_CALL xrGetSpatialBufferUint8EXT(XrSpatialSnapshotEXT snapshot, const XrSpatialBufferGetInfoEXT *info, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, uint8_t *buffer); +XrResult XRAPI_CALL xrGetSpatialBufferVector2fEXT(XrSpatialSnapshotEXT snapshot, const XrSpatialBufferGetInfoEXT *info, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, XrVector2f *buffer); +XrResult XRAPI_CALL xrGetSpatialBufferVector3fEXT(XrSpatialSnapshotEXT snapshot, const XrSpatialBufferGetInfoEXT *info, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, XrVector3f *buffer); XrResult XRAPI_CALL xrGetSpatialEntityComponentDataBD(XrSenseDataSnapshotBD snapshot, const XrSpatialEntityComponentGetInfoBD *getInfo, XrSpatialEntityComponentDataBaseHeaderBD *componentData); XrResult XRAPI_CALL xrGetSpatialEntityUuidBD(XrSenseDataSnapshotBD snapshot, XrSpatialEntityIdBD entityId, XrUuidEXT *uuid); XrResult XRAPI_CALL xrGetSpatialGraphNodeBindingPropertiesMSFT(XrSpatialGraphNodeBindingMSFT nodeBinding, const XrSpatialGraphNodeBindingPropertiesGetInfoMSFT *getInfo, XrSpatialGraphNodeBindingPropertiesMSFT *properties); XrResult XRAPI_CALL xrGetSwapchainStateFB(XrSwapchain swapchain, XrSwapchainStateBaseHeaderFB *state); XrResult XRAPI_CALL xrGetSystem(XrInstance instance, const XrSystemGetInfo *getInfo, XrSystemId *systemId); XrResult XRAPI_CALL xrGetSystemProperties(XrInstance instance, XrSystemId systemId, XrSystemProperties *properties); +XrResult XRAPI_CALL xrGetTrackableMarkerANDROID(XrTrackableTrackerANDROID tracker, const XrTrackableGetInfoANDROID *getInfo, XrTrackableMarkerANDROID *markerOutput); +XrResult XRAPI_CALL xrGetTrackableObjectANDROID(XrTrackableTrackerANDROID tracker, const XrTrackableGetInfoANDROID *getInfo, XrTrackableObjectANDROID *objectOutput); +XrResult XRAPI_CALL xrGetTrackablePlaneANDROID(XrTrackableTrackerANDROID trackableTracker, const XrTrackableGetInfoANDROID *getInfo, XrTrackablePlaneANDROID *planeOutput); XrResult XRAPI_CALL xrGetViewConfigurationProperties(XrInstance instance, XrSystemId systemId, XrViewConfigurationType viewConfigurationType, XrViewConfigurationProperties *configurationProperties); XrResult XRAPI_CALL xrGetVirtualKeyboardDirtyTexturesMETA(XrVirtualKeyboardMETA keyboard, uint32_t textureIdCapacityInput, uint32_t *textureIdCountOutput, uint64_t *textureIds); XrResult XRAPI_CALL xrGetVirtualKeyboardModelAnimationStatesMETA(XrVirtualKeyboardMETA keyboard, XrVirtualKeyboardModelAnimationStatesMETA *animationStates); @@ -7618,10 +9079,14 @@ XrResult XRAPI_CALL xrPassthroughLayerSetStyleFB(XrPassthroughLayerFB layer, con XrResult XRAPI_CALL xrPassthroughPauseFB(XrPassthroughFB passthrough); XrResult XRAPI_CALL xrPassthroughStartFB(XrPassthroughFB passthrough); XrResult XRAPI_CALL xrPathToString(XrInstance instance, XrPath path, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, char *buffer); +XrResult XRAPI_CALL xrPauseSimultaneousHandsAndControllersTrackingMETA(XrSession session, const XrSimultaneousHandsAndControllersTrackingPauseInfoMETA *pauseInfo); XrResult XRAPI_CALL xrPerfSettingsSetPerformanceLevelEXT(XrSession session, XrPerfSettingsDomainEXT domain, XrPerfSettingsLevelEXT level); +XrResult XRAPI_CALL xrPersistAnchorANDROID(XrDeviceAnchorPersistenceANDROID handle, const XrPersistedAnchorSpaceInfoANDROID *persistedInfo, XrUuidEXT *anchorIdOutput); XrResult XRAPI_CALL xrPersistSpatialAnchorAsyncBD(XrSenseDataProviderBD provider, const XrSpatialAnchorPersistInfoBD *info, XrFutureEXT *future); XrResult XRAPI_CALL xrPersistSpatialAnchorCompleteBD(XrSenseDataProviderBD provider, XrFutureEXT future, XrFutureCompletionEXT *completion); XrResult XRAPI_CALL xrPersistSpatialAnchorMSFT(XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore, const XrSpatialAnchorPersistenceInfoMSFT *spatialAnchorPersistenceInfo); +XrResult XRAPI_CALL xrPersistSpatialEntityAsyncEXT(XrSpatialPersistenceContextEXT persistenceContext, const XrSpatialEntityPersistInfoEXT *persistInfo, XrFutureEXT *future); +XrResult XRAPI_CALL xrPersistSpatialEntityCompleteEXT(XrSpatialPersistenceContextEXT persistenceContext, XrFutureEXT future, XrPersistSpatialEntityCompletionEXT *completion); XrResult XRAPI_CALL xrPollEvent(XrInstance instance, XrEventDataBuffer *eventData); XrResult XRAPI_CALL xrPollFutureEXT(XrInstance instance, const XrFuturePollInfoEXT *pollInfo, XrFuturePollResultEXT *pollResult); XrResult XRAPI_CALL xrPublishSpatialAnchorsAsyncML(XrSpatialAnchorsStorageML storage, const XrSpatialAnchorsPublishInfoML *publishInfo, XrFutureEXT *future); @@ -7633,7 +9098,9 @@ XrResult XRAPI_CALL xrQuerySenseDataCompleteBD(XrSenseDataProviderBD provider, X XrResult XRAPI_CALL xrQuerySpacesFB(XrSession session, const XrSpaceQueryInfoBaseHeaderFB *info, XrAsyncRequestIdFB *requestId); XrResult XRAPI_CALL xrQuerySpatialAnchorsAsyncML(XrSpatialAnchorsStorageML storage, const XrSpatialAnchorsQueryInfoBaseHeaderML *queryInfo, XrFutureEXT *future); XrResult XRAPI_CALL xrQuerySpatialAnchorsCompleteML(XrSpatialAnchorsStorageML storage, XrFutureEXT future, XrSpatialAnchorsQueryCompletionML *completion); +XrResult XRAPI_CALL xrQuerySpatialComponentDataEXT(XrSpatialSnapshotEXT snapshot, const XrSpatialComponentDataQueryConditionEXT *queryCondition, XrSpatialComponentDataQueryResultEXT *queryResult); XrResult XRAPI_CALL xrQuerySystemTrackedKeyboardFB(XrSession session, const XrKeyboardTrackingQueryFB *queryInfo, XrKeyboardTrackingDescriptionFB *keyboard); +XrResult XRAPI_CALL xrRaycastANDROID(XrSession session, const XrRaycastInfoANDROID *rayInfo, XrRaycastHitResultsANDROID *results); XrResult XRAPI_CALL xrReleaseSwapchainImage(XrSwapchain swapchain, const XrSwapchainImageReleaseInfo *releaseInfo); XrResult XRAPI_CALL xrRequestDisplayRefreshRateFB(XrSession session, float displayRefreshRate); XrResult XRAPI_CALL xrRequestExitSession(XrSession session); @@ -7643,10 +9110,13 @@ XrResult XRAPI_CALL xrRequestWorldMeshAsyncML(XrWorldMeshDetectorML detector, co XrResult XRAPI_CALL xrRequestWorldMeshCompleteML(XrWorldMeshDetectorML detector, const XrWorldMeshRequestCompletionInfoML *completionInfo, XrFutureEXT future, XrWorldMeshRequestCompletionML *completion); XrResult XRAPI_CALL xrRequestWorldMeshStateAsyncML(XrWorldMeshDetectorML detector, const XrWorldMeshStateRequestInfoML *stateRequest, XrFutureEXT *future); XrResult XRAPI_CALL xrRequestWorldMeshStateCompleteML(XrWorldMeshDetectorML detector, XrFutureEXT future, XrWorldMeshStateRequestCompletionML *completion); +XrResult XRAPI_CALL xrResetBodyTrackingCalibrationMETA(XrBodyTrackerFB bodyTracker); XrResult XRAPI_CALL xrResultToString(XrInstance instance, XrResult value, char buffer[]); +XrResult XRAPI_CALL xrResumeSimultaneousHandsAndControllersTrackingMETA(XrSession session, const XrSimultaneousHandsAndControllersTrackingResumeInfoMETA *resumeInfo); XrResult XRAPI_CALL xrRetrieveSpaceQueryResultsFB(XrSession session, XrAsyncRequestIdFB requestId, XrSpaceQueryResultsFB *results); XrResult XRAPI_CALL xrSaveSpaceFB(XrSession session, const XrSpaceSaveInfoFB *info, XrAsyncRequestIdFB *requestId); XrResult XRAPI_CALL xrSaveSpaceListFB(XrSession session, const XrSpaceListSaveInfoFB *info, XrAsyncRequestIdFB *requestId); +XrResult XRAPI_CALL xrSaveSpacesMETA(XrSession session, const XrSpacesSaveInfoMETA *info, XrAsyncRequestIdFB *requestId); XrResult XRAPI_CALL xrSendVirtualKeyboardInputMETA(XrVirtualKeyboardMETA keyboard, const XrVirtualKeyboardInputInfoMETA *info, XrPosef *interactorRootPose); XrResult XRAPI_CALL xrSetColorSpaceFB(XrSession session, const XrColorSpaceFB colorSpace); XrResult XRAPI_CALL xrSetDigitalLensControlALMALENCE(XrSession session, const XrDigitalLensControlALMALENCE *digitalLensControl); @@ -7684,6 +9154,7 @@ XrResult XRAPI_CALL xrStopSenseDataProviderBD(XrSenseDataProviderBD provider); XrResult XRAPI_CALL xrStringToPath(XrInstance instance, const char *pathString, XrPath *path); XrResult XRAPI_CALL xrStructureTypeToString(XrInstance instance, XrStructureType value, char buffer[]); XrResult XRAPI_CALL xrStructureTypeToString2KHR(XrInstance instance, XrStructureType value, char buffer[]); +XrResult XRAPI_CALL xrSuggestBodyTrackingCalibrationOverrideMETA(XrBodyTrackerFB bodyTracker, const XrBodyTrackingCalibrationInfoMETA *calibrationInfo); XrResult XRAPI_CALL xrSuggestInteractionProfileBindings(XrInstance instance, const XrInteractionProfileSuggestedBinding *suggestedBindings); XrResult XRAPI_CALL xrSuggestVirtualKeyboardLocationMETA(XrVirtualKeyboardMETA keyboard, const XrVirtualKeyboardLocationInfoMETA *locationInfo); XrResult XRAPI_CALL xrSyncActions(XrSession session, const XrActionsSyncInfo *syncInfo); @@ -7695,9 +9166,12 @@ XrResult XRAPI_CALL xrTriangleMeshEndVertexBufferUpdateFB(XrTriangleMeshFB mesh) XrResult XRAPI_CALL xrTriangleMeshGetIndexBufferFB(XrTriangleMeshFB mesh, uint32_t **outIndexBuffer); XrResult XRAPI_CALL xrTriangleMeshGetVertexBufferFB(XrTriangleMeshFB mesh, XrVector3f **outVertexBuffer); XrResult XRAPI_CALL xrTryCreateSpatialGraphStaticNodeBindingMSFT(XrSession session, const XrSpatialGraphStaticNodeBindingCreateInfoMSFT *createInfo, XrSpatialGraphNodeBindingMSFT *nodeBinding); +XrResult XRAPI_CALL xrUnpersistAnchorANDROID(XrDeviceAnchorPersistenceANDROID handle, const XrUuidEXT *anchorId); XrResult XRAPI_CALL xrUnpersistSpatialAnchorAsyncBD(XrSenseDataProviderBD provider, const XrSpatialAnchorUnpersistInfoBD *info, XrFutureEXT *future); XrResult XRAPI_CALL xrUnpersistSpatialAnchorCompleteBD(XrSenseDataProviderBD provider, XrFutureEXT future, XrFutureCompletionEXT *completion); XrResult XRAPI_CALL xrUnpersistSpatialAnchorMSFT(XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore, const XrSpatialAnchorPersistenceNameMSFT *spatialAnchorPersistenceName); +XrResult XRAPI_CALL xrUnpersistSpatialEntityAsyncEXT(XrSpatialPersistenceContextEXT persistenceContext, const XrSpatialEntityUnpersistInfoEXT *unpersistInfo, XrFutureEXT *future); +XrResult XRAPI_CALL xrUnpersistSpatialEntityCompleteEXT(XrSpatialPersistenceContextEXT persistenceContext, XrFutureEXT future, XrUnpersistSpatialEntityCompletionEXT *completion); XrResult XRAPI_CALL xrUpdateHandMeshMSFT(XrHandTrackerEXT handTracker, const XrHandMeshUpdateInfoMSFT *updateInfo, XrHandMeshMSFT *handMesh); XrResult XRAPI_CALL xrUpdatePassthroughColorLutMETA(XrPassthroughColorLutMETA colorLut, const XrPassthroughColorLutUpdateInfoMETA *updateInfo); XrResult XRAPI_CALL xrUpdateSpatialAnchorsExpirationAsyncML(XrSpatialAnchorsStorageML storage, const XrSpatialAnchorsUpdateExpirationInfoML *updateInfo, XrFutureEXT *future); diff --git a/wineopenxr/wineopenxr.json b/wineopenxr/wineopenxr.json index bd12544143..735fc31944 100644 --- a/wineopenxr/wineopenxr.json +++ b/wineopenxr/wineopenxr.json @@ -2,6 +2,6 @@ "file_format_version": "1.0.0", "ICD": { "library_path": ".\\wineopenxr.dll", - "api_version": "1.1.47" + "api_version": "1.1.51" } } From 9cab9ca10876bf759de94b8a314cda2b76df24f2 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Tue, 9 Sep 2025 10:55:27 -0600 Subject: [PATCH 50/65] lsteamclient: Always pass CGameID by reference. Based on a patch by Nicholas Hastings . Link: https://github.com/ValveSoftware/Proton/pull/8375 CW-Bug-Id: #25907 --- lsteamclient/gen_wrapper.py | 13 ++------ lsteamclient/unix_private_generated.h | 44 +++++++++++++-------------- 2 files changed, 25 insertions(+), 32 deletions(-) diff --git a/lsteamclient/gen_wrapper.py b/lsteamclient/gen_wrapper.py index 64cc1d32aa..7000c4bea9 100755 --- a/lsteamclient/gen_wrapper.py +++ b/lsteamclient/gen_wrapper.py @@ -315,12 +315,6 @@ "ISteamRemoteStorage_UpdatePublishedFile": lambda ver, abi: abi == 'u' and ver >= 5, } -CGameID_REF_FIXUP_INTERFACES = [ - "ISteamUser_SteamUser008", - "ISteamUserStats_STEAMUSERSTATS_INTERFACE_VERSION001", - "ISteamUserStats_STEAMUSERSTATS_INTERFACE_VERSION002", -] - DEFINE_INTERFACE_VERSION = re.compile(r'^#define\s*(?PSTEAM(?:\w*)_VERSION(?:\w*))\s*"(?P.*)"') @@ -845,10 +839,9 @@ def write_definition(self, out, prefix): # CGameID -> CGameID & # Windows side follows the prototype in the header while Linux # steamclient treats gameID parameter as pointer - if self.full_name in CGameID_REF_FIXUP_INTERFACES: - for i, t in enumerate(types): - if t == 'CGameID': - types[i] = 'CGameID &' + for i, t in enumerate(types): + if t == 'CGameID': + types[i] = 'CGameID &' if type(method) is Destructor: out(f' virtual ~{prefix}{self.full_name}( {", ".join(types)} ) = 0;\n') diff --git a/lsteamclient/unix_private_generated.h b/lsteamclient/unix_private_generated.h index 35aba1a876..be6a643454 100644 --- a/lsteamclient/unix_private_generated.h +++ b/lsteamclient/unix_private_generated.h @@ -286,7 +286,7 @@ struct u_ISteamUser_SteamUser005 virtual int8_t GetRegistryString( uint32_t, const char *, char *, int32_t ) = 0; virtual int8_t SetRegistryInt( uint32_t, const char *, int32_t ) = 0; virtual int8_t GetRegistryInt( uint32_t, const char *, int32_t * ) = 0; - virtual int32_t InitiateGameConnection( void *, int32_t, CSteamID, CGameID, uint32_t, uint16_t, int8_t ) = 0; + virtual int32_t InitiateGameConnection( void *, int32_t, CSteamID, CGameID &, uint32_t, uint16_t, int8_t ) = 0; virtual void TerminateGameConnection( uint32_t, uint16_t ) = 0; virtual void SetSelfAsPrimaryChatDestination( ) = 0; virtual int8_t IsPrimaryChatDestination( ) = 0; @@ -304,7 +304,7 @@ struct u_ISteamUser_SteamUser005 virtual int8_t GetGuestPassToRedeemSenderName( uint32_t, char *, int32_t ) = 0; virtual void AcknowledgeMessageByGID( const char * ) = 0; virtual int8_t SetLanguage( const char * ) = 0; - virtual void TrackAppUsageEvent( CGameID, int32_t, const char * ) = 0; + virtual void TrackAppUsageEvent( CGameID &, int32_t, const char * ) = 0; virtual void SetAccountName( const char * ) = 0; virtual void SetPassword( const char * ) = 0; virtual void SetAccountCreationTime( uint32_t ) = 0; @@ -323,9 +323,9 @@ struct u_ISteamUser_SteamUser006 virtual int8_t GetRegistryString( uint32_t, const char *, char *, int32_t ) = 0; virtual int8_t SetRegistryInt( uint32_t, const char *, int32_t ) = 0; virtual int8_t GetRegistryInt( uint32_t, const char *, int32_t * ) = 0; - virtual int32_t InitiateGameConnection( void *, int32_t, CSteamID, CGameID, uint32_t, uint16_t, int8_t ) = 0; + virtual int32_t InitiateGameConnection( void *, int32_t, CSteamID, CGameID &, uint32_t, uint16_t, int8_t ) = 0; virtual void TerminateGameConnection( uint32_t, uint16_t ) = 0; - virtual void TrackAppUsageEvent( CGameID, int32_t, const char * ) = 0; + virtual void TrackAppUsageEvent( CGameID &, int32_t, const char * ) = 0; #endif /* __cplusplus */ }; @@ -341,9 +341,9 @@ struct u_ISteamUser_SteamUser007 virtual int8_t GetRegistryString( uint32_t, const char *, char *, int32_t ) = 0; virtual int8_t SetRegistryInt( uint32_t, const char *, int32_t ) = 0; virtual int8_t GetRegistryInt( uint32_t, const char *, int32_t * ) = 0; - virtual int32_t InitiateGameConnection( void *, int32_t, CSteamID, CGameID, uint32_t, uint16_t, int8_t, void *, int32_t ) = 0; + virtual int32_t InitiateGameConnection( void *, int32_t, CSteamID, CGameID &, uint32_t, uint16_t, int8_t, void *, int32_t ) = 0; virtual void TerminateGameConnection( uint32_t, uint16_t ) = 0; - virtual void TrackAppUsageEvent( CGameID, int32_t, const char * ) = 0; + virtual void TrackAppUsageEvent( CGameID &, int32_t, const char * ) = 0; virtual void RefreshSteam2Login( ) = 0; #endif /* __cplusplus */ }; @@ -478,9 +478,9 @@ struct u_ISteamUser_SteamUser009 virtual int32_t GetHSteamUser( ) = 0; virtual int8_t BLoggedOn( ) = 0; virtual CSteamID GetSteamID( ) = 0; - virtual int32_t InitiateGameConnection( void *, int32_t, CSteamID, CGameID, uint32_t, uint16_t, int8_t ) = 0; + virtual int32_t InitiateGameConnection( void *, int32_t, CSteamID, CGameID &, uint32_t, uint16_t, int8_t ) = 0; virtual void TerminateGameConnection( uint32_t, uint16_t ) = 0; - virtual void TrackAppUsageEvent( CGameID, int32_t, const char * ) = 0; + virtual void TrackAppUsageEvent( CGameID &, int32_t, const char * ) = 0; virtual void RefreshSteam2Login( ) = 0; #endif /* __cplusplus */ }; @@ -584,7 +584,7 @@ struct u_ISteamUser_SteamUser010 virtual CSteamID GetSteamID( ) = 0; virtual int32_t InitiateGameConnection( void *, int32_t, CSteamID, uint32_t, uint16_t, int8_t ) = 0; virtual void TerminateGameConnection( uint32_t, uint16_t ) = 0; - virtual void TrackAppUsageEvent( CGameID, int32_t, const char * ) = 0; + virtual void TrackAppUsageEvent( CGameID &, int32_t, const char * ) = 0; #endif /* __cplusplus */ }; @@ -629,7 +629,7 @@ struct u_ISteamUser_SteamUser011 virtual CSteamID GetSteamID( ) = 0; virtual int32_t InitiateGameConnection( void *, int32_t, CSteamID, uint32_t, uint16_t, int8_t ) = 0; virtual void TerminateGameConnection( uint32_t, uint16_t ) = 0; - virtual void TrackAppUsageEvent( CGameID, int32_t, const char * ) = 0; + virtual void TrackAppUsageEvent( CGameID &, int32_t, const char * ) = 0; virtual int8_t GetUserDataFolder( char *, int32_t ) = 0; virtual void StartVoiceRecording( ) = 0; virtual void StopVoiceRecording( ) = 0; @@ -960,7 +960,7 @@ struct u_ISteamUser_SteamUser012 virtual CSteamID GetSteamID( ) = 0; virtual int32_t InitiateGameConnection( void *, int32_t, CSteamID, uint32_t, uint16_t, int8_t ) = 0; virtual void TerminateGameConnection( uint32_t, uint16_t ) = 0; - virtual void TrackAppUsageEvent( CGameID, int32_t, const char * ) = 0; + virtual void TrackAppUsageEvent( CGameID &, int32_t, const char * ) = 0; virtual int8_t GetUserDataFolder( char *, int32_t ) = 0; virtual void StartVoiceRecording( ) = 0; virtual void StopVoiceRecording( ) = 0; @@ -1178,7 +1178,7 @@ struct u_ISteamUser_SteamUser013 virtual CSteamID GetSteamID( ) = 0; virtual int32_t InitiateGameConnection( void *, int32_t, CSteamID, uint32_t, uint16_t, int8_t ) = 0; virtual void TerminateGameConnection( uint32_t, uint16_t ) = 0; - virtual void TrackAppUsageEvent( CGameID, int32_t, const char * ) = 0; + virtual void TrackAppUsageEvent( CGameID &, int32_t, const char * ) = 0; virtual int8_t GetUserDataFolder( char *, int32_t ) = 0; virtual void StartVoiceRecording( ) = 0; virtual void StopVoiceRecording( ) = 0; @@ -1464,7 +1464,7 @@ struct u_ISteamUser_SteamUser014 virtual CSteamID GetSteamID( ) = 0; virtual int32_t InitiateGameConnection( void *, int32_t, CSteamID, uint32_t, uint16_t, int8_t ) = 0; virtual void TerminateGameConnection( uint32_t, uint16_t ) = 0; - virtual void TrackAppUsageEvent( CGameID, int32_t, const char * ) = 0; + virtual void TrackAppUsageEvent( CGameID &, int32_t, const char * ) = 0; virtual int8_t GetUserDataFolder( char *, int32_t ) = 0; virtual void StartVoiceRecording( ) = 0; virtual void StopVoiceRecording( ) = 0; @@ -1777,7 +1777,7 @@ struct u_ISteamUser_SteamUser015 virtual CSteamID GetSteamID( ) = 0; virtual int32_t InitiateGameConnection( void *, int32_t, CSteamID, uint32_t, uint16_t, int8_t ) = 0; virtual void TerminateGameConnection( uint32_t, uint16_t ) = 0; - virtual void TrackAppUsageEvent( CGameID, int32_t, const char * ) = 0; + virtual void TrackAppUsageEvent( CGameID &, int32_t, const char * ) = 0; virtual int8_t GetUserDataFolder( char *, int32_t ) = 0; virtual void StartVoiceRecording( ) = 0; virtual void StopVoiceRecording( ) = 0; @@ -1883,7 +1883,7 @@ struct u_ISteamUser_SteamUser016 virtual CSteamID GetSteamID( ) = 0; virtual int32_t InitiateGameConnection( void *, int32_t, CSteamID, uint32_t, uint16_t, int8_t ) = 0; virtual void TerminateGameConnection( uint32_t, uint16_t ) = 0; - virtual void TrackAppUsageEvent( CGameID, int32_t, const char * ) = 0; + virtual void TrackAppUsageEvent( CGameID &, int32_t, const char * ) = 0; virtual int8_t GetUserDataFolder( char *, int32_t ) = 0; virtual void StartVoiceRecording( ) = 0; virtual void StopVoiceRecording( ) = 0; @@ -2866,7 +2866,7 @@ struct u_ISteamUser_SteamUser017 virtual CSteamID GetSteamID( ) = 0; virtual int32_t InitiateGameConnection( void *, int32_t, CSteamID, uint32_t, uint16_t, int8_t ) = 0; virtual void TerminateGameConnection( uint32_t, uint16_t ) = 0; - virtual void TrackAppUsageEvent( CGameID, int32_t, const char * ) = 0; + virtual void TrackAppUsageEvent( CGameID &, int32_t, const char * ) = 0; virtual int8_t GetUserDataFolder( char *, int32_t ) = 0; virtual void StartVoiceRecording( ) = 0; virtual void StopVoiceRecording( ) = 0; @@ -3663,7 +3663,7 @@ struct u_ISteamUser_SteamUser018 virtual CSteamID GetSteamID( ) = 0; virtual int32_t InitiateGameConnection( void *, int32_t, CSteamID, uint32_t, uint16_t, int8_t ) = 0; virtual void TerminateGameConnection( uint32_t, uint16_t ) = 0; - virtual void TrackAppUsageEvent( CGameID, int32_t, const char * ) = 0; + virtual void TrackAppUsageEvent( CGameID &, int32_t, const char * ) = 0; virtual int8_t GetUserDataFolder( char *, int32_t ) = 0; virtual void StartVoiceRecording( ) = 0; virtual void StopVoiceRecording( ) = 0; @@ -4177,7 +4177,7 @@ struct u_ISteamUser_SteamUser019 virtual CSteamID GetSteamID( ) = 0; virtual int32_t InitiateGameConnection( void *, int32_t, CSteamID, uint32_t, uint16_t, int8_t ) = 0; virtual void TerminateGameConnection( uint32_t, uint16_t ) = 0; - virtual void TrackAppUsageEvent( CGameID, int32_t, const char * ) = 0; + virtual void TrackAppUsageEvent( CGameID &, int32_t, const char * ) = 0; virtual int8_t GetUserDataFolder( char *, int32_t ) = 0; virtual void StartVoiceRecording( ) = 0; virtual void StopVoiceRecording( ) = 0; @@ -4874,7 +4874,7 @@ struct u_ISteamUser_SteamUser020 virtual CSteamID GetSteamID( ) = 0; virtual int32_t InitiateGameConnection( void *, int32_t, CSteamID, uint32_t, uint16_t, int8_t ) = 0; virtual void TerminateGameConnection( uint32_t, uint16_t ) = 0; - virtual void TrackAppUsageEvent( CGameID, int32_t, const char * ) = 0; + virtual void TrackAppUsageEvent( CGameID &, int32_t, const char * ) = 0; virtual int8_t GetUserDataFolder( char *, int32_t ) = 0; virtual void StartVoiceRecording( ) = 0; virtual void StopVoiceRecording( ) = 0; @@ -5945,7 +5945,7 @@ struct u_ISteamUser_SteamUser021 virtual CSteamID GetSteamID( ) = 0; virtual int32_t InitiateGameConnection_DEPRECATED( void *, int32_t, CSteamID, uint32_t, uint16_t, int8_t ) = 0; virtual void TerminateGameConnection_DEPRECATED( uint32_t, uint16_t ) = 0; - virtual void TrackAppUsageEvent( CGameID, int32_t, const char * ) = 0; + virtual void TrackAppUsageEvent( CGameID &, int32_t, const char * ) = 0; virtual int8_t GetUserDataFolder( char *, int32_t ) = 0; virtual void StartVoiceRecording( ) = 0; virtual void StopVoiceRecording( ) = 0; @@ -6719,7 +6719,7 @@ struct u_ISteamUser_SteamUser022 virtual CSteamID GetSteamID( ) = 0; virtual int32_t InitiateGameConnection_DEPRECATED( void *, int32_t, CSteamID, uint32_t, uint16_t, int8_t ) = 0; virtual void TerminateGameConnection_DEPRECATED( uint32_t, uint16_t ) = 0; - virtual void TrackAppUsageEvent( CGameID, int32_t, const char * ) = 0; + virtual void TrackAppUsageEvent( CGameID &, int32_t, const char * ) = 0; virtual int8_t GetUserDataFolder( char *, int32_t ) = 0; virtual void StartVoiceRecording( ) = 0; virtual void StopVoiceRecording( ) = 0; @@ -6902,7 +6902,7 @@ struct u_ISteamUser_SteamUser023 virtual CSteamID GetSteamID( ) = 0; virtual int32_t InitiateGameConnection_DEPRECATED( void *, int32_t, CSteamID, uint32_t, uint16_t, int8_t ) = 0; virtual void TerminateGameConnection_DEPRECATED( uint32_t, uint16_t ) = 0; - virtual void TrackAppUsageEvent( CGameID, int32_t, const char * ) = 0; + virtual void TrackAppUsageEvent( CGameID &, int32_t, const char * ) = 0; virtual int8_t GetUserDataFolder( char *, int32_t ) = 0; virtual void StartVoiceRecording( ) = 0; virtual void StopVoiceRecording( ) = 0; From 61fb2e7cb8a0a5a542bf8ff47f8afad338171309 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Fri, 12 Sep 2025 12:06:43 -0600 Subject: [PATCH 51/65] proton: Add OPENSSL_ia32cap env variable for Agony UNRATED. CW-Bug-Id: #25759 --- proton | 1 + 1 file changed, 1 insertion(+) diff --git a/proton b/proton index c4d1416aec..b4a0279f76 100755 --- a/proton +++ b/proton @@ -1646,6 +1646,7 @@ class Session: "558260", #Gravel "386360", #SMITE "487720", #Agony + "879420", #Agony UNRATED "649950", #Ashen "1150080", #Azur Lane: Crosswave "463150", #BARRIER X From 44fa45d486927f2e5fd90e469fbca2e987cf1238 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Fri, 12 Sep 2025 15:56:58 -0600 Subject: [PATCH 52/65] lsteamclient: Check for invalid iServer in winISteamMatchmakingServers_SteamMatchMakingServers002_GetServerDetails(). CW-Bug-Id: #25936 --- lsteamclient/steam_matchmaking_manual.c | 9 +++++++++ lsteamclient/unixlib.h | 1 + 2 files changed, 10 insertions(+) diff --git a/lsteamclient/steam_matchmaking_manual.c b/lsteamclient/steam_matchmaking_manual.c index 638339e8a6..e41cad92ae 100644 --- a/lsteamclient/steam_matchmaking_manual.c +++ b/lsteamclient/steam_matchmaking_manual.c @@ -225,8 +225,17 @@ gameserveritem_t_105 * __thiscall winISteamMatchmakingServers_SteamMatchMakingSe }; STEAMCLIENT_CALL( ISteamMatchmakingServers_SteamMatchMakingServers002_GetServerCount, &count_params ); + request->details_count = count_params._ret; if (count_params._ret) request->details = HeapAlloc( GetProcessHeap(), 0, count_params._ret * sizeof(*request->details) ); } + if (request && request->details && (iServer < 0 || iServer >= request->details_count)) + { + /* Linux Steamclient seems to also return invalid pointers in this case, but this works as soon as + * the app doesn't actually access the buffer. But without this check our Unix side wrapper will write + * request->details out of bounds. */ + ERR( "Invalid iServer %d, request->details_count %I64u, returning 0xdeadbeef.\n", iServer, request->details_count ); + return (void *)0xdeadbeef; + } STEAMCLIENT_CALL( ISteamMatchmakingServers_SteamMatchMakingServers002_GetServerDetails, ¶ms ); if (request && request->details && params._ret.ptr) return request->details + iServer; diff --git a/lsteamclient/unixlib.h b/lsteamclient/unixlib.h index eba591afc1..3e2ee3d1a8 100644 --- a/lsteamclient/unixlib.h +++ b/lsteamclient/unixlib.h @@ -396,6 +396,7 @@ struct w_request gameserveritem_t_105 *details; UINT64 __pad; }; + UINT64 details_count; }; #include From bf1e401c9a596b5a031d2336f4ff2e9bfc1f8961 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Fri, 12 Sep 2025 16:46:29 -0600 Subject: [PATCH 53/65] fixup! lsteamclient: Check for invalid iServer in winISteamMatchmakingServers_SteamMatchMakingServers002_GetServerDetails(). CW-Bug-Id: #25936 --- lsteamclient/steam_matchmaking_manual.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lsteamclient/steam_matchmaking_manual.c b/lsteamclient/steam_matchmaking_manual.c index e41cad92ae..039bb29f51 100644 --- a/lsteamclient/steam_matchmaking_manual.c +++ b/lsteamclient/steam_matchmaking_manual.c @@ -226,15 +226,15 @@ gameserveritem_t_105 * __thiscall winISteamMatchmakingServers_SteamMatchMakingSe STEAMCLIENT_CALL( ISteamMatchmakingServers_SteamMatchMakingServers002_GetServerCount, &count_params ); request->details_count = count_params._ret; - if (count_params._ret) request->details = HeapAlloc( GetProcessHeap(), 0, count_params._ret * sizeof(*request->details) ); + if (count_params._ret) request->details = HeapAlloc( GetProcessHeap(), 0, + (count_params._ret + 1) * sizeof(*request->details) ); } if (request && request->details && (iServer < 0 || iServer >= request->details_count)) { - /* Linux Steamclient seems to also return invalid pointers in this case, but this works as soon as - * the app doesn't actually access the buffer. But without this check our Unix side wrapper will write - * request->details out of bounds. */ - ERR( "Invalid iServer %d, request->details_count %I64u, returning 0xdeadbeef.\n", iServer, request->details_count ); - return (void *)0xdeadbeef; + /* Linux Steamclient will return some pointer in such a case with the structure being all zero. */ + ERR( "Invalid iServer %d, request->details_count %I64u.\n", iServer, request->details_count ); + memset( request->details + request->details_count, 0, sizeof(*request->details) ); + return request->details + request->details_count; } STEAMCLIENT_CALL( ISteamMatchmakingServers_SteamMatchMakingServers002_GetServerDetails, ¶ms ); From c349139ab443c5e975948cdbaa0bda500582e94c Mon Sep 17 00:00:00 2001 From: Arkadiusz Hiler Date: Mon, 15 Sep 2025 17:50:25 +0300 Subject: [PATCH 54/65] fixup! update wine --- wine | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wine b/wine index ecf0b0c62e..a2b5858c7a 160000 --- a/wine +++ b/wine @@ -1 +1 @@ -Subproject commit ecf0b0c62ea164f319cb0781e83b9d1a191f3907 +Subproject commit a2b5858c7a8882f6c8367ad1850f60b0f3106bd9 From f660c98757b330354617e6ccc167d3325ba21d4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernhard=20K=C3=B6lbl?= Date: Mon, 15 Sep 2025 16:43:45 +0200 Subject: [PATCH 55/65] proton: Disable forced LAA for Act of War: Direct Action. CW-Bug-Id: #25874 --- proton | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/proton b/proton index b4a0279f76..588d5b3e39 100755 --- a/proton +++ b/proton @@ -1252,7 +1252,10 @@ def default_compat_config(): ]: ret.add("noopwr") - if appid == "1621680": + if appid in [ + "2710", #Act of War: Direct Action + "1621680", #Sword and Fairy 4 + ]: ret.add("noforcelgadd") if appid in [ From b625919fe0ef86fb7c56ff9574c822356dcbf91a Mon Sep 17 00:00:00 2001 From: Anna Lasky Date: Wed, 17 Sep 2025 21:49:41 -0500 Subject: [PATCH 56/65] proton: Enable gamedrive compat option for Sea Power. CW-Bug-Id: #25962 --- proton | 1 + 1 file changed, 1 insertion(+) diff --git a/proton b/proton index 588d5b3e39..5bc9b8046a 100755 --- a/proton +++ b/proton @@ -1307,6 +1307,7 @@ def default_compat_config(): "3393740", #Firefly Village "2840770", #Avatar: Frontiers of Pandora "429660", #Tales of Berseria + "1286220", #Sea Power ]: ret.add("gamedrive") From 6782912a95a8472328e46a277cea24ece191cfa9 Mon Sep 17 00:00:00 2001 From: Anna Lasky Date: Wed, 17 Sep 2025 22:10:37 -0500 Subject: [PATCH 57/65] proton: Limit CPU count for more games. CW-Bug-Id: #25950 --- proton | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/proton b/proton index 5bc9b8046a..6c695dd8d7 100755 --- a/proton +++ b/proton @@ -1425,6 +1425,12 @@ default_cpu_limit = { "618970" : 4, # Outcast - Second Contact "10150" : 8, # Prototype "2229830" : 1, # Command & Conquer and The Covert Operations + "259170" : 8, # Alone in the Dark (2008) + "11440" : 4, # DiRT + "316260" : 16, # Disney Universe + "286810" : 30, # Hard Truck Apocalypse: Rise of Clans / Ex Machina: Meridian 113 + "70000" : 28, # Dino D-Day + "115320" : 8, # Prototype 2 } class Session: From 911cd681de3b038805a480ff5bd7f64db3a61f65 Mon Sep 17 00:00:00 2001 From: Connor McAdams Date: Tue, 9 Sep 2025 09:46:09 -0400 Subject: [PATCH 58/65] proton: Delete the creation sync guard file when removing newer prefixes. If this file persists after removing a newer prefix, creation of the current prefix will fail. CW-Bug-Id: #24524 CW-Bug-Id: #19720 --- proton | 2 ++ 1 file changed, 2 insertions(+) diff --git a/proton b/proton index 6c695dd8d7..489e474766 100755 --- a/proton +++ b/proton @@ -653,6 +653,8 @@ class CompatData: path = self.prefix_dir + "/drive_c/Program Files (x86)/Ubisoft/Ubisoft Game Launcher/version.txt" if file_exists(path, follow_symlinks=False) and os.path.isfile(path): os.remove(path) + if file_exists(self.creation_sync_guard, follow_symlinks=False): + os.remove(self.creation_sync_guard) return if old_proton_ver == "3.7" and old_prefix_ver == "1": From 0260835716805a581f9e894a4c74f39f9c798545 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Fri, 19 Sep 2025 12:42:27 -0600 Subject: [PATCH 59/65] vrclient: Synchronize d3d queue in WaitGetPoses() for all IVRCompositor versions. CW-Bug-Id: #25966 --- vrclient_x64/gen_wrapper.py | 2 +- vrclient_x64/vrcompositor_manual.c | 205 +++++++++++++++++++++++++++++ vrclient_x64/winIVRCompositor.c | 162 ++--------------------- 3 files changed, 217 insertions(+), 152 deletions(-) diff --git a/vrclient_x64/gen_wrapper.py b/vrclient_x64/gen_wrapper.py index 81f8f63c98..7062497d34 100755 --- a/vrclient_x64/gen_wrapper.py +++ b/vrclient_x64/gen_wrapper.py @@ -248,7 +248,7 @@ "IVRCompositor_SubmitWithArrayIndex": lambda ver, abi: ver > 8, "IVRCompositor_SetSkyboxOverride": lambda ver, abi: ver > 8, "IVRCompositor_PostPresentHandoff": lambda ver, abi: abi == 'w', - "IVRCompositor_WaitGetPoses": lambda ver, abi: abi == 'w' and ver > 15, + "IVRCompositor_WaitGetPoses": lambda ver, abi: abi == 'w', "IVRCompositor_GetVulkanDeviceExtensionsRequired": lambda ver, abi: abi == 'u', "IVRCompositor_GetSubmitTexture": lambda ver, abi: abi == 'u', "IVRRenderModels_LoadTextureD3D11_Async": lambda ver, abi: abi == 'w', diff --git a/vrclient_x64/vrcompositor_manual.c b/vrclient_x64/vrcompositor_manual.c index bf444a0526..6398414be1 100644 --- a/vrclient_x64/vrcompositor_manual.c +++ b/vrclient_x64/vrcompositor_manual.c @@ -476,6 +476,97 @@ static void wait_get_poses_done( struct u_iface u_iface ) compositor_data.d3d12_device->lpVtbl->UnlockCommandQueue( compositor_data.d3d12_device, compositor_data.d3d12_queue ); } +void __thiscall winIVRCompositor_IVRCompositor_005_WaitGetPoses( struct w_iface *_this, + TrackedDevicePose_t *pPoseArray, uint32_t unPoseArrayCount ) +{ + struct IVRCompositor_IVRCompositor_005_WaitGetPoses_params params = + { + .u_iface = _this->u_iface, + .pPoseArray = pPoseArray, + .unPoseArrayCount = unPoseArrayCount, + }; + TRACE( "%p\n", _this ); + wait_get_poses_init( _this->u_iface ); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_005_WaitGetPoses, ¶ms ); + wait_get_poses_done( _this->u_iface ); +} + +uint32_t __thiscall winIVRCompositor_IVRCompositor_006_WaitGetPoses( struct w_iface *_this, + TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, + TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount ) +{ + struct IVRCompositor_IVRCompositor_006_WaitGetPoses_params params = + { + .u_iface = _this->u_iface, + .pRenderPoseArray = pRenderPoseArray, + .unRenderPoseArrayCount = unRenderPoseArrayCount, + .pGamePoseArray = pGamePoseArray, + .unGamePoseArrayCount = unGamePoseArrayCount, + }; + TRACE( "%p\n", _this ); + wait_get_poses_init( _this->u_iface ); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_006_WaitGetPoses, ¶ms ); + wait_get_poses_done( _this->u_iface ); + return params._ret; +} + +uint32_t __thiscall winIVRCompositor_IVRCompositor_007_WaitGetPoses( struct w_iface *_this, + TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, + TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount ) +{ + struct IVRCompositor_IVRCompositor_007_WaitGetPoses_params params = + { + .u_iface = _this->u_iface, + .pRenderPoseArray = pRenderPoseArray, + .unRenderPoseArrayCount = unRenderPoseArrayCount, + .pGamePoseArray = pGamePoseArray, + .unGamePoseArrayCount = unGamePoseArrayCount, + }; + TRACE( "%p\n", _this ); + wait_get_poses_init( _this->u_iface ); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_007_WaitGetPoses, ¶ms ); + wait_get_poses_done( _this->u_iface ); + return params._ret; +} + +uint32_t __thiscall winIVRCompositor_IVRCompositor_008_WaitGetPoses( struct w_iface *_this, + TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, + TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount ) +{ + struct IVRCompositor_IVRCompositor_008_WaitGetPoses_params params = + { + .u_iface = _this->u_iface, + .pRenderPoseArray = pRenderPoseArray, + .unRenderPoseArrayCount = unRenderPoseArrayCount, + .pGamePoseArray = pGamePoseArray, + .unGamePoseArrayCount = unGamePoseArrayCount, + }; + TRACE( "%p\n", _this ); + wait_get_poses_init( _this->u_iface ); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_008_WaitGetPoses, ¶ms ); + wait_get_poses_done( _this->u_iface ); + return params._ret; +} + +uint32_t __thiscall winIVRCompositor_IVRCompositor_009_WaitGetPoses( struct w_iface *_this, + TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, + TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount ) +{ + struct IVRCompositor_IVRCompositor_009_WaitGetPoses_params params = + { + .u_iface = _this->u_iface, + .pRenderPoseArray = pRenderPoseArray, + .unRenderPoseArrayCount = unRenderPoseArrayCount, + .pGamePoseArray = pGamePoseArray, + .unGamePoseArrayCount = unGamePoseArrayCount, + }; + TRACE( "%p\n", _this ); + wait_get_poses_init( _this->u_iface ); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_009_WaitGetPoses, ¶ms ); + wait_get_poses_done( _this->u_iface ); + return params._ret; +} + uint32_t __thiscall winIVRCompositor_IVRCompositor_009_Submit( struct w_iface *_this, uint32_t eEye, const w_Texture_t *pTexture, const VRTextureBounds_t *pBounds, uint32_t nSubmitFlags ) @@ -523,6 +614,25 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_009_SetSkyboxOverride( struct return params._ret; } +uint32_t __thiscall winIVRCompositor_IVRCompositor_010_WaitGetPoses( struct w_iface *_this, + TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, + TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount ) +{ + struct IVRCompositor_IVRCompositor_010_WaitGetPoses_params params = + { + .u_iface = _this->u_iface, + .pRenderPoseArray = pRenderPoseArray, + .unRenderPoseArrayCount = unRenderPoseArrayCount, + .pGamePoseArray = pGamePoseArray, + .unGamePoseArrayCount = unGamePoseArrayCount, + }; + TRACE( "%p\n", _this ); + wait_get_poses_init( _this->u_iface ); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_010_WaitGetPoses, ¶ms ); + wait_get_poses_done( _this->u_iface ); + return params._ret; +} + uint32_t __thiscall winIVRCompositor_IVRCompositor_010_Submit( struct w_iface *_this, uint32_t eEye, const w_Texture_t *pTexture, const VRTextureBounds_t *pBounds, uint32_t nSubmitFlags ) @@ -570,6 +680,25 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_010_SetSkyboxOverride( struct return params._ret; } +uint32_t __thiscall winIVRCompositor_IVRCompositor_011_WaitGetPoses( struct w_iface *_this, + TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, + TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount ) +{ + struct IVRCompositor_IVRCompositor_011_WaitGetPoses_params params = + { + .u_iface = _this->u_iface, + .pRenderPoseArray = pRenderPoseArray, + .unRenderPoseArrayCount = unRenderPoseArrayCount, + .pGamePoseArray = pGamePoseArray, + .unGamePoseArrayCount = unGamePoseArrayCount, + }; + TRACE( "%p\n", _this ); + wait_get_poses_init( _this->u_iface ); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_011_WaitGetPoses, ¶ms ); + wait_get_poses_done( _this->u_iface ); + return params._ret; +} + uint32_t __thiscall winIVRCompositor_IVRCompositor_011_Submit( struct w_iface *_this, uint32_t eEye, const w_Texture_t *pTexture, const VRTextureBounds_t *pBounds, uint32_t nSubmitFlags ) @@ -617,6 +746,25 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_011_SetSkyboxOverride( struct return params._ret; } +uint32_t __thiscall winIVRCompositor_IVRCompositor_012_WaitGetPoses( struct w_iface *_this, + TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, + TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount ) +{ + struct IVRCompositor_IVRCompositor_012_WaitGetPoses_params params = + { + .u_iface = _this->u_iface, + .pRenderPoseArray = pRenderPoseArray, + .unRenderPoseArrayCount = unRenderPoseArrayCount, + .pGamePoseArray = pGamePoseArray, + .unGamePoseArrayCount = unGamePoseArrayCount, + }; + TRACE( "%p\n", _this ); + wait_get_poses_init( _this->u_iface ); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_012_WaitGetPoses, ¶ms ); + wait_get_poses_done( _this->u_iface ); + return params._ret; +} + uint32_t __thiscall winIVRCompositor_IVRCompositor_012_Submit( struct w_iface *_this, uint32_t eEye, const w_Texture_t *pTexture, const VRTextureBounds_t *pBounds, uint32_t nSubmitFlags ) @@ -664,6 +812,25 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_012_SetSkyboxOverride( struct return params._ret; } +uint32_t __thiscall winIVRCompositor_IVRCompositor_013_WaitGetPoses( struct w_iface *_this, + TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, + TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount ) +{ + struct IVRCompositor_IVRCompositor_013_WaitGetPoses_params params = + { + .u_iface = _this->u_iface, + .pRenderPoseArray = pRenderPoseArray, + .unRenderPoseArrayCount = unRenderPoseArrayCount, + .pGamePoseArray = pGamePoseArray, + .unGamePoseArrayCount = unGamePoseArrayCount, + }; + TRACE( "%p\n", _this ); + wait_get_poses_init( _this->u_iface ); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_013_WaitGetPoses, ¶ms ); + wait_get_poses_done( _this->u_iface ); + return params._ret; +} + uint32_t __thiscall winIVRCompositor_IVRCompositor_013_Submit( struct w_iface *_this, uint32_t eEye, const w_Texture_t *pTexture, const VRTextureBounds_t *pBounds, uint32_t nSubmitFlags ) @@ -711,6 +878,25 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_013_SetSkyboxOverride( struct return params._ret; } +uint32_t __thiscall winIVRCompositor_IVRCompositor_014_WaitGetPoses( struct w_iface *_this, + TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, + TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount ) +{ + struct IVRCompositor_IVRCompositor_014_WaitGetPoses_params params = + { + .u_iface = _this->u_iface, + .pRenderPoseArray = pRenderPoseArray, + .unRenderPoseArrayCount = unRenderPoseArrayCount, + .pGamePoseArray = pGamePoseArray, + .unGamePoseArrayCount = unGamePoseArrayCount, + }; + TRACE( "%p\n", _this ); + wait_get_poses_init( _this->u_iface ); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_014_WaitGetPoses, ¶ms ); + wait_get_poses_done( _this->u_iface ); + return params._ret; +} + uint32_t __thiscall winIVRCompositor_IVRCompositor_014_Submit( struct w_iface *_this, uint32_t eEye, const w_Texture_t *pTexture, const VRTextureBounds_t *pBounds, uint32_t nSubmitFlags ) @@ -758,6 +944,25 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_014_SetSkyboxOverride( struct return params._ret; } +uint32_t __thiscall winIVRCompositor_IVRCompositor_015_WaitGetPoses( struct w_iface *_this, + TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, + TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount ) +{ + struct IVRCompositor_IVRCompositor_015_WaitGetPoses_params params = + { + .u_iface = _this->u_iface, + .pRenderPoseArray = pRenderPoseArray, + .unRenderPoseArrayCount = unRenderPoseArrayCount, + .pGamePoseArray = pGamePoseArray, + .unGamePoseArrayCount = unGamePoseArrayCount, + }; + TRACE( "%p\n", _this ); + wait_get_poses_init( _this->u_iface ); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_015_WaitGetPoses, ¶ms ); + wait_get_poses_done( _this->u_iface ); + return params._ret; +} + uint32_t __thiscall winIVRCompositor_IVRCompositor_015_Submit( struct w_iface *_this, uint32_t eEye, const w_Texture_t *pTexture, const VRTextureBounds_t *pBounds, uint32_t nSubmitFlags ) diff --git a/vrclient_x64/winIVRCompositor.c b/vrclient_x64/winIVRCompositor.c index 5f6753735b..e4e20ace50 100644 --- a/vrclient_x64/winIVRCompositor.c +++ b/vrclient_x64/winIVRCompositor.c @@ -102,17 +102,7 @@ void __thiscall winIVRCompositor_IVRCompositor_005_SetGraphicsDevice(struct w_if VRCLIENT_CALL( IVRCompositor_IVRCompositor_005_SetGraphicsDevice, ¶ms ); } -void __thiscall winIVRCompositor_IVRCompositor_005_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pPoseArray, uint32_t unPoseArrayCount) -{ - struct IVRCompositor_IVRCompositor_005_WaitGetPoses_params params = - { - .u_iface = _this->u_iface, - .pPoseArray = pPoseArray, - .unPoseArrayCount = unPoseArrayCount, - }; - TRACE("%p\n", _this); - VRCLIENT_CALL( IVRCompositor_IVRCompositor_005_WaitGetPoses, ¶ms ); -} +extern void __thiscall winIVRCompositor_IVRCompositor_005_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pPoseArray, uint32_t unPoseArrayCount); void __thiscall winIVRCompositor_IVRCompositor_005_Submit(struct w_iface *_this, uint32_t eEye, void *pTexture, Compositor_TextureBounds *pBounds) { @@ -504,20 +494,7 @@ void __thiscall winIVRCompositor_IVRCompositor_006_SetGraphicsDevice(struct w_if VRCLIENT_CALL( IVRCompositor_IVRCompositor_006_SetGraphicsDevice, ¶ms ); } -uint32_t __thiscall winIVRCompositor_IVRCompositor_006_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount) -{ - struct IVRCompositor_IVRCompositor_006_WaitGetPoses_params params = - { - .u_iface = _this->u_iface, - .pRenderPoseArray = pRenderPoseArray, - .unRenderPoseArrayCount = unRenderPoseArrayCount, - .pGamePoseArray = pGamePoseArray, - .unGamePoseArrayCount = unGamePoseArrayCount, - }; - TRACE("%p\n", _this); - VRCLIENT_CALL( IVRCompositor_IVRCompositor_006_WaitGetPoses, ¶ms ); - return params._ret; -} +extern uint32_t __thiscall winIVRCompositor_IVRCompositor_006_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount); uint32_t __thiscall winIVRCompositor_IVRCompositor_006_Submit(struct w_iface *_this, uint32_t eEye, void *pTexture, VRTextureBounds_t *pBounds) { @@ -833,20 +810,7 @@ float __thiscall winIVRCompositor_IVRCompositor_007_GetGamma(struct w_iface *_th return params._ret; } -uint32_t __thiscall winIVRCompositor_IVRCompositor_007_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount) -{ - struct IVRCompositor_IVRCompositor_007_WaitGetPoses_params params = - { - .u_iface = _this->u_iface, - .pRenderPoseArray = pRenderPoseArray, - .unRenderPoseArrayCount = unRenderPoseArrayCount, - .pGamePoseArray = pGamePoseArray, - .unGamePoseArrayCount = unGamePoseArrayCount, - }; - TRACE("%p\n", _this); - VRCLIENT_CALL( IVRCompositor_IVRCompositor_007_WaitGetPoses, ¶ms ); - return params._ret; -} +extern uint32_t __thiscall winIVRCompositor_IVRCompositor_007_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount); uint32_t __thiscall winIVRCompositor_IVRCompositor_007_Submit(struct w_iface *_this, uint32_t eEye, uint32_t eTextureType, void *pTexture, const VRTextureBounds_t *pBounds) { @@ -1169,20 +1133,7 @@ float __thiscall winIVRCompositor_IVRCompositor_008_GetGamma(struct w_iface *_th return params._ret; } -uint32_t __thiscall winIVRCompositor_IVRCompositor_008_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount) -{ - struct IVRCompositor_IVRCompositor_008_WaitGetPoses_params params = - { - .u_iface = _this->u_iface, - .pRenderPoseArray = pRenderPoseArray, - .unRenderPoseArrayCount = unRenderPoseArrayCount, - .pGamePoseArray = pGamePoseArray, - .unGamePoseArrayCount = unGamePoseArrayCount, - }; - TRACE("%p\n", _this); - VRCLIENT_CALL( IVRCompositor_IVRCompositor_008_WaitGetPoses, ¶ms ); - return params._ret; -} +extern uint32_t __thiscall winIVRCompositor_IVRCompositor_008_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount); uint32_t __thiscall winIVRCompositor_IVRCompositor_008_Submit(struct w_iface *_this, uint32_t eEye, uint32_t eTextureType, void *pTexture, const VRTextureBounds_t *pBounds, uint32_t nSubmitFlags) { @@ -1563,20 +1514,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_009_GetTrackingSpace(struct w return params._ret; } -uint32_t __thiscall winIVRCompositor_IVRCompositor_009_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount) -{ - struct IVRCompositor_IVRCompositor_009_WaitGetPoses_params params = - { - .u_iface = _this->u_iface, - .pRenderPoseArray = pRenderPoseArray, - .unRenderPoseArrayCount = unRenderPoseArrayCount, - .pGamePoseArray = pGamePoseArray, - .unGamePoseArrayCount = unGamePoseArrayCount, - }; - TRACE("%p\n", _this); - VRCLIENT_CALL( IVRCompositor_IVRCompositor_009_WaitGetPoses, ¶ms ); - return params._ret; -} +extern uint32_t __thiscall winIVRCompositor_IVRCompositor_009_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount); uint32_t __thiscall winIVRCompositor_IVRCompositor_009_GetLastPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount) { @@ -1928,20 +1866,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_010_GetTrackingSpace(struct w return params._ret; } -uint32_t __thiscall winIVRCompositor_IVRCompositor_010_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount) -{ - struct IVRCompositor_IVRCompositor_010_WaitGetPoses_params params = - { - .u_iface = _this->u_iface, - .pRenderPoseArray = pRenderPoseArray, - .unRenderPoseArrayCount = unRenderPoseArrayCount, - .pGamePoseArray = pGamePoseArray, - .unGamePoseArrayCount = unGamePoseArrayCount, - }; - TRACE("%p\n", _this); - VRCLIENT_CALL( IVRCompositor_IVRCompositor_010_WaitGetPoses, ¶ms ); - return params._ret; -} +extern uint32_t __thiscall winIVRCompositor_IVRCompositor_010_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount); uint32_t __thiscall winIVRCompositor_IVRCompositor_010_GetLastPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount) { @@ -2293,20 +2218,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_011_GetTrackingSpace(struct w return params._ret; } -uint32_t __thiscall winIVRCompositor_IVRCompositor_011_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount) -{ - struct IVRCompositor_IVRCompositor_011_WaitGetPoses_params params = - { - .u_iface = _this->u_iface, - .pRenderPoseArray = pRenderPoseArray, - .unRenderPoseArrayCount = unRenderPoseArrayCount, - .pGamePoseArray = pGamePoseArray, - .unGamePoseArrayCount = unGamePoseArrayCount, - }; - TRACE("%p\n", _this); - VRCLIENT_CALL( IVRCompositor_IVRCompositor_011_WaitGetPoses, ¶ms ); - return params._ret; -} +extern uint32_t __thiscall winIVRCompositor_IVRCompositor_011_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount); uint32_t __thiscall winIVRCompositor_IVRCompositor_011_GetLastPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount) { @@ -2660,20 +2572,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_012_GetTrackingSpace(struct w return params._ret; } -uint32_t __thiscall winIVRCompositor_IVRCompositor_012_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount) -{ - struct IVRCompositor_IVRCompositor_012_WaitGetPoses_params params = - { - .u_iface = _this->u_iface, - .pRenderPoseArray = pRenderPoseArray, - .unRenderPoseArrayCount = unRenderPoseArrayCount, - .pGamePoseArray = pGamePoseArray, - .unGamePoseArrayCount = unGamePoseArrayCount, - }; - TRACE("%p\n", _this); - VRCLIENT_CALL( IVRCompositor_IVRCompositor_012_WaitGetPoses, ¶ms ); - return params._ret; -} +extern uint32_t __thiscall winIVRCompositor_IVRCompositor_012_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount); uint32_t __thiscall winIVRCompositor_IVRCompositor_012_GetLastPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount) { @@ -3057,20 +2956,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_013_GetTrackingSpace(struct w return params._ret; } -uint32_t __thiscall winIVRCompositor_IVRCompositor_013_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount) -{ - struct IVRCompositor_IVRCompositor_013_WaitGetPoses_params params = - { - .u_iface = _this->u_iface, - .pRenderPoseArray = pRenderPoseArray, - .unRenderPoseArrayCount = unRenderPoseArrayCount, - .pGamePoseArray = pGamePoseArray, - .unGamePoseArrayCount = unGamePoseArrayCount, - }; - TRACE("%p\n", _this); - VRCLIENT_CALL( IVRCompositor_IVRCompositor_013_WaitGetPoses, ¶ms ); - return params._ret; -} +extern uint32_t __thiscall winIVRCompositor_IVRCompositor_013_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount); uint32_t __thiscall winIVRCompositor_IVRCompositor_013_GetLastPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount) { @@ -3469,20 +3355,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_014_GetTrackingSpace(struct w return params._ret; } -uint32_t __thiscall winIVRCompositor_IVRCompositor_014_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount) -{ - struct IVRCompositor_IVRCompositor_014_WaitGetPoses_params params = - { - .u_iface = _this->u_iface, - .pRenderPoseArray = pRenderPoseArray, - .unRenderPoseArrayCount = unRenderPoseArrayCount, - .pGamePoseArray = pGamePoseArray, - .unGamePoseArrayCount = unGamePoseArrayCount, - }; - TRACE("%p\n", _this); - VRCLIENT_CALL( IVRCompositor_IVRCompositor_014_WaitGetPoses, ¶ms ); - return params._ret; -} +extern uint32_t __thiscall winIVRCompositor_IVRCompositor_014_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount); uint32_t __thiscall winIVRCompositor_IVRCompositor_014_GetLastPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount) { @@ -3914,20 +3787,7 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_015_GetTrackingSpace(struct w return params._ret; } -uint32_t __thiscall winIVRCompositor_IVRCompositor_015_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount) -{ - struct IVRCompositor_IVRCompositor_015_WaitGetPoses_params params = - { - .u_iface = _this->u_iface, - .pRenderPoseArray = pRenderPoseArray, - .unRenderPoseArrayCount = unRenderPoseArrayCount, - .pGamePoseArray = pGamePoseArray, - .unGamePoseArrayCount = unGamePoseArrayCount, - }; - TRACE("%p\n", _this); - VRCLIENT_CALL( IVRCompositor_IVRCompositor_015_WaitGetPoses, ¶ms ); - return params._ret; -} +extern uint32_t __thiscall winIVRCompositor_IVRCompositor_015_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount); uint32_t __thiscall winIVRCompositor_IVRCompositor_015_GetLastPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount) { From 0f9058900cc4382b40246e14d950f01bd6509299 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Fri, 19 Sep 2025 12:50:39 -0600 Subject: [PATCH 60/65] vrclient: Handle structures passed by value in handle_method_cpp.param_call. CW-Bug-Id: #25966 --- vrclient_x64/gen_wrapper.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/vrclient_x64/gen_wrapper.py b/vrclient_x64/gen_wrapper.py index 7062497d34..0a45f3f603 100755 --- a/vrclient_x64/gen_wrapper.py +++ b/vrclient_x64/gen_wrapper.py @@ -844,10 +844,13 @@ def handle_method_cpp(method, classname, out, wow64): out(u' params->_ret = ') def param_call(name, param): - pfx = '&' if param.type.kind == TypeKind.POINTER else '' if name in size_fixup: return f"u_{name}" if name in path_conv_wtou: return f"u_{name}" - if name in need_convert: return f"params->{name} ? {pfx}u_{name} : nullptr" + if name in need_convert: + if param.type.kind == TypeKind.POINTER: + return f"params->{name} ? &u_{name} : nullptr" + else: + return f"u_{name}" if name == OUTSTR_PARAMS.get(method.name, None): return f'params->{name} ? ({declspec(param, "", "u_")})&u_str : nullptr' return f'params->{name}' From a17f8eed20be47fbaf60016f559880a8b05e3e38 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Thu, 18 Sep 2025 11:33:19 -0600 Subject: [PATCH 61/65] vrclient: Support SDK v0.9.11. CW-Bug-Id: #25966 --- vrclient_x64/Makefile.in | 2 + .../cppIVRCompositor_IVRCompositor_008.cpp | 76 +- ...cppIVRRenderModels_IVRRenderModels_001.cpp | 92 + vrclient_x64/gen_wrapper.py | 8 +- vrclient_x64/unix_private_generated.h | 411 +- vrclient_x64/unix_vrcompositor_manual.cpp | 43 + vrclient_x64/unix_vroverlay_manual.cpp | 16 + vrclient_x64/unixlib_generated.cpp | 862 +- vrclient_x64/unixlib_generated.h | 11385 +++++++++------- vrclient_x64/vrclient_generated.c | 8 + vrclient_x64/vrclient_generated.h | 8 + vrclient_x64/vrclient_structs_generated.h | 279 +- vrclient_x64/vrcompositor_manual.c | 69 + vrclient_x64/vroverlay_manual.c | 35 +- vrclient_x64/vrsystem_manual.c | 8 + vrclient_x64/winIVRCompositor.c | 66 +- vrclient_x64/winIVROverlay.c | 967 ++ vrclient_x64/winIVRRenderModels.c | 91 +- vrclient_x64/winIVRSystem.c | 725 + 19 files changed, 10060 insertions(+), 5091 deletions(-) diff --git a/vrclient_x64/Makefile.in b/vrclient_x64/Makefile.in index 9204020e0a..2e471e214e 100644 --- a/vrclient_x64/Makefile.in +++ b/vrclient_x64/Makefile.in @@ -96,6 +96,7 @@ SOURCES = \ cppIVROverlay_IVROverlay_003.cpp \ cppIVROverlay_IVROverlay_004.cpp \ cppIVROverlay_IVROverlay_005.cpp \ + cppIVROverlay_IVROverlay_006.cpp \ cppIVROverlay_IVROverlay_007.cpp \ cppIVROverlay_IVROverlay_008.cpp \ cppIVROverlay_IVROverlay_010.cpp \ @@ -130,6 +131,7 @@ SOURCES = \ cppIVRSystem_IVRSystem_004.cpp \ cppIVRSystem_IVRSystem_005.cpp \ cppIVRSystem_IVRSystem_006.cpp \ + cppIVRSystem_IVRSystem_007.cpp \ cppIVRSystem_IVRSystem_009.cpp \ cppIVRSystem_IVRSystem_010.cpp \ cppIVRSystem_IVRSystem_011.cpp \ diff --git a/vrclient_x64/cppIVRCompositor_IVRCompositor_008.cpp b/vrclient_x64/cppIVRCompositor_IVRCompositor_008.cpp index 3fc2d06139..f63d41a596 100644 --- a/vrclient_x64/cppIVRCompositor_IVRCompositor_008.cpp +++ b/vrclient_x64/cppIVRCompositor_IVRCompositor_008.cpp @@ -113,24 +113,6 @@ NTSTATUS wow64_IVRCompositor_IVRCompositor_008_WaitGetPoses( void *args ) } #endif -NTSTATUS IVRCompositor_IVRCompositor_008_Submit( void *args ) -{ - struct IVRCompositor_IVRCompositor_008_Submit_params *params = (struct IVRCompositor_IVRCompositor_008_Submit_params *)args; - struct u_IVRCompositor_IVRCompositor_008 *iface = (struct u_IVRCompositor_IVRCompositor_008 *)params->u_iface; - params->_ret = iface->Submit( params->eEye, params->eTextureType, params->pTexture, params->pBounds, params->nSubmitFlags ); - return 0; -} - -#if defined(__x86_64__) || defined(__aarch64__) -NTSTATUS wow64_IVRCompositor_IVRCompositor_008_Submit( void *args ) -{ - struct wow64_IVRCompositor_IVRCompositor_008_Submit_params *params = (struct wow64_IVRCompositor_IVRCompositor_008_Submit_params *)args; - struct u_IVRCompositor_IVRCompositor_008 *iface = (struct u_IVRCompositor_IVRCompositor_008 *)params->u_iface; - params->_ret = iface->Submit( params->eEye, params->eTextureType, params->pTexture, params->pBounds, params->nSubmitFlags ); - return 0; -} -#endif - NTSTATUS IVRCompositor_IVRCompositor_008_ClearLastSubmittedFrame( void *args ) { struct IVRCompositor_IVRCompositor_008_ClearLastSubmittedFrame_params *params = (struct IVRCompositor_IVRCompositor_008_ClearLastSubmittedFrame_params *)args; @@ -153,7 +135,7 @@ NTSTATUS IVRCompositor_IVRCompositor_008_GetFrameTiming( void *args ) { struct IVRCompositor_IVRCompositor_008_GetFrameTiming_params *params = (struct IVRCompositor_IVRCompositor_008_GetFrameTiming_params *)args; struct u_IVRCompositor_IVRCompositor_008 *iface = (struct u_IVRCompositor_IVRCompositor_008 *)params->u_iface; - u_Compositor_FrameTiming_093 u_pTiming; + u_Compositor_FrameTiming_0911 u_pTiming; if (params->pTiming) u_pTiming = *params->pTiming; params->_ret = iface->GetFrameTiming( params->pTiming ? &u_pTiming : nullptr, params->unFramesAgo ); if (params->pTiming) *params->pTiming = u_pTiming; @@ -165,7 +147,7 @@ NTSTATUS wow64_IVRCompositor_IVRCompositor_008_GetFrameTiming( void *args ) { struct wow64_IVRCompositor_IVRCompositor_008_GetFrameTiming_params *params = (struct wow64_IVRCompositor_IVRCompositor_008_GetFrameTiming_params *)args; struct u_IVRCompositor_IVRCompositor_008 *iface = (struct u_IVRCompositor_IVRCompositor_008 *)params->u_iface; - u_Compositor_FrameTiming_093 u_pTiming; + u_Compositor_FrameTiming_0911 u_pTiming; if (params->pTiming) u_pTiming = *params->pTiming; params->_ret = iface->GetFrameTiming( params->pTiming ? &u_pTiming : nullptr, params->unFramesAgo ); if (params->pTiming) *params->pTiming = u_pTiming; @@ -209,24 +191,6 @@ NTSTATUS wow64_IVRCompositor_IVRCompositor_008_FadeGrid( void *args ) } #endif -NTSTATUS IVRCompositor_IVRCompositor_008_SetSkyboxOverride( void *args ) -{ - struct IVRCompositor_IVRCompositor_008_SetSkyboxOverride_params *params = (struct IVRCompositor_IVRCompositor_008_SetSkyboxOverride_params *)args; - struct u_IVRCompositor_IVRCompositor_008 *iface = (struct u_IVRCompositor_IVRCompositor_008 *)params->u_iface; - iface->SetSkyboxOverride( params->eTextureType, params->pFront, params->pBack, params->pLeft, params->pRight, params->pTop, params->pBottom ); - return 0; -} - -#if defined(__x86_64__) || defined(__aarch64__) -NTSTATUS wow64_IVRCompositor_IVRCompositor_008_SetSkyboxOverride( void *args ) -{ - struct wow64_IVRCompositor_IVRCompositor_008_SetSkyboxOverride_params *params = (struct wow64_IVRCompositor_IVRCompositor_008_SetSkyboxOverride_params *)args; - struct u_IVRCompositor_IVRCompositor_008 *iface = (struct u_IVRCompositor_IVRCompositor_008 *)params->u_iface; - iface->SetSkyboxOverride( params->eTextureType, params->pFront, params->pBack, params->pLeft, params->pRight, params->pTop, params->pBottom ); - return 0; -} -#endif - NTSTATUS IVRCompositor_IVRCompositor_008_ClearSkyboxOverride( void *args ) { struct IVRCompositor_IVRCompositor_008_ClearSkyboxOverride_params *params = (struct IVRCompositor_IVRCompositor_008_ClearSkyboxOverride_params *)args; @@ -479,3 +443,39 @@ NTSTATUS wow64_IVRCompositor_IVRCompositor_008_GetLastFrameRenderer( void *args } #endif +NTSTATUS IVRCompositor_IVRCompositor_008_GetLastPoses( void *args ) +{ + struct IVRCompositor_IVRCompositor_008_GetLastPoses_params *params = (struct IVRCompositor_IVRCompositor_008_GetLastPoses_params *)args; + struct u_IVRCompositor_IVRCompositor_008 *iface = (struct u_IVRCompositor_IVRCompositor_008 *)params->u_iface; + params->_ret = iface->GetLastPoses( params->pRenderPoseArray, params->unRenderPoseArrayCount, params->pGamePoseArray, params->unGamePoseArrayCount ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_008_GetLastPoses( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_008_GetLastPoses_params *params = (struct wow64_IVRCompositor_IVRCompositor_008_GetLastPoses_params *)args; + struct u_IVRCompositor_IVRCompositor_008 *iface = (struct u_IVRCompositor_IVRCompositor_008 *)params->u_iface; + params->_ret = iface->GetLastPoses( params->pRenderPoseArray, params->unRenderPoseArrayCount, params->pGamePoseArray, params->unGamePoseArrayCount ); + return 0; +} +#endif + +NTSTATUS IVRCompositor_IVRCompositor_008_PostPresentHandoff( void *args ) +{ + struct IVRCompositor_IVRCompositor_008_PostPresentHandoff_params *params = (struct IVRCompositor_IVRCompositor_008_PostPresentHandoff_params *)args; + struct u_IVRCompositor_IVRCompositor_008 *iface = (struct u_IVRCompositor_IVRCompositor_008 *)params->u_iface; + iface->PostPresentHandoff( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRCompositor_IVRCompositor_008_PostPresentHandoff( void *args ) +{ + struct wow64_IVRCompositor_IVRCompositor_008_PostPresentHandoff_params *params = (struct wow64_IVRCompositor_IVRCompositor_008_PostPresentHandoff_params *)args; + struct u_IVRCompositor_IVRCompositor_008 *iface = (struct u_IVRCompositor_IVRCompositor_008 *)params->u_iface; + iface->PostPresentHandoff( ); + return 0; +} +#endif + diff --git a/vrclient_x64/cppIVRRenderModels_IVRRenderModels_001.cpp b/vrclient_x64/cppIVRRenderModels_IVRRenderModels_001.cpp index 869c5d8230..fe992ff9e7 100644 --- a/vrclient_x64/cppIVRRenderModels_IVRRenderModels_001.cpp +++ b/vrclient_x64/cppIVRRenderModels_IVRRenderModels_001.cpp @@ -89,3 +89,95 @@ NTSTATUS wow64_IVRRenderModels_IVRRenderModels_001_GetRenderModelCount( void *ar } #endif +NTSTATUS IVRRenderModels_IVRRenderModels_001_GetComponentCount( void *args ) +{ + struct IVRRenderModels_IVRRenderModels_001_GetComponentCount_params *params = (struct IVRRenderModels_IVRRenderModels_001_GetComponentCount_params *)args; + struct u_IVRRenderModels_IVRRenderModels_001 *iface = (struct u_IVRRenderModels_IVRRenderModels_001 *)params->u_iface; + params->_ret = iface->GetComponentCount( params->pchRenderModelName ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRRenderModels_IVRRenderModels_001_GetComponentCount( void *args ) +{ + struct wow64_IVRRenderModels_IVRRenderModels_001_GetComponentCount_params *params = (struct wow64_IVRRenderModels_IVRRenderModels_001_GetComponentCount_params *)args; + struct u_IVRRenderModels_IVRRenderModels_001 *iface = (struct u_IVRRenderModels_IVRRenderModels_001 *)params->u_iface; + params->_ret = iface->GetComponentCount( params->pchRenderModelName ); + return 0; +} +#endif + +NTSTATUS IVRRenderModels_IVRRenderModels_001_GetComponentName( void *args ) +{ + struct IVRRenderModels_IVRRenderModels_001_GetComponentName_params *params = (struct IVRRenderModels_IVRRenderModels_001_GetComponentName_params *)args; + struct u_IVRRenderModels_IVRRenderModels_001 *iface = (struct u_IVRRenderModels_IVRRenderModels_001 *)params->u_iface; + params->_ret = iface->GetComponentName( params->pchRenderModelName, params->unComponentIndex, params->pchComponentName, params->unComponentNameLen ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRRenderModels_IVRRenderModels_001_GetComponentName( void *args ) +{ + struct wow64_IVRRenderModels_IVRRenderModels_001_GetComponentName_params *params = (struct wow64_IVRRenderModels_IVRRenderModels_001_GetComponentName_params *)args; + struct u_IVRRenderModels_IVRRenderModels_001 *iface = (struct u_IVRRenderModels_IVRRenderModels_001 *)params->u_iface; + params->_ret = iface->GetComponentName( params->pchRenderModelName, params->unComponentIndex, params->pchComponentName, params->unComponentNameLen ); + return 0; +} +#endif + +NTSTATUS IVRRenderModels_IVRRenderModels_001_GetComponentButtonMask( void *args ) +{ + struct IVRRenderModels_IVRRenderModels_001_GetComponentButtonMask_params *params = (struct IVRRenderModels_IVRRenderModels_001_GetComponentButtonMask_params *)args; + struct u_IVRRenderModels_IVRRenderModels_001 *iface = (struct u_IVRRenderModels_IVRRenderModels_001 *)params->u_iface; + params->_ret = iface->GetComponentButtonMask( params->pchRenderModelName, params->pchComponentName ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRRenderModels_IVRRenderModels_001_GetComponentButtonMask( void *args ) +{ + struct wow64_IVRRenderModels_IVRRenderModels_001_GetComponentButtonMask_params *params = (struct wow64_IVRRenderModels_IVRRenderModels_001_GetComponentButtonMask_params *)args; + struct u_IVRRenderModels_IVRRenderModels_001 *iface = (struct u_IVRRenderModels_IVRRenderModels_001 *)params->u_iface; + params->_ret = iface->GetComponentButtonMask( params->pchRenderModelName, params->pchComponentName ); + return 0; +} +#endif + +NTSTATUS IVRRenderModels_IVRRenderModels_001_GetComponentRenderModelName( void *args ) +{ + struct IVRRenderModels_IVRRenderModels_001_GetComponentRenderModelName_params *params = (struct IVRRenderModels_IVRRenderModels_001_GetComponentRenderModelName_params *)args; + struct u_IVRRenderModels_IVRRenderModels_001 *iface = (struct u_IVRRenderModels_IVRRenderModels_001 *)params->u_iface; + params->_ret = iface->GetComponentRenderModelName( params->pchRenderModelName, params->pchComponentName, params->pchComponentRenderModelName, params->unComponentRenderModelNameLen ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRRenderModels_IVRRenderModels_001_GetComponentRenderModelName( void *args ) +{ + struct wow64_IVRRenderModels_IVRRenderModels_001_GetComponentRenderModelName_params *params = (struct wow64_IVRRenderModels_IVRRenderModels_001_GetComponentRenderModelName_params *)args; + struct u_IVRRenderModels_IVRRenderModels_001 *iface = (struct u_IVRRenderModels_IVRRenderModels_001 *)params->u_iface; + params->_ret = iface->GetComponentRenderModelName( params->pchRenderModelName, params->pchComponentName, params->pchComponentRenderModelName, params->unComponentRenderModelNameLen ); + return 0; +} +#endif + +NTSTATUS IVRRenderModels_IVRRenderModels_001_GetComponentState( void *args ) +{ + struct IVRRenderModels_IVRRenderModels_001_GetComponentState_params *params = (struct IVRRenderModels_IVRRenderModels_001_GetComponentState_params *)args; + struct u_IVRRenderModels_IVRRenderModels_001 *iface = (struct u_IVRRenderModels_IVRRenderModels_001 *)params->u_iface; + u_VRControllerState001_t u_controllerState = params->controllerState; + params->_ret = iface->GetComponentState( params->pchRenderModelName, params->pchComponentName, u_controllerState, params->pComponentState ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRRenderModels_IVRRenderModels_001_GetComponentState( void *args ) +{ + struct wow64_IVRRenderModels_IVRRenderModels_001_GetComponentState_params *params = (struct wow64_IVRRenderModels_IVRRenderModels_001_GetComponentState_params *)args; + struct u_IVRRenderModels_IVRRenderModels_001 *iface = (struct u_IVRRenderModels_IVRRenderModels_001 *)params->u_iface; + u_VRControllerState001_t u_controllerState = params->controllerState; + params->_ret = iface->GetComponentState( params->pchRenderModelName, params->pchComponentName, u_controllerState, params->pComponentState ); + return 0; +} +#endif + diff --git a/vrclient_x64/gen_wrapper.py b/vrclient_x64/gen_wrapper.py index 0a45f3f603..d944e6b6cf 100755 --- a/vrclient_x64/gen_wrapper.py +++ b/vrclient_x64/gen_wrapper.py @@ -61,7 +61,9 @@ "v0.9.14", "v0.9.13", "v0.9.12", -# "v0.9.11", problematic GetComponentState, may cause crash since we don't implement it + "v0.9.11", + #Interfaces below are not really supported, need handling of texture conversions similar to v0.9.11. But nothing + #is known to use those so far. "v0.9.10", "v0.9.9", "v0.9.8", @@ -244,9 +246,9 @@ "IVRClientCore_Cleanup": lambda ver, abi: abi == 'w', "IVRSystem_GetDXGIOutputInfo": lambda ver, abi: abi == 'w', "IVRSystem_GetOutputDevice": lambda ver, abi: ver > 16, - "IVRCompositor_Submit": lambda ver, abi: ver > 8, + "IVRCompositor_Submit": lambda ver, abi: ver > 7, "IVRCompositor_SubmitWithArrayIndex": lambda ver, abi: ver > 8, - "IVRCompositor_SetSkyboxOverride": lambda ver, abi: ver > 8, + "IVRCompositor_SetSkyboxOverride": lambda ver, abi: ver > 7, "IVRCompositor_PostPresentHandoff": lambda ver, abi: abi == 'w', "IVRCompositor_WaitGetPoses": lambda ver, abi: abi == 'w', "IVRCompositor_GetVulkanDeviceExtensionsRequired": lambda ver, abi: abi == 'u', diff --git a/vrclient_x64/unix_private_generated.h b/vrclient_x64/unix_private_generated.h index e82b24ebe1..7c719df648 100644 --- a/vrclient_x64/unix_private_generated.h +++ b/vrclient_x64/unix_private_generated.h @@ -214,6 +214,11 @@ struct u_IVRRenderModels_IVRRenderModels_001 virtual void FreeRenderModel( u_RenderModel_t_090 * ) = 0; virtual uint32_t GetRenderModelName( uint32_t, char *, uint32_t ) = 0; virtual uint32_t GetRenderModelCount( ) = 0; + virtual uint32_t GetComponentCount( const char * ) = 0; + virtual uint32_t GetComponentName( const char *, uint32_t, char *, uint32_t ) = 0; + virtual uint64_t GetComponentButtonMask( const char *, const char * ) = 0; + virtual uint32_t GetComponentRenderModelName( const char *, const char *, char *, uint32_t ) = 0; + virtual int8_t GetComponentState( const char *, const char *, u_VRControllerState001_t, ComponentState_t * ) = 0; #endif /* __cplusplus */ }; @@ -552,7 +557,7 @@ struct u_IVRCompositor_IVRCompositor_008 virtual uint32_t WaitGetPoses( TrackedDevicePose_t *, uint32_t, TrackedDevicePose_t *, uint32_t ) = 0; virtual uint32_t Submit( uint32_t, uint32_t, void *, const VRTextureBounds_t *, uint32_t ) = 0; virtual void ClearLastSubmittedFrame( ) = 0; - virtual int8_t GetFrameTiming( u_Compositor_FrameTiming_093 *, uint32_t ) = 0; + virtual int8_t GetFrameTiming( u_Compositor_FrameTiming_0911 *, uint32_t ) = 0; virtual void FadeToColor( float, float, float, float, float, int8_t ) = 0; virtual void FadeGrid( float, int8_t ) = 0; virtual void SetSkyboxOverride( uint32_t, void *, void *, void *, void *, void *, void * ) = 0; @@ -570,6 +575,8 @@ struct u_IVRCompositor_IVRCompositor_008 virtual void CompositorDumpImages( ) = 0; virtual float GetFrameTimeRemaining( ) = 0; virtual uint32_t GetLastFrameRenderer( ) = 0; + virtual uint32_t GetLastPoses( TrackedDevicePose_t *, uint32_t, TrackedDevicePose_t *, uint32_t ) = 0; + virtual void PostPresentHandoff( ) = 0; #endif /* __cplusplus */ }; @@ -631,6 +638,156 @@ struct u_IVROverlay_IVROverlay_005 #endif /* __cplusplus */ }; +struct u_IVRSystem_IVRSystem_007 +{ +#ifdef __cplusplus + virtual void GetWindowBounds( int32_t *, int32_t *, uint32_t *, uint32_t * ) = 0; + virtual void GetRecommendedRenderTargetSize( uint32_t *, uint32_t * ) = 0; + virtual void GetEyeOutputViewport( uint32_t, uint32_t *, uint32_t *, uint32_t *, uint32_t * ) = 0; + virtual HmdMatrix44_t GetProjectionMatrix( uint32_t, float, float, uint32_t ) = 0; + virtual void GetProjectionRaw( uint32_t, float *, float *, float *, float * ) = 0; + virtual DistortionCoordinates_t ComputeDistortion( uint32_t, float, float ) = 0; + virtual HmdMatrix34_t GetEyeToHeadTransform( uint32_t ) = 0; + virtual int8_t GetTimeSinceLastVsync( float *, uint64_t * ) = 0; + virtual int32_t GetD3D9AdapterIndex( ) = 0; + virtual void GetDXGIOutputInfo( int32_t *, int32_t * ) = 0; + virtual int8_t AttachToWindow( void * ) = 0; + virtual void GetDeviceToAbsoluteTrackingPose( uint32_t, float, TrackedDevicePose_t *, uint32_t ) = 0; + virtual void ResetSeatedZeroPose( ) = 0; + virtual HmdMatrix34_t GetSeatedZeroPoseToStandingAbsoluteTrackingPose( ) = 0; + virtual HmdMatrix34_t GetRawZeroPoseToStandingAbsoluteTrackingPose( ) = 0; + virtual uint32_t GetSortedTrackedDeviceIndicesOfClass( uint32_t, uint32_t *, uint32_t, uint32_t ) = 0; + virtual uint32_t GetTrackedDeviceActivityLevel( uint32_t ) = 0; + virtual void ApplyTransform( TrackedDevicePose_t *, const TrackedDevicePose_t *, const HmdMatrix34_t * ) = 0; + virtual uint32_t GetTrackedDeviceClass( uint32_t ) = 0; + virtual int8_t IsTrackedDeviceConnected( uint32_t ) = 0; + virtual int8_t GetBoolTrackedDeviceProperty( uint32_t, uint32_t, uint32_t * ) = 0; + virtual float GetFloatTrackedDeviceProperty( uint32_t, uint32_t, uint32_t * ) = 0; + virtual int32_t GetInt32TrackedDeviceProperty( uint32_t, uint32_t, uint32_t * ) = 0; + virtual uint64_t GetUint64TrackedDeviceProperty( uint32_t, uint32_t, uint32_t * ) = 0; + virtual HmdMatrix34_t GetMatrix34TrackedDeviceProperty( uint32_t, uint32_t, uint32_t * ) = 0; + virtual uint32_t GetStringTrackedDeviceProperty( uint32_t, uint32_t, char *, uint32_t, uint32_t * ) = 0; + virtual const char * GetPropErrorNameFromEnum( uint32_t ) = 0; + virtual int8_t PollNextEvent( u_VREvent_t_0911 * ) = 0; + virtual int8_t PollNextEventWithPose( uint32_t, u_VREvent_t_0911 *, TrackedDevicePose_t * ) = 0; + virtual const char * GetEventTypeNameFromEnum( uint32_t ) = 0; + virtual u_HiddenAreaMesh_t GetHiddenAreaMesh( uint32_t ) = 0; + virtual int8_t GetControllerState( uint32_t, u_VRControllerState001_t * ) = 0; + virtual int8_t GetControllerStateWithPose( uint32_t, uint32_t, u_VRControllerState001_t *, TrackedDevicePose_t * ) = 0; + virtual void TriggerHapticPulse( uint32_t, uint32_t, uint16_t ) = 0; + virtual const char * GetButtonIdNameFromEnum( uint32_t ) = 0; + virtual const char * GetControllerAxisTypeNameFromEnum( uint32_t ) = 0; + virtual int8_t CaptureInputFocus( ) = 0; + virtual void ReleaseInputFocus( ) = 0; + virtual int8_t IsInputFocusCapturedByAnotherProcess( ) = 0; + virtual uint32_t DriverDebugRequest( uint32_t, const char *, char *, uint32_t ) = 0; + virtual uint32_t PerformFirmwareUpdate( uint32_t ) = 0; + virtual int8_t IsDisplayOnDesktop( ) = 0; + virtual int8_t SetDisplayVisibility( int8_t ) = 0; +#endif /* __cplusplus */ +}; + +struct u_IVRChaperone_IVRChaperone_003 +{ +#ifdef __cplusplus + virtual uint32_t GetCalibrationState( ) = 0; + virtual int8_t GetPlayAreaSize( float *, float * ) = 0; + virtual int8_t GetPlayAreaRect( HmdQuad_t * ) = 0; + virtual void ReloadInfo( ) = 0; + virtual void SetSceneColor( HmdColor_t ) = 0; + virtual void GetBoundsColor( HmdColor_t *, int32_t, float, HmdColor_t * ) = 0; + virtual int8_t AreBoundsVisible( ) = 0; + virtual void ForceBoundsVisible( int8_t ) = 0; +#endif /* __cplusplus */ +}; + +struct u_IVROverlay_IVROverlay_006 +{ +#ifdef __cplusplus + virtual uint32_t FindOverlay( const char *, uint64_t * ) = 0; + virtual uint32_t CreateOverlay( const char *, const char *, uint64_t * ) = 0; + virtual uint32_t DestroyOverlay( uint64_t ) = 0; + virtual uint32_t SetHighQualityOverlay( uint64_t ) = 0; + virtual uint64_t GetHighQualityOverlay( ) = 0; + virtual uint32_t GetOverlayKey( uint64_t, char *, uint32_t, uint32_t * ) = 0; + virtual uint32_t GetOverlayName( uint64_t, char *, uint32_t, uint32_t * ) = 0; + virtual uint32_t GetOverlayImageData( uint64_t, void *, uint32_t, uint32_t *, uint32_t * ) = 0; + virtual const char * GetOverlayErrorNameFromEnum( uint32_t ) = 0; + virtual uint32_t SetOverlayFlag( uint64_t, uint32_t, int8_t ) = 0; + virtual uint32_t GetOverlayFlag( uint64_t, uint32_t, int8_t * ) = 0; + virtual uint32_t SetOverlayColor( uint64_t, float, float, float ) = 0; + virtual uint32_t GetOverlayColor( uint64_t, float *, float *, float * ) = 0; + virtual uint32_t SetOverlayAlpha( uint64_t, float ) = 0; + virtual uint32_t GetOverlayAlpha( uint64_t, float * ) = 0; + virtual uint32_t SetOverlayGamma( uint64_t, float ) = 0; + virtual uint32_t GetOverlayGamma( uint64_t, float * ) = 0; + virtual uint32_t SetOverlayWidthInMeters( uint64_t, float ) = 0; + virtual uint32_t GetOverlayWidthInMeters( uint64_t, float * ) = 0; + virtual uint32_t SetOverlayAutoCurveDistanceRangeInMeters( uint64_t, float, float ) = 0; + virtual uint32_t GetOverlayAutoCurveDistanceRangeInMeters( uint64_t, float *, float * ) = 0; + virtual uint32_t SetOverlayTextureBounds( uint64_t, const VRTextureBounds_t * ) = 0; + virtual uint32_t GetOverlayTextureBounds( uint64_t, VRTextureBounds_t * ) = 0; + virtual uint32_t GetOverlayTransformType( uint64_t, uint32_t * ) = 0; + virtual uint32_t SetOverlayTransformAbsolute( uint64_t, uint32_t, const HmdMatrix34_t * ) = 0; + virtual uint32_t GetOverlayTransformAbsolute( uint64_t, uint32_t *, HmdMatrix34_t * ) = 0; + virtual uint32_t SetOverlayTransformTrackedDeviceRelative( uint64_t, uint32_t, const HmdMatrix34_t * ) = 0; + virtual uint32_t GetOverlayTransformTrackedDeviceRelative( uint64_t, uint32_t *, HmdMatrix34_t * ) = 0; + virtual uint32_t ShowOverlay( uint64_t ) = 0; + virtual uint32_t HideOverlay( uint64_t ) = 0; + virtual int8_t IsOverlayVisible( uint64_t ) = 0; + virtual int8_t PollNextOverlayEvent( uint64_t, u_VREvent_t_0911 * ) = 0; + virtual uint32_t GetOverlayInputMethod( uint64_t, uint32_t * ) = 0; + virtual uint32_t SetOverlayInputMethod( uint64_t, uint32_t ) = 0; + virtual uint32_t GetOverlayMouseScale( uint64_t, HmdVector2_t * ) = 0; + virtual uint32_t SetOverlayMouseScale( uint64_t, const HmdVector2_t * ) = 0; + virtual int8_t ComputeOverlayIntersection( uint64_t, const VROverlayIntersectionParams_t *, VROverlayIntersectionResults_t * ) = 0; + virtual int8_t HandleControllerOverlayInteractionAsMouse( uint64_t, uint32_t ) = 0; + virtual int8_t IsHoverTargetOverlay( uint64_t ) = 0; + virtual uint64_t GetGamepadFocusOverlay( ) = 0; + virtual uint32_t SetGamepadFocusOverlay( uint64_t ) = 0; + virtual uint32_t SetOverlayNeighbor( uint32_t, uint64_t, uint64_t ) = 0; + virtual uint32_t MoveGamepadFocusToNeighbor( uint32_t, uint64_t ) = 0; + virtual uint32_t SetOverlayTexture( uint64_t, uint32_t, void * ) = 0; + virtual uint32_t ClearOverlayTexture( uint64_t ) = 0; + virtual uint32_t SetOverlayRaw( uint64_t, void *, uint32_t, uint32_t, uint32_t ) = 0; + virtual uint32_t SetOverlayFromFile( uint64_t, const char * ) = 0; + virtual uint32_t CreateDashboardOverlay( const char *, const char *, uint64_t *, uint64_t * ) = 0; + virtual int8_t IsDashboardVisible( ) = 0; + virtual int8_t IsActiveDashboardOverlay( uint64_t ) = 0; + virtual uint32_t SetDashboardOverlaySceneProcess( uint64_t, uint32_t ) = 0; + virtual uint32_t GetDashboardOverlaySceneProcess( uint64_t, uint32_t * ) = 0; + virtual void ShowDashboard( const char * ) = 0; + virtual uint32_t ShowKeyboard( uint32_t, uint32_t, const char *, uint32_t, const char *, int8_t, uint64_t ) = 0; + virtual uint32_t ShowKeyboardForOverlay( uint64_t, uint32_t, uint32_t, const char *, uint32_t, const char *, int8_t, uint64_t ) = 0; + virtual uint32_t GetKeyboardText( char *, uint32_t ) = 0; + virtual void HideKeyboard( ) = 0; +#endif /* __cplusplus */ +}; + +struct u_IVRTrackedCamera_IVRTrackedCamera_001 +{ +#ifdef __cplusplus + virtual int8_t HasCamera( uint32_t ) = 0; + virtual int8_t GetCameraFirmwareDescription( uint32_t, char *, uint32_t ) = 0; + virtual int8_t GetCameraFrameDimensions( uint32_t, uint32_t, uint32_t *, uint32_t * ) = 0; + virtual int8_t SetCameraVideoStreamFormat( uint32_t, uint32_t ) = 0; + virtual uint32_t GetCameraVideoStreamFormat( uint32_t ) = 0; + virtual int8_t EnableCameraForStreaming( uint32_t, int8_t ) = 0; + virtual int8_t StartVideoStream( uint32_t ) = 0; + virtual int8_t StopVideoStream( uint32_t ) = 0; + virtual int8_t IsVideoStreamActive( uint32_t ) = 0; + virtual float GetVideoStreamElapsedTime( uint32_t ) = 0; + virtual const u_CameraVideoStreamFrame_t_0914 * GetVideoStreamFrame( uint32_t ) = 0; + virtual int8_t ReleaseVideoStreamFrame( uint32_t, const u_CameraVideoStreamFrame_t_0914 * ) = 0; + virtual int8_t SetAutoExposure( uint32_t, int8_t ) = 0; + virtual int8_t PauseVideoStream( uint32_t ) = 0; + virtual int8_t ResumeVideoStream( uint32_t ) = 0; + virtual int8_t IsVideoStreamPaused( uint32_t ) = 0; + virtual int8_t GetCameraDistortion( uint32_t, float, float, float *, float * ) = 0; + virtual int8_t GetCameraProjection( uint32_t, float, float, float, float, HmdMatrix44_t * ) = 0; +#endif /* __cplusplus */ +}; + struct u_IVRSystem_IVRSystem_009 { #ifdef __cplusplus @@ -705,20 +862,6 @@ struct u_IVRApplications_IVRApplications_002 #endif /* __cplusplus */ }; -struct u_IVRChaperone_IVRChaperone_003 -{ -#ifdef __cplusplus - virtual uint32_t GetCalibrationState( ) = 0; - virtual int8_t GetPlayAreaSize( float *, float * ) = 0; - virtual int8_t GetPlayAreaRect( HmdQuad_t * ) = 0; - virtual void ReloadInfo( ) = 0; - virtual void SetSceneColor( HmdColor_t ) = 0; - virtual void GetBoundsColor( HmdColor_t *, int32_t, float, HmdColor_t * ) = 0; - virtual int8_t AreBoundsVisible( ) = 0; - virtual void ForceBoundsVisible( int8_t ) = 0; -#endif /* __cplusplus */ -}; - struct u_IVRChaperoneSetup_IVRChaperoneSetup_004 { #ifdef __cplusplus @@ -860,30 +1003,6 @@ struct u_IVRRenderModels_IVRRenderModels_002 #endif /* __cplusplus */ }; -struct u_IVRTrackedCamera_IVRTrackedCamera_001 -{ -#ifdef __cplusplus - virtual int8_t HasCamera( uint32_t ) = 0; - virtual int8_t GetCameraFirmwareDescription( uint32_t, char *, uint32_t ) = 0; - virtual int8_t GetCameraFrameDimensions( uint32_t, uint32_t, uint32_t *, uint32_t * ) = 0; - virtual int8_t SetCameraVideoStreamFormat( uint32_t, uint32_t ) = 0; - virtual uint32_t GetCameraVideoStreamFormat( uint32_t ) = 0; - virtual int8_t EnableCameraForStreaming( uint32_t, int8_t ) = 0; - virtual int8_t StartVideoStream( uint32_t ) = 0; - virtual int8_t StopVideoStream( uint32_t ) = 0; - virtual int8_t IsVideoStreamActive( uint32_t ) = 0; - virtual float GetVideoStreamElapsedTime( uint32_t ) = 0; - virtual const u_CameraVideoStreamFrame_t_0914 * GetVideoStreamFrame( uint32_t ) = 0; - virtual int8_t ReleaseVideoStreamFrame( uint32_t, const u_CameraVideoStreamFrame_t_0914 * ) = 0; - virtual int8_t SetAutoExposure( uint32_t, int8_t ) = 0; - virtual int8_t PauseVideoStream( uint32_t ) = 0; - virtual int8_t ResumeVideoStream( uint32_t ) = 0; - virtual int8_t IsVideoStreamPaused( uint32_t ) = 0; - virtual int8_t GetCameraDistortion( uint32_t, float, float, float *, float * ) = 0; - virtual int8_t GetCameraProjection( uint32_t, float, float, float, float, HmdMatrix44_t * ) = 0; -#endif /* __cplusplus */ -}; - struct u_IVRExtendedDisplay_IVRExtendedDisplay_001 { #ifdef __cplusplus @@ -5264,6 +5383,10 @@ NTSTATUS IVRCompositor_IVRCompositor_008_GetFrameTimeRemaining( void * ); NTSTATUS wow64_IVRCompositor_IVRCompositor_008_GetFrameTimeRemaining( void * ); NTSTATUS IVRCompositor_IVRCompositor_008_GetLastFrameRenderer( void * ); NTSTATUS wow64_IVRCompositor_IVRCompositor_008_GetLastFrameRenderer( void * ); +NTSTATUS IVRCompositor_IVRCompositor_008_GetLastPoses( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_008_GetLastPoses( void * ); +NTSTATUS IVRCompositor_IVRCompositor_008_PostPresentHandoff( void * ); +NTSTATUS wow64_IVRCompositor_IVRCompositor_008_PostPresentHandoff( void * ); NTSTATUS IVRCompositor_IVRCompositor_009_SetTrackingSpace( void * ); NTSTATUS wow64_IVRCompositor_IVRCompositor_009_SetTrackingSpace( void * ); NTSTATUS IVRCompositor_IVRCompositor_009_GetTrackingSpace( void * ); @@ -7598,6 +7721,120 @@ NTSTATUS IVROverlay_IVROverlay_005_GetKeyboardText( void * ); NTSTATUS wow64_IVROverlay_IVROverlay_005_GetKeyboardText( void * ); NTSTATUS IVROverlay_IVROverlay_005_HideKeyboard( void * ); NTSTATUS wow64_IVROverlay_IVROverlay_005_HideKeyboard( void * ); +NTSTATUS IVROverlay_IVROverlay_006_FindOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_FindOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_006_CreateOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_CreateOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_006_DestroyOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_DestroyOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_006_SetHighQualityOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetHighQualityOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_006_GetHighQualityOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetHighQualityOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayKey( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayKey( void * ); +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayName( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayName( void * ); +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayImageData( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayImageData( void * ); +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayErrorNameFromEnum( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayErrorNameFromEnum( void * ); +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayFlag( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayFlag( void * ); +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayFlag( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayFlag( void * ); +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayColor( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayColor( void * ); +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayColor( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayColor( void * ); +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayAlpha( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayAlpha( void * ); +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayAlpha( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayAlpha( void * ); +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayGamma( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayGamma( void * ); +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayGamma( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayGamma( void * ); +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayWidthInMeters( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayWidthInMeters( void * ); +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayWidthInMeters( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayWidthInMeters( void * ); +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayAutoCurveDistanceRangeInMeters( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayAutoCurveDistanceRangeInMeters( void * ); +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayAutoCurveDistanceRangeInMeters( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayAutoCurveDistanceRangeInMeters( void * ); +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayTextureBounds( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayTextureBounds( void * ); +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayTextureBounds( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayTextureBounds( void * ); +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayTransformType( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayTransformType( void * ); +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayTransformAbsolute( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayTransformAbsolute( void * ); +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayTransformAbsolute( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayTransformAbsolute( void * ); +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayTransformTrackedDeviceRelative( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayTransformTrackedDeviceRelative( void * ); +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayTransformTrackedDeviceRelative( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayTransformTrackedDeviceRelative( void * ); +NTSTATUS IVROverlay_IVROverlay_006_ShowOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_ShowOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_006_HideOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_HideOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_006_IsOverlayVisible( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_IsOverlayVisible( void * ); +NTSTATUS IVROverlay_IVROverlay_006_PollNextOverlayEvent( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_PollNextOverlayEvent( void * ); +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayInputMethod( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayInputMethod( void * ); +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayInputMethod( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayInputMethod( void * ); +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayMouseScale( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayMouseScale( void * ); +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayMouseScale( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayMouseScale( void * ); +NTSTATUS IVROverlay_IVROverlay_006_ComputeOverlayIntersection( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_ComputeOverlayIntersection( void * ); +NTSTATUS IVROverlay_IVROverlay_006_HandleControllerOverlayInteractionAsMouse( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_HandleControllerOverlayInteractionAsMouse( void * ); +NTSTATUS IVROverlay_IVROverlay_006_IsHoverTargetOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_IsHoverTargetOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_006_GetGamepadFocusOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetGamepadFocusOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_006_SetGamepadFocusOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetGamepadFocusOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayNeighbor( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayNeighbor( void * ); +NTSTATUS IVROverlay_IVROverlay_006_MoveGamepadFocusToNeighbor( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_MoveGamepadFocusToNeighbor( void * ); +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayTexture( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayTexture( void * ); +NTSTATUS IVROverlay_IVROverlay_006_ClearOverlayTexture( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_ClearOverlayTexture( void * ); +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayRaw( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayRaw( void * ); +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayFromFile( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayFromFile( void * ); +NTSTATUS IVROverlay_IVROverlay_006_CreateDashboardOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_CreateDashboardOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_006_IsDashboardVisible( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_IsDashboardVisible( void * ); +NTSTATUS IVROverlay_IVROverlay_006_IsActiveDashboardOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_IsActiveDashboardOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_006_SetDashboardOverlaySceneProcess( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetDashboardOverlaySceneProcess( void * ); +NTSTATUS IVROverlay_IVROverlay_006_GetDashboardOverlaySceneProcess( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetDashboardOverlaySceneProcess( void * ); +NTSTATUS IVROverlay_IVROverlay_006_ShowDashboard( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_ShowDashboard( void * ); +NTSTATUS IVROverlay_IVROverlay_006_ShowKeyboard( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_ShowKeyboard( void * ); +NTSTATUS IVROverlay_IVROverlay_006_ShowKeyboardForOverlay( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_ShowKeyboardForOverlay( void * ); +NTSTATUS IVROverlay_IVROverlay_006_GetKeyboardText( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetKeyboardText( void * ); +NTSTATUS IVROverlay_IVROverlay_006_HideKeyboard( void * ); +NTSTATUS wow64_IVROverlay_IVROverlay_006_HideKeyboard( void * ); NTSTATUS IVROverlay_IVROverlay_007_FindOverlay( void * ); NTSTATUS wow64_IVROverlay_IVROverlay_007_FindOverlay( void * ); NTSTATUS IVROverlay_IVROverlay_007_CreateOverlay( void * ); @@ -10466,6 +10703,16 @@ NTSTATUS IVRRenderModels_IVRRenderModels_001_GetRenderModelName( void * ); NTSTATUS wow64_IVRRenderModels_IVRRenderModels_001_GetRenderModelName( void * ); NTSTATUS IVRRenderModels_IVRRenderModels_001_GetRenderModelCount( void * ); NTSTATUS wow64_IVRRenderModels_IVRRenderModels_001_GetRenderModelCount( void * ); +NTSTATUS IVRRenderModels_IVRRenderModels_001_GetComponentCount( void * ); +NTSTATUS wow64_IVRRenderModels_IVRRenderModels_001_GetComponentCount( void * ); +NTSTATUS IVRRenderModels_IVRRenderModels_001_GetComponentName( void * ); +NTSTATUS wow64_IVRRenderModels_IVRRenderModels_001_GetComponentName( void * ); +NTSTATUS IVRRenderModels_IVRRenderModels_001_GetComponentButtonMask( void * ); +NTSTATUS wow64_IVRRenderModels_IVRRenderModels_001_GetComponentButtonMask( void * ); +NTSTATUS IVRRenderModels_IVRRenderModels_001_GetComponentRenderModelName( void * ); +NTSTATUS wow64_IVRRenderModels_IVRRenderModels_001_GetComponentRenderModelName( void * ); +NTSTATUS IVRRenderModels_IVRRenderModels_001_GetComponentState( void * ); +NTSTATUS wow64_IVRRenderModels_IVRRenderModels_001_GetComponentState( void * ); NTSTATUS IVRRenderModels_IVRRenderModels_002_LoadRenderModel( void * ); NTSTATUS wow64_IVRRenderModels_IVRRenderModels_002_LoadRenderModel( void * ); NTSTATUS IVRRenderModels_IVRRenderModels_002_FreeRenderModel( void * ); @@ -10986,6 +11233,92 @@ NTSTATUS IVRSystem_IVRSystem_006_IsDisplayOnDesktop( void * ); NTSTATUS wow64_IVRSystem_IVRSystem_006_IsDisplayOnDesktop( void * ); NTSTATUS IVRSystem_IVRSystem_006_SetDisplayVisibility( void * ); NTSTATUS wow64_IVRSystem_IVRSystem_006_SetDisplayVisibility( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetWindowBounds( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetWindowBounds( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetRecommendedRenderTargetSize( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetRecommendedRenderTargetSize( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetEyeOutputViewport( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetEyeOutputViewport( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetProjectionMatrix( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetProjectionMatrix( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetProjectionRaw( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetProjectionRaw( void * ); +NTSTATUS IVRSystem_IVRSystem_007_ComputeDistortion( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_ComputeDistortion( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetEyeToHeadTransform( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetEyeToHeadTransform( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetTimeSinceLastVsync( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetTimeSinceLastVsync( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetD3D9AdapterIndex( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetD3D9AdapterIndex( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetDXGIOutputInfo( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetDXGIOutputInfo( void * ); +NTSTATUS IVRSystem_IVRSystem_007_AttachToWindow( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_AttachToWindow( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetDeviceToAbsoluteTrackingPose( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetDeviceToAbsoluteTrackingPose( void * ); +NTSTATUS IVRSystem_IVRSystem_007_ResetSeatedZeroPose( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_ResetSeatedZeroPose( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetSeatedZeroPoseToStandingAbsoluteTrackingPose( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetSeatedZeroPoseToStandingAbsoluteTrackingPose( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetRawZeroPoseToStandingAbsoluteTrackingPose( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetRawZeroPoseToStandingAbsoluteTrackingPose( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetSortedTrackedDeviceIndicesOfClass( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetSortedTrackedDeviceIndicesOfClass( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetTrackedDeviceActivityLevel( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetTrackedDeviceActivityLevel( void * ); +NTSTATUS IVRSystem_IVRSystem_007_ApplyTransform( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_ApplyTransform( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetTrackedDeviceClass( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetTrackedDeviceClass( void * ); +NTSTATUS IVRSystem_IVRSystem_007_IsTrackedDeviceConnected( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_IsTrackedDeviceConnected( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetBoolTrackedDeviceProperty( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetBoolTrackedDeviceProperty( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetFloatTrackedDeviceProperty( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetFloatTrackedDeviceProperty( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetInt32TrackedDeviceProperty( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetInt32TrackedDeviceProperty( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetUint64TrackedDeviceProperty( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetUint64TrackedDeviceProperty( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetMatrix34TrackedDeviceProperty( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetMatrix34TrackedDeviceProperty( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetStringTrackedDeviceProperty( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetStringTrackedDeviceProperty( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetPropErrorNameFromEnum( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetPropErrorNameFromEnum( void * ); +NTSTATUS IVRSystem_IVRSystem_007_PollNextEvent( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_PollNextEvent( void * ); +NTSTATUS IVRSystem_IVRSystem_007_PollNextEventWithPose( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_PollNextEventWithPose( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetEventTypeNameFromEnum( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetEventTypeNameFromEnum( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetHiddenAreaMesh( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetHiddenAreaMesh( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetControllerState( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetControllerState( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetControllerStateWithPose( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetControllerStateWithPose( void * ); +NTSTATUS IVRSystem_IVRSystem_007_TriggerHapticPulse( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_TriggerHapticPulse( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetButtonIdNameFromEnum( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetButtonIdNameFromEnum( void * ); +NTSTATUS IVRSystem_IVRSystem_007_GetControllerAxisTypeNameFromEnum( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetControllerAxisTypeNameFromEnum( void * ); +NTSTATUS IVRSystem_IVRSystem_007_CaptureInputFocus( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_CaptureInputFocus( void * ); +NTSTATUS IVRSystem_IVRSystem_007_ReleaseInputFocus( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_ReleaseInputFocus( void * ); +NTSTATUS IVRSystem_IVRSystem_007_IsInputFocusCapturedByAnotherProcess( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_IsInputFocusCapturedByAnotherProcess( void * ); +NTSTATUS IVRSystem_IVRSystem_007_DriverDebugRequest( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_DriverDebugRequest( void * ); +NTSTATUS IVRSystem_IVRSystem_007_PerformFirmwareUpdate( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_PerformFirmwareUpdate( void * ); +NTSTATUS IVRSystem_IVRSystem_007_IsDisplayOnDesktop( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_IsDisplayOnDesktop( void * ); +NTSTATUS IVRSystem_IVRSystem_007_SetDisplayVisibility( void * ); +NTSTATUS wow64_IVRSystem_IVRSystem_007_SetDisplayVisibility( void * ); NTSTATUS IVRSystem_IVRSystem_009_GetRecommendedRenderTargetSize( void * ); NTSTATUS wow64_IVRSystem_IVRSystem_009_GetRecommendedRenderTargetSize( void * ); NTSTATUS IVRSystem_IVRSystem_009_GetProjectionMatrix( void * ); diff --git a/vrclient_x64/unix_vrcompositor_manual.cpp b/vrclient_x64/unix_vrcompositor_manual.cpp index 7c010488ff..7b942620c0 100644 --- a/vrclient_x64/unix_vrcompositor_manual.cpp +++ b/vrclient_x64/unix_vrcompositor_manual.cpp @@ -203,6 +203,30 @@ static NTSTATUS IVRCompositor_GetVulkanDeviceExtensionsRequired( Iface *iface, P return 0; } +template< typename Params > +static NTSTATUS IVRCompositor_SetSkyboxOverride( struct u_IVRCompositor_IVRCompositor_008 *iface, Params *params, bool wow64 ) +{ + u_VRVulkanTextureArrayData_t d_front, d_back, d_left, d_right, d_top, d_bottom; + u_Texture_t front, back, left, right, top, bottom; + w_Texture_t w_front = { .handle = params->pFront, .eType = params->eTextureType }; + w_Texture_t w_back = { .handle = params->pBack, .eType = params->eTextureType }; + w_Texture_t w_left = { .handle = params->pLeft, .eType = params->eTextureType }; + w_Texture_t w_right = { .handle = params->pRight, .eType = params->eTextureType }; + w_Texture_t w_top = { .handle = params->pTop, .eType = params->eTextureType }; + w_Texture_t w_bottom = { .handle = params->pBottom, .eType = params->eTextureType }; + + unwrap_texture( &front, &w_front, 0, &d_front ); + unwrap_texture( &back, &w_back, 0, &d_back ); + unwrap_texture( &left, &w_left, 0, &d_left ); + unwrap_texture( &right, &w_right, 0, &d_right ); + unwrap_texture( &top, &w_top, 0, &d_top ); + unwrap_texture( &bottom, &w_bottom, 0, &d_bottom ); + + iface->SetSkyboxOverride( params->eTextureType, front.handle, back.handle, left.handle, right.handle, + top.handle, bottom.handle ); + return 0; +} + template< typename Iface, typename Params > static NTSTATUS IVRCompositor_SetSkyboxOverride( Iface *iface, Params *params, bool wow64 ) { @@ -218,6 +242,23 @@ static NTSTATUS IVRCompositor_SetSkyboxOverride( Iface *iface, Params *params, b return 0; } +template< typename Params > +static NTSTATUS IVRCompositor_Submit( struct u_IVRCompositor_IVRCompositor_008 *iface, Params *params, bool wow64 ) +{ + u_VRTextureWithPoseAndDepth_t u_texture; + u_VRVulkanTextureData_t u_depth_vkdata; + u_VRVulkanTextureArrayData_t u_vkdata; + w_Texture_t texture = + { + .handle = params->pTexture, + .eType = params->eTextureType, + }; + u_Texture_t *submit = unwrap_submit_texture_data( &texture, params->nSubmitFlags, + &u_texture, &u_vkdata, &u_depth_vkdata ); + params->_ret = (uint32_t)iface->Submit( params->eEye, submit->eType, submit->handle, params->pBounds, params->nSubmitFlags ); + return 0; +} + template< typename Iface, typename Params > static NTSTATUS IVRCompositor_Submit( Iface *iface, Params *params, bool wow64 ) { @@ -250,6 +291,8 @@ static NTSTATUS IVRCompositor_GetSubmitTexture( Iface *iface, Params *params, bo return 0; } +VRCLIENT_UNIX_IMPL( IVRCompositor, 008, SetSkyboxOverride ); +VRCLIENT_UNIX_IMPL( IVRCompositor, 008, Submit ); VRCLIENT_UNIX_IMPL( IVRCompositor, 009, SetSkyboxOverride ); VRCLIENT_UNIX_IMPL( IVRCompositor, 009, Submit ); VRCLIENT_UNIX_IMPL( IVRCompositor, 010, SetSkyboxOverride ); diff --git a/vrclient_x64/unix_vroverlay_manual.cpp b/vrclient_x64/unix_vroverlay_manual.cpp index 897b679faa..8896ef3f7d 100644 --- a/vrclient_x64/unix_vroverlay_manual.cpp +++ b/vrclient_x64/unix_vroverlay_manual.cpp @@ -60,6 +60,21 @@ static NTSTATUS IVROverlay_SetOverlayTexture( Iface *iface, Params *params, bool return 0; } +template< typename Params > +static NTSTATUS IVROverlay_SetOverlayTexture( u_IVROverlay_IVROverlay_006 *iface, Params *params, bool wow64 ) +{ + w_Texture_t texture = + { + .handle = params->pTexture, + .eType = params->eTextureType, + }; + u_VRVulkanTextureData_t u_vkdata; + u_Texture_t host_texture = unwrap_texture_data( &texture, &u_vkdata ); + + params->_ret = (uint32_t)iface->SetOverlayTexture( params->ulOverlayHandle, host_texture.eType, host_texture.handle ); + return 0; +} + template< typename Iface, typename Params > static NTSTATUS IVROverlay_SetOverlayTexture( Iface *iface, Params *params, bool wow64 ) { @@ -75,6 +90,7 @@ VRCLIENT_UNIX_IMPL( IVROverlay, 002, SetOverlayTexture, false ); VRCLIENT_UNIX_IMPL( IVROverlay, 003, SetOverlayTexture, false ); VRCLIENT_UNIX_IMPL( IVROverlay, 004, SetOverlayTexture, false ); VRCLIENT_UNIX_IMPL( IVROverlay, 005, SetOverlayTexture, false ); +VRCLIENT_UNIX_IMPL( IVROverlay, 006, SetOverlayTexture ); VRCLIENT_UNIX_IMPL( IVROverlay, 007, SetOverlayTexture ); VRCLIENT_UNIX_IMPL( IVROverlay, 008, SetOverlayTexture ); VRCLIENT_UNIX_IMPL( IVROverlay, 010, SetOverlayTexture ); diff --git a/vrclient_x64/unixlib_generated.cpp b/vrclient_x64/unixlib_generated.cpp index 309bade125..5f7d293483 100644 --- a/vrclient_x64/unixlib_generated.cpp +++ b/vrclient_x64/unixlib_generated.cpp @@ -368,6 +368,8 @@ extern "C" const unixlib_entry_t __wine_unix_call_funcs[] = IVRCompositor_IVRCompositor_008_CompositorDumpImages, IVRCompositor_IVRCompositor_008_GetFrameTimeRemaining, IVRCompositor_IVRCompositor_008_GetLastFrameRenderer, + IVRCompositor_IVRCompositor_008_GetLastPoses, + IVRCompositor_IVRCompositor_008_PostPresentHandoff, IVRCompositor_IVRCompositor_009_SetTrackingSpace, IVRCompositor_IVRCompositor_009_GetTrackingSpace, IVRCompositor_IVRCompositor_009_WaitGetPoses, @@ -1535,6 +1537,63 @@ extern "C" const unixlib_entry_t __wine_unix_call_funcs[] = IVROverlay_IVROverlay_005_ShowKeyboard, IVROverlay_IVROverlay_005_GetKeyboardText, IVROverlay_IVROverlay_005_HideKeyboard, + IVROverlay_IVROverlay_006_FindOverlay, + IVROverlay_IVROverlay_006_CreateOverlay, + IVROverlay_IVROverlay_006_DestroyOverlay, + IVROverlay_IVROverlay_006_SetHighQualityOverlay, + IVROverlay_IVROverlay_006_GetHighQualityOverlay, + IVROverlay_IVROverlay_006_GetOverlayKey, + IVROverlay_IVROverlay_006_GetOverlayName, + IVROverlay_IVROverlay_006_GetOverlayImageData, + IVROverlay_IVROverlay_006_GetOverlayErrorNameFromEnum, + IVROverlay_IVROverlay_006_SetOverlayFlag, + IVROverlay_IVROverlay_006_GetOverlayFlag, + IVROverlay_IVROverlay_006_SetOverlayColor, + IVROverlay_IVROverlay_006_GetOverlayColor, + IVROverlay_IVROverlay_006_SetOverlayAlpha, + IVROverlay_IVROverlay_006_GetOverlayAlpha, + IVROverlay_IVROverlay_006_SetOverlayGamma, + IVROverlay_IVROverlay_006_GetOverlayGamma, + IVROverlay_IVROverlay_006_SetOverlayWidthInMeters, + IVROverlay_IVROverlay_006_GetOverlayWidthInMeters, + IVROverlay_IVROverlay_006_SetOverlayAutoCurveDistanceRangeInMeters, + IVROverlay_IVROverlay_006_GetOverlayAutoCurveDistanceRangeInMeters, + IVROverlay_IVROverlay_006_SetOverlayTextureBounds, + IVROverlay_IVROverlay_006_GetOverlayTextureBounds, + IVROverlay_IVROverlay_006_GetOverlayTransformType, + IVROverlay_IVROverlay_006_SetOverlayTransformAbsolute, + IVROverlay_IVROverlay_006_GetOverlayTransformAbsolute, + IVROverlay_IVROverlay_006_SetOverlayTransformTrackedDeviceRelative, + IVROverlay_IVROverlay_006_GetOverlayTransformTrackedDeviceRelative, + IVROverlay_IVROverlay_006_ShowOverlay, + IVROverlay_IVROverlay_006_HideOverlay, + IVROverlay_IVROverlay_006_IsOverlayVisible, + IVROverlay_IVROverlay_006_PollNextOverlayEvent, + IVROverlay_IVROverlay_006_GetOverlayInputMethod, + IVROverlay_IVROverlay_006_SetOverlayInputMethod, + IVROverlay_IVROverlay_006_GetOverlayMouseScale, + IVROverlay_IVROverlay_006_SetOverlayMouseScale, + IVROverlay_IVROverlay_006_ComputeOverlayIntersection, + IVROverlay_IVROverlay_006_HandleControllerOverlayInteractionAsMouse, + IVROverlay_IVROverlay_006_IsHoverTargetOverlay, + IVROverlay_IVROverlay_006_GetGamepadFocusOverlay, + IVROverlay_IVROverlay_006_SetGamepadFocusOverlay, + IVROverlay_IVROverlay_006_SetOverlayNeighbor, + IVROverlay_IVROverlay_006_MoveGamepadFocusToNeighbor, + IVROverlay_IVROverlay_006_SetOverlayTexture, + IVROverlay_IVROverlay_006_ClearOverlayTexture, + IVROverlay_IVROverlay_006_SetOverlayRaw, + IVROverlay_IVROverlay_006_SetOverlayFromFile, + IVROverlay_IVROverlay_006_CreateDashboardOverlay, + IVROverlay_IVROverlay_006_IsDashboardVisible, + IVROverlay_IVROverlay_006_IsActiveDashboardOverlay, + IVROverlay_IVROverlay_006_SetDashboardOverlaySceneProcess, + IVROverlay_IVROverlay_006_GetDashboardOverlaySceneProcess, + IVROverlay_IVROverlay_006_ShowDashboard, + IVROverlay_IVROverlay_006_ShowKeyboard, + IVROverlay_IVROverlay_006_ShowKeyboardForOverlay, + IVROverlay_IVROverlay_006_GetKeyboardText, + IVROverlay_IVROverlay_006_HideKeyboard, IVROverlay_IVROverlay_007_FindOverlay, IVROverlay_IVROverlay_007_CreateOverlay, IVROverlay_IVROverlay_007_DestroyOverlay, @@ -2969,6 +3028,11 @@ extern "C" const unixlib_entry_t __wine_unix_call_funcs[] = IVRRenderModels_IVRRenderModels_001_FreeRenderModel, IVRRenderModels_IVRRenderModels_001_GetRenderModelName, IVRRenderModels_IVRRenderModels_001_GetRenderModelCount, + IVRRenderModels_IVRRenderModels_001_GetComponentCount, + IVRRenderModels_IVRRenderModels_001_GetComponentName, + IVRRenderModels_IVRRenderModels_001_GetComponentButtonMask, + IVRRenderModels_IVRRenderModels_001_GetComponentRenderModelName, + IVRRenderModels_IVRRenderModels_001_GetComponentState, IVRRenderModels_IVRRenderModels_002_LoadRenderModel, IVRRenderModels_IVRRenderModels_002_FreeRenderModel, IVRRenderModels_IVRRenderModels_002_LoadTexture, @@ -3229,6 +3293,49 @@ extern "C" const unixlib_entry_t __wine_unix_call_funcs[] = IVRSystem_IVRSystem_006_PerformFirmwareUpdate, IVRSystem_IVRSystem_006_IsDisplayOnDesktop, IVRSystem_IVRSystem_006_SetDisplayVisibility, + IVRSystem_IVRSystem_007_GetWindowBounds, + IVRSystem_IVRSystem_007_GetRecommendedRenderTargetSize, + IVRSystem_IVRSystem_007_GetEyeOutputViewport, + IVRSystem_IVRSystem_007_GetProjectionMatrix, + IVRSystem_IVRSystem_007_GetProjectionRaw, + IVRSystem_IVRSystem_007_ComputeDistortion, + IVRSystem_IVRSystem_007_GetEyeToHeadTransform, + IVRSystem_IVRSystem_007_GetTimeSinceLastVsync, + IVRSystem_IVRSystem_007_GetD3D9AdapterIndex, + IVRSystem_IVRSystem_007_GetDXGIOutputInfo, + IVRSystem_IVRSystem_007_AttachToWindow, + IVRSystem_IVRSystem_007_GetDeviceToAbsoluteTrackingPose, + IVRSystem_IVRSystem_007_ResetSeatedZeroPose, + IVRSystem_IVRSystem_007_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, + IVRSystem_IVRSystem_007_GetRawZeroPoseToStandingAbsoluteTrackingPose, + IVRSystem_IVRSystem_007_GetSortedTrackedDeviceIndicesOfClass, + IVRSystem_IVRSystem_007_GetTrackedDeviceActivityLevel, + IVRSystem_IVRSystem_007_ApplyTransform, + IVRSystem_IVRSystem_007_GetTrackedDeviceClass, + IVRSystem_IVRSystem_007_IsTrackedDeviceConnected, + IVRSystem_IVRSystem_007_GetBoolTrackedDeviceProperty, + IVRSystem_IVRSystem_007_GetFloatTrackedDeviceProperty, + IVRSystem_IVRSystem_007_GetInt32TrackedDeviceProperty, + IVRSystem_IVRSystem_007_GetUint64TrackedDeviceProperty, + IVRSystem_IVRSystem_007_GetMatrix34TrackedDeviceProperty, + IVRSystem_IVRSystem_007_GetStringTrackedDeviceProperty, + IVRSystem_IVRSystem_007_GetPropErrorNameFromEnum, + IVRSystem_IVRSystem_007_PollNextEvent, + IVRSystem_IVRSystem_007_PollNextEventWithPose, + IVRSystem_IVRSystem_007_GetEventTypeNameFromEnum, + IVRSystem_IVRSystem_007_GetHiddenAreaMesh, + IVRSystem_IVRSystem_007_GetControllerState, + IVRSystem_IVRSystem_007_GetControllerStateWithPose, + IVRSystem_IVRSystem_007_TriggerHapticPulse, + IVRSystem_IVRSystem_007_GetButtonIdNameFromEnum, + IVRSystem_IVRSystem_007_GetControllerAxisTypeNameFromEnum, + IVRSystem_IVRSystem_007_CaptureInputFocus, + IVRSystem_IVRSystem_007_ReleaseInputFocus, + IVRSystem_IVRSystem_007_IsInputFocusCapturedByAnotherProcess, + IVRSystem_IVRSystem_007_DriverDebugRequest, + IVRSystem_IVRSystem_007_PerformFirmwareUpdate, + IVRSystem_IVRSystem_007_IsDisplayOnDesktop, + IVRSystem_IVRSystem_007_SetDisplayVisibility, IVRSystem_IVRSystem_009_GetRecommendedRenderTargetSize, IVRSystem_IVRSystem_009_GetProjectionMatrix, IVRSystem_IVRSystem_009_GetProjectionRaw, @@ -4262,6 +4369,8 @@ extern "C" const unixlib_entry_t __wine_unix_call_wow64_funcs[] = wow64_IVRCompositor_IVRCompositor_008_CompositorDumpImages, wow64_IVRCompositor_IVRCompositor_008_GetFrameTimeRemaining, wow64_IVRCompositor_IVRCompositor_008_GetLastFrameRenderer, + wow64_IVRCompositor_IVRCompositor_008_GetLastPoses, + wow64_IVRCompositor_IVRCompositor_008_PostPresentHandoff, wow64_IVRCompositor_IVRCompositor_009_SetTrackingSpace, wow64_IVRCompositor_IVRCompositor_009_GetTrackingSpace, wow64_IVRCompositor_IVRCompositor_009_WaitGetPoses, @@ -5429,6 +5538,63 @@ extern "C" const unixlib_entry_t __wine_unix_call_wow64_funcs[] = wow64_IVROverlay_IVROverlay_005_ShowKeyboard, wow64_IVROverlay_IVROverlay_005_GetKeyboardText, wow64_IVROverlay_IVROverlay_005_HideKeyboard, + wow64_IVROverlay_IVROverlay_006_FindOverlay, + wow64_IVROverlay_IVROverlay_006_CreateOverlay, + wow64_IVROverlay_IVROverlay_006_DestroyOverlay, + wow64_IVROverlay_IVROverlay_006_SetHighQualityOverlay, + wow64_IVROverlay_IVROverlay_006_GetHighQualityOverlay, + wow64_IVROverlay_IVROverlay_006_GetOverlayKey, + wow64_IVROverlay_IVROverlay_006_GetOverlayName, + wow64_IVROverlay_IVROverlay_006_GetOverlayImageData, + wow64_IVROverlay_IVROverlay_006_GetOverlayErrorNameFromEnum, + wow64_IVROverlay_IVROverlay_006_SetOverlayFlag, + wow64_IVROverlay_IVROverlay_006_GetOverlayFlag, + wow64_IVROverlay_IVROverlay_006_SetOverlayColor, + wow64_IVROverlay_IVROverlay_006_GetOverlayColor, + wow64_IVROverlay_IVROverlay_006_SetOverlayAlpha, + wow64_IVROverlay_IVROverlay_006_GetOverlayAlpha, + wow64_IVROverlay_IVROverlay_006_SetOverlayGamma, + wow64_IVROverlay_IVROverlay_006_GetOverlayGamma, + wow64_IVROverlay_IVROverlay_006_SetOverlayWidthInMeters, + wow64_IVROverlay_IVROverlay_006_GetOverlayWidthInMeters, + wow64_IVROverlay_IVROverlay_006_SetOverlayAutoCurveDistanceRangeInMeters, + wow64_IVROverlay_IVROverlay_006_GetOverlayAutoCurveDistanceRangeInMeters, + wow64_IVROverlay_IVROverlay_006_SetOverlayTextureBounds, + wow64_IVROverlay_IVROverlay_006_GetOverlayTextureBounds, + wow64_IVROverlay_IVROverlay_006_GetOverlayTransformType, + wow64_IVROverlay_IVROverlay_006_SetOverlayTransformAbsolute, + wow64_IVROverlay_IVROverlay_006_GetOverlayTransformAbsolute, + wow64_IVROverlay_IVROverlay_006_SetOverlayTransformTrackedDeviceRelative, + wow64_IVROverlay_IVROverlay_006_GetOverlayTransformTrackedDeviceRelative, + wow64_IVROverlay_IVROverlay_006_ShowOverlay, + wow64_IVROverlay_IVROverlay_006_HideOverlay, + wow64_IVROverlay_IVROverlay_006_IsOverlayVisible, + wow64_IVROverlay_IVROverlay_006_PollNextOverlayEvent, + wow64_IVROverlay_IVROverlay_006_GetOverlayInputMethod, + wow64_IVROverlay_IVROverlay_006_SetOverlayInputMethod, + wow64_IVROverlay_IVROverlay_006_GetOverlayMouseScale, + wow64_IVROverlay_IVROverlay_006_SetOverlayMouseScale, + wow64_IVROverlay_IVROverlay_006_ComputeOverlayIntersection, + wow64_IVROverlay_IVROverlay_006_HandleControllerOverlayInteractionAsMouse, + wow64_IVROverlay_IVROverlay_006_IsHoverTargetOverlay, + wow64_IVROverlay_IVROverlay_006_GetGamepadFocusOverlay, + wow64_IVROverlay_IVROverlay_006_SetGamepadFocusOverlay, + wow64_IVROverlay_IVROverlay_006_SetOverlayNeighbor, + wow64_IVROverlay_IVROverlay_006_MoveGamepadFocusToNeighbor, + wow64_IVROverlay_IVROverlay_006_SetOverlayTexture, + wow64_IVROverlay_IVROverlay_006_ClearOverlayTexture, + wow64_IVROverlay_IVROverlay_006_SetOverlayRaw, + wow64_IVROverlay_IVROverlay_006_SetOverlayFromFile, + wow64_IVROverlay_IVROverlay_006_CreateDashboardOverlay, + wow64_IVROverlay_IVROverlay_006_IsDashboardVisible, + wow64_IVROverlay_IVROverlay_006_IsActiveDashboardOverlay, + wow64_IVROverlay_IVROverlay_006_SetDashboardOverlaySceneProcess, + wow64_IVROverlay_IVROverlay_006_GetDashboardOverlaySceneProcess, + wow64_IVROverlay_IVROverlay_006_ShowDashboard, + wow64_IVROverlay_IVROverlay_006_ShowKeyboard, + wow64_IVROverlay_IVROverlay_006_ShowKeyboardForOverlay, + wow64_IVROverlay_IVROverlay_006_GetKeyboardText, + wow64_IVROverlay_IVROverlay_006_HideKeyboard, wow64_IVROverlay_IVROverlay_007_FindOverlay, wow64_IVROverlay_IVROverlay_007_CreateOverlay, wow64_IVROverlay_IVROverlay_007_DestroyOverlay, @@ -6863,6 +7029,11 @@ extern "C" const unixlib_entry_t __wine_unix_call_wow64_funcs[] = wow64_IVRRenderModels_IVRRenderModels_001_FreeRenderModel, wow64_IVRRenderModels_IVRRenderModels_001_GetRenderModelName, wow64_IVRRenderModels_IVRRenderModels_001_GetRenderModelCount, + wow64_IVRRenderModels_IVRRenderModels_001_GetComponentCount, + wow64_IVRRenderModels_IVRRenderModels_001_GetComponentName, + wow64_IVRRenderModels_IVRRenderModels_001_GetComponentButtonMask, + wow64_IVRRenderModels_IVRRenderModels_001_GetComponentRenderModelName, + wow64_IVRRenderModels_IVRRenderModels_001_GetComponentState, wow64_IVRRenderModels_IVRRenderModels_002_LoadRenderModel, wow64_IVRRenderModels_IVRRenderModels_002_FreeRenderModel, wow64_IVRRenderModels_IVRRenderModels_002_LoadTexture, @@ -7123,6 +7294,49 @@ extern "C" const unixlib_entry_t __wine_unix_call_wow64_funcs[] = wow64_IVRSystem_IVRSystem_006_PerformFirmwareUpdate, wow64_IVRSystem_IVRSystem_006_IsDisplayOnDesktop, wow64_IVRSystem_IVRSystem_006_SetDisplayVisibility, + wow64_IVRSystem_IVRSystem_007_GetWindowBounds, + wow64_IVRSystem_IVRSystem_007_GetRecommendedRenderTargetSize, + wow64_IVRSystem_IVRSystem_007_GetEyeOutputViewport, + wow64_IVRSystem_IVRSystem_007_GetProjectionMatrix, + wow64_IVRSystem_IVRSystem_007_GetProjectionRaw, + wow64_IVRSystem_IVRSystem_007_ComputeDistortion, + wow64_IVRSystem_IVRSystem_007_GetEyeToHeadTransform, + wow64_IVRSystem_IVRSystem_007_GetTimeSinceLastVsync, + wow64_IVRSystem_IVRSystem_007_GetD3D9AdapterIndex, + wow64_IVRSystem_IVRSystem_007_GetDXGIOutputInfo, + wow64_IVRSystem_IVRSystem_007_AttachToWindow, + wow64_IVRSystem_IVRSystem_007_GetDeviceToAbsoluteTrackingPose, + wow64_IVRSystem_IVRSystem_007_ResetSeatedZeroPose, + wow64_IVRSystem_IVRSystem_007_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, + wow64_IVRSystem_IVRSystem_007_GetRawZeroPoseToStandingAbsoluteTrackingPose, + wow64_IVRSystem_IVRSystem_007_GetSortedTrackedDeviceIndicesOfClass, + wow64_IVRSystem_IVRSystem_007_GetTrackedDeviceActivityLevel, + wow64_IVRSystem_IVRSystem_007_ApplyTransform, + wow64_IVRSystem_IVRSystem_007_GetTrackedDeviceClass, + wow64_IVRSystem_IVRSystem_007_IsTrackedDeviceConnected, + wow64_IVRSystem_IVRSystem_007_GetBoolTrackedDeviceProperty, + wow64_IVRSystem_IVRSystem_007_GetFloatTrackedDeviceProperty, + wow64_IVRSystem_IVRSystem_007_GetInt32TrackedDeviceProperty, + wow64_IVRSystem_IVRSystem_007_GetUint64TrackedDeviceProperty, + wow64_IVRSystem_IVRSystem_007_GetMatrix34TrackedDeviceProperty, + wow64_IVRSystem_IVRSystem_007_GetStringTrackedDeviceProperty, + wow64_IVRSystem_IVRSystem_007_GetPropErrorNameFromEnum, + wow64_IVRSystem_IVRSystem_007_PollNextEvent, + wow64_IVRSystem_IVRSystem_007_PollNextEventWithPose, + wow64_IVRSystem_IVRSystem_007_GetEventTypeNameFromEnum, + wow64_IVRSystem_IVRSystem_007_GetHiddenAreaMesh, + wow64_IVRSystem_IVRSystem_007_GetControllerState, + wow64_IVRSystem_IVRSystem_007_GetControllerStateWithPose, + wow64_IVRSystem_IVRSystem_007_TriggerHapticPulse, + wow64_IVRSystem_IVRSystem_007_GetButtonIdNameFromEnum, + wow64_IVRSystem_IVRSystem_007_GetControllerAxisTypeNameFromEnum, + wow64_IVRSystem_IVRSystem_007_CaptureInputFocus, + wow64_IVRSystem_IVRSystem_007_ReleaseInputFocus, + wow64_IVRSystem_IVRSystem_007_IsInputFocusCapturedByAnotherProcess, + wow64_IVRSystem_IVRSystem_007_DriverDebugRequest, + wow64_IVRSystem_IVRSystem_007_PerformFirmwareUpdate, + wow64_IVRSystem_IVRSystem_007_IsDisplayOnDesktop, + wow64_IVRSystem_IVRSystem_007_SetDisplayVisibility, wow64_IVRSystem_IVRSystem_009_GetRecommendedRenderTargetSize, wow64_IVRSystem_IVRSystem_009_GetProjectionMatrix, wow64_IVRSystem_IVRSystem_009_GetProjectionRaw, @@ -7890,11 +8104,11 @@ C_ASSERT( sizeof(VREvent_Keyboard_t_2010().uUserValue) >= 8 ); C_ASSERT( offsetof(VREvent_Keyboard_t_2010, overlayHandle) == 16 ); C_ASSERT( sizeof(VREvent_Keyboard_t_2010().overlayHandle) >= 8 ); -C_ASSERT( sizeof(VREvent_Keyboard_t_0912) >= 16 ); -C_ASSERT( offsetof(VREvent_Keyboard_t_0912, cNewInput) == 0 ); -C_ASSERT( sizeof(VREvent_Keyboard_t_0912().cNewInput) >= 8 ); -C_ASSERT( offsetof(VREvent_Keyboard_t_0912, uUserValue) == 8 ); -C_ASSERT( sizeof(VREvent_Keyboard_t_0912().uUserValue) >= 8 ); +C_ASSERT( sizeof(VREvent_Keyboard_t_0911) >= 16 ); +C_ASSERT( offsetof(VREvent_Keyboard_t_0911, cNewInput) == 0 ); +C_ASSERT( sizeof(VREvent_Keyboard_t_0911().cNewInput) >= 8 ); +C_ASSERT( offsetof(VREvent_Keyboard_t_0911, uUserValue) == 8 ); +C_ASSERT( sizeof(VREvent_Keyboard_t_0911().uUserValue) >= 8 ); C_ASSERT( sizeof(VREvent_Keyboard_t_0910) >= 16 ); C_ASSERT( offsetof(VREvent_Keyboard_t_0910, cNewInput) == 0 ); @@ -9138,6 +9352,24 @@ C_ASSERT( sizeof(VREvent_Data_t_0912().ipd) >= 4 ); C_ASSERT( offsetof(VREvent_Data_t_0912, chaperone) == 0 ); C_ASSERT( sizeof(VREvent_Data_t_0912().chaperone) >= 16 ); +C_ASSERT( sizeof(VREvent_Data_t_0911) >= 16 ); +C_ASSERT( offsetof(VREvent_Data_t_0911, reserved) == 0 ); +C_ASSERT( sizeof(VREvent_Data_t_0911().reserved) >= 16 ); +C_ASSERT( offsetof(VREvent_Data_t_0911, controller) == 0 ); +C_ASSERT( sizeof(VREvent_Data_t_0911().controller) >= 4 ); +C_ASSERT( offsetof(VREvent_Data_t_0911, mouse) == 0 ); +C_ASSERT( sizeof(VREvent_Data_t_0911().mouse) >= 12 ); +C_ASSERT( offsetof(VREvent_Data_t_0911, process) == 0 ); +C_ASSERT( sizeof(VREvent_Data_t_0911().process) >= 8 ); +C_ASSERT( offsetof(VREvent_Data_t_0911, notification) == 0 ); +C_ASSERT( sizeof(VREvent_Data_t_0911().notification) >= 16 ); +C_ASSERT( offsetof(VREvent_Data_t_0911, overlay) == 0 ); +C_ASSERT( sizeof(VREvent_Data_t_0911().overlay) >= 8 ); +C_ASSERT( offsetof(VREvent_Data_t_0911, status) == 0 ); +C_ASSERT( sizeof(VREvent_Data_t_0911().status) >= 4 ); +C_ASSERT( offsetof(VREvent_Data_t_0911, keyboard) == 0 ); +C_ASSERT( sizeof(VREvent_Data_t_0911().keyboard) >= 16 ); + C_ASSERT( sizeof(VREvent_Data_t_0910) >= 16 ); C_ASSERT( offsetof(VREvent_Data_t_0910, reserved) == 0 ); C_ASSERT( sizeof(VREvent_Data_t_0910().reserved) >= 16 ); @@ -9236,6 +9468,16 @@ C_ASSERT( sizeof(ChaperoneSoftBoundsInfo_t) >= 48 ); C_ASSERT( offsetof(ChaperoneSoftBoundsInfo_t, quadCorners) == 0 ); C_ASSERT( sizeof(ChaperoneSoftBoundsInfo_t().quadCorners) >= 48 ); +C_ASSERT( sizeof(ComponentState_t) >= 100 ); +C_ASSERT( offsetof(ComponentState_t, mTrackingToComponentRenderModel) == 0 ); +C_ASSERT( sizeof(ComponentState_t().mTrackingToComponentRenderModel) >= 48 ); +C_ASSERT( offsetof(ComponentState_t, mTrackingToComponentLocal) == 48 ); +C_ASSERT( sizeof(ComponentState_t().mTrackingToComponentLocal) >= 48 ); +C_ASSERT( offsetof(ComponentState_t, bIsStatic) == 96 ); +C_ASSERT( sizeof(ComponentState_t().bIsStatic) >= 1 ); +C_ASSERT( offsetof(ComponentState_t, bIsVisible) == 97 ); +C_ASSERT( sizeof(ComponentState_t().bIsVisible) >= 1 ); + C_ASSERT( sizeof(Compositor_BenchmarkResults) >= 8 ); C_ASSERT( offsetof(Compositor_BenchmarkResults, m_flMegaPixelsPerSecond) == 0 ); C_ASSERT( sizeof(Compositor_BenchmarkResults().m_flMegaPixelsPerSecond) >= 4 ); @@ -9472,6 +9714,26 @@ C_ASSERT( sizeof(SpatialAnchorPose_t) >= 48 ); C_ASSERT( offsetof(SpatialAnchorPose_t, mAnchorToAbsoluteTracking) == 0 ); C_ASSERT( sizeof(SpatialAnchorPose_t().mAnchorToAbsoluteTracking) >= 48 ); +C_ASSERT( sizeof(TrackedCameraCalibrationDevOnly_t) >= 72 ); +C_ASSERT( offsetof(TrackedCameraCalibrationDevOnly_t, m_flIntrinsicsFX) == 0 ); +C_ASSERT( sizeof(TrackedCameraCalibrationDevOnly_t().m_flIntrinsicsFX) >= 8 ); +C_ASSERT( offsetof(TrackedCameraCalibrationDevOnly_t, m_flIntrinsicsFY) == 8 ); +C_ASSERT( sizeof(TrackedCameraCalibrationDevOnly_t().m_flIntrinsicsFY) >= 8 ); +C_ASSERT( offsetof(TrackedCameraCalibrationDevOnly_t, m_flIntrinsicsCX) == 16 ); +C_ASSERT( sizeof(TrackedCameraCalibrationDevOnly_t().m_flIntrinsicsCX) >= 8 ); +C_ASSERT( offsetof(TrackedCameraCalibrationDevOnly_t, m_flIntrinsicsCY) == 24 ); +C_ASSERT( sizeof(TrackedCameraCalibrationDevOnly_t().m_flIntrinsicsCY) >= 8 ); +C_ASSERT( offsetof(TrackedCameraCalibrationDevOnly_t, m_flIntrinsicsK1) == 32 ); +C_ASSERT( sizeof(TrackedCameraCalibrationDevOnly_t().m_flIntrinsicsK1) >= 8 ); +C_ASSERT( offsetof(TrackedCameraCalibrationDevOnly_t, m_flIntrinsicsK2) == 40 ); +C_ASSERT( sizeof(TrackedCameraCalibrationDevOnly_t().m_flIntrinsicsK2) >= 8 ); +C_ASSERT( offsetof(TrackedCameraCalibrationDevOnly_t, m_flIntrinsicsP1) == 48 ); +C_ASSERT( sizeof(TrackedCameraCalibrationDevOnly_t().m_flIntrinsicsP1) >= 8 ); +C_ASSERT( offsetof(TrackedCameraCalibrationDevOnly_t, m_flIntrinsicsP2) == 56 ); +C_ASSERT( sizeof(TrackedCameraCalibrationDevOnly_t().m_flIntrinsicsP2) >= 8 ); +C_ASSERT( offsetof(TrackedCameraCalibrationDevOnly_t, m_flIntrinsicsK3) == 64 ); +C_ASSERT( sizeof(TrackedCameraCalibrationDevOnly_t().m_flIntrinsicsK3) >= 8 ); + C_ASSERT( sizeof(VRActiveActionSet_t_1016) >= 32 ); C_ASSERT( offsetof(VRActiveActionSet_t_1016, ulActionSet) == 0 ); C_ASSERT( sizeof(VRActiveActionSet_t_1016().ulActionSet) >= 8 ); @@ -11836,6 +12098,110 @@ C_ASSERT( sizeof(u32_CameraVideoStreamFrame_t_0912().m_Pad) >= 16 ); C_ASSERT( offsetof(u32_CameraVideoStreamFrame_t_0912, m_pImageData) == 116 ); C_ASSERT( sizeof(u32_CameraVideoStreamFrame_t_0912().m_pImageData) >= 4 ); +C_ASSERT( sizeof(w64_CameraVideoStreamFrame_t_0911) >= 120 ); +C_ASSERT( offsetof(w64_CameraVideoStreamFrame_t_0911, m_nStreamFormat) == 0 ); +C_ASSERT( sizeof(w64_CameraVideoStreamFrame_t_0911().m_nStreamFormat) >= 4 ); +C_ASSERT( offsetof(w64_CameraVideoStreamFrame_t_0911, m_nWidth) == 4 ); +C_ASSERT( sizeof(w64_CameraVideoStreamFrame_t_0911().m_nWidth) >= 4 ); +C_ASSERT( offsetof(w64_CameraVideoStreamFrame_t_0911, m_nHeight) == 8 ); +C_ASSERT( sizeof(w64_CameraVideoStreamFrame_t_0911().m_nHeight) >= 4 ); +C_ASSERT( offsetof(w64_CameraVideoStreamFrame_t_0911, m_nFrameSequence) == 12 ); +C_ASSERT( sizeof(w64_CameraVideoStreamFrame_t_0911().m_nFrameSequence) >= 4 ); +C_ASSERT( offsetof(w64_CameraVideoStreamFrame_t_0911, m_nTimeStamp) == 16 ); +C_ASSERT( sizeof(w64_CameraVideoStreamFrame_t_0911().m_nTimeStamp) >= 4 ); +C_ASSERT( offsetof(w64_CameraVideoStreamFrame_t_0911, m_nBufferIndex) == 20 ); +C_ASSERT( sizeof(w64_CameraVideoStreamFrame_t_0911().m_nBufferIndex) >= 4 ); +C_ASSERT( offsetof(w64_CameraVideoStreamFrame_t_0911, m_nBufferCount) == 24 ); +C_ASSERT( sizeof(w64_CameraVideoStreamFrame_t_0911().m_nBufferCount) >= 4 ); +C_ASSERT( offsetof(w64_CameraVideoStreamFrame_t_0911, m_nImageDataSize) == 28 ); +C_ASSERT( sizeof(w64_CameraVideoStreamFrame_t_0911().m_nImageDataSize) >= 4 ); +C_ASSERT( offsetof(w64_CameraVideoStreamFrame_t_0911, m_flFrameTime) == 32 ); +C_ASSERT( sizeof(w64_CameraVideoStreamFrame_t_0911().m_flFrameTime) >= 8 ); +C_ASSERT( offsetof(w64_CameraVideoStreamFrame_t_0911, m_bPoseValid) == 40 ); +C_ASSERT( sizeof(w64_CameraVideoStreamFrame_t_0911().m_bPoseValid) >= 1 ); +C_ASSERT( offsetof(w64_CameraVideoStreamFrame_t_0911, m_HMDPoseMatrix) == 44 ); +C_ASSERT( sizeof(w64_CameraVideoStreamFrame_t_0911().m_HMDPoseMatrix) >= 64 ); +C_ASSERT( offsetof(w64_CameraVideoStreamFrame_t_0911, m_pImageData) == 112 ); +C_ASSERT( sizeof(w64_CameraVideoStreamFrame_t_0911().m_pImageData) >= 8 ); + +C_ASSERT( sizeof(u64_CameraVideoStreamFrame_t_0911) >= 116 ); +C_ASSERT( offsetof(u64_CameraVideoStreamFrame_t_0911, m_nStreamFormat) == 0 ); +C_ASSERT( sizeof(u64_CameraVideoStreamFrame_t_0911().m_nStreamFormat) >= 4 ); +C_ASSERT( offsetof(u64_CameraVideoStreamFrame_t_0911, m_nWidth) == 4 ); +C_ASSERT( sizeof(u64_CameraVideoStreamFrame_t_0911().m_nWidth) >= 4 ); +C_ASSERT( offsetof(u64_CameraVideoStreamFrame_t_0911, m_nHeight) == 8 ); +C_ASSERT( sizeof(u64_CameraVideoStreamFrame_t_0911().m_nHeight) >= 4 ); +C_ASSERT( offsetof(u64_CameraVideoStreamFrame_t_0911, m_nFrameSequence) == 12 ); +C_ASSERT( sizeof(u64_CameraVideoStreamFrame_t_0911().m_nFrameSequence) >= 4 ); +C_ASSERT( offsetof(u64_CameraVideoStreamFrame_t_0911, m_nTimeStamp) == 16 ); +C_ASSERT( sizeof(u64_CameraVideoStreamFrame_t_0911().m_nTimeStamp) >= 4 ); +C_ASSERT( offsetof(u64_CameraVideoStreamFrame_t_0911, m_nBufferIndex) == 20 ); +C_ASSERT( sizeof(u64_CameraVideoStreamFrame_t_0911().m_nBufferIndex) >= 4 ); +C_ASSERT( offsetof(u64_CameraVideoStreamFrame_t_0911, m_nBufferCount) == 24 ); +C_ASSERT( sizeof(u64_CameraVideoStreamFrame_t_0911().m_nBufferCount) >= 4 ); +C_ASSERT( offsetof(u64_CameraVideoStreamFrame_t_0911, m_nImageDataSize) == 28 ); +C_ASSERT( sizeof(u64_CameraVideoStreamFrame_t_0911().m_nImageDataSize) >= 4 ); +C_ASSERT( offsetof(u64_CameraVideoStreamFrame_t_0911, m_flFrameTime) == 32 ); +C_ASSERT( sizeof(u64_CameraVideoStreamFrame_t_0911().m_flFrameTime) >= 8 ); +C_ASSERT( offsetof(u64_CameraVideoStreamFrame_t_0911, m_bPoseValid) == 40 ); +C_ASSERT( sizeof(u64_CameraVideoStreamFrame_t_0911().m_bPoseValid) >= 1 ); +C_ASSERT( offsetof(u64_CameraVideoStreamFrame_t_0911, m_HMDPoseMatrix) == 44 ); +C_ASSERT( sizeof(u64_CameraVideoStreamFrame_t_0911().m_HMDPoseMatrix) >= 64 ); +C_ASSERT( offsetof(u64_CameraVideoStreamFrame_t_0911, m_pImageData) == 108 ); +C_ASSERT( sizeof(u64_CameraVideoStreamFrame_t_0911().m_pImageData) >= 8 ); + +C_ASSERT( sizeof(w32_CameraVideoStreamFrame_t_0911) >= 112 ); +C_ASSERT( offsetof(w32_CameraVideoStreamFrame_t_0911, m_nStreamFormat) == 0 ); +C_ASSERT( sizeof(w32_CameraVideoStreamFrame_t_0911().m_nStreamFormat) >= 4 ); +C_ASSERT( offsetof(w32_CameraVideoStreamFrame_t_0911, m_nWidth) == 4 ); +C_ASSERT( sizeof(w32_CameraVideoStreamFrame_t_0911().m_nWidth) >= 4 ); +C_ASSERT( offsetof(w32_CameraVideoStreamFrame_t_0911, m_nHeight) == 8 ); +C_ASSERT( sizeof(w32_CameraVideoStreamFrame_t_0911().m_nHeight) >= 4 ); +C_ASSERT( offsetof(w32_CameraVideoStreamFrame_t_0911, m_nFrameSequence) == 12 ); +C_ASSERT( sizeof(w32_CameraVideoStreamFrame_t_0911().m_nFrameSequence) >= 4 ); +C_ASSERT( offsetof(w32_CameraVideoStreamFrame_t_0911, m_nTimeStamp) == 16 ); +C_ASSERT( sizeof(w32_CameraVideoStreamFrame_t_0911().m_nTimeStamp) >= 4 ); +C_ASSERT( offsetof(w32_CameraVideoStreamFrame_t_0911, m_nBufferIndex) == 20 ); +C_ASSERT( sizeof(w32_CameraVideoStreamFrame_t_0911().m_nBufferIndex) >= 4 ); +C_ASSERT( offsetof(w32_CameraVideoStreamFrame_t_0911, m_nBufferCount) == 24 ); +C_ASSERT( sizeof(w32_CameraVideoStreamFrame_t_0911().m_nBufferCount) >= 4 ); +C_ASSERT( offsetof(w32_CameraVideoStreamFrame_t_0911, m_nImageDataSize) == 28 ); +C_ASSERT( sizeof(w32_CameraVideoStreamFrame_t_0911().m_nImageDataSize) >= 4 ); +C_ASSERT( offsetof(w32_CameraVideoStreamFrame_t_0911, m_flFrameTime) == 32 ); +C_ASSERT( sizeof(w32_CameraVideoStreamFrame_t_0911().m_flFrameTime) >= 8 ); +C_ASSERT( offsetof(w32_CameraVideoStreamFrame_t_0911, m_bPoseValid) == 40 ); +C_ASSERT( sizeof(w32_CameraVideoStreamFrame_t_0911().m_bPoseValid) >= 1 ); +C_ASSERT( offsetof(w32_CameraVideoStreamFrame_t_0911, m_HMDPoseMatrix) == 44 ); +C_ASSERT( sizeof(w32_CameraVideoStreamFrame_t_0911().m_HMDPoseMatrix) >= 64 ); +C_ASSERT( offsetof(w32_CameraVideoStreamFrame_t_0911, m_pImageData) == 108 ); +C_ASSERT( sizeof(w32_CameraVideoStreamFrame_t_0911().m_pImageData) >= 4 ); + +C_ASSERT( sizeof(u32_CameraVideoStreamFrame_t_0911) >= 112 ); +C_ASSERT( offsetof(u32_CameraVideoStreamFrame_t_0911, m_nStreamFormat) == 0 ); +C_ASSERT( sizeof(u32_CameraVideoStreamFrame_t_0911().m_nStreamFormat) >= 4 ); +C_ASSERT( offsetof(u32_CameraVideoStreamFrame_t_0911, m_nWidth) == 4 ); +C_ASSERT( sizeof(u32_CameraVideoStreamFrame_t_0911().m_nWidth) >= 4 ); +C_ASSERT( offsetof(u32_CameraVideoStreamFrame_t_0911, m_nHeight) == 8 ); +C_ASSERT( sizeof(u32_CameraVideoStreamFrame_t_0911().m_nHeight) >= 4 ); +C_ASSERT( offsetof(u32_CameraVideoStreamFrame_t_0911, m_nFrameSequence) == 12 ); +C_ASSERT( sizeof(u32_CameraVideoStreamFrame_t_0911().m_nFrameSequence) >= 4 ); +C_ASSERT( offsetof(u32_CameraVideoStreamFrame_t_0911, m_nTimeStamp) == 16 ); +C_ASSERT( sizeof(u32_CameraVideoStreamFrame_t_0911().m_nTimeStamp) >= 4 ); +C_ASSERT( offsetof(u32_CameraVideoStreamFrame_t_0911, m_nBufferIndex) == 20 ); +C_ASSERT( sizeof(u32_CameraVideoStreamFrame_t_0911().m_nBufferIndex) >= 4 ); +C_ASSERT( offsetof(u32_CameraVideoStreamFrame_t_0911, m_nBufferCount) == 24 ); +C_ASSERT( sizeof(u32_CameraVideoStreamFrame_t_0911().m_nBufferCount) >= 4 ); +C_ASSERT( offsetof(u32_CameraVideoStreamFrame_t_0911, m_nImageDataSize) == 28 ); +C_ASSERT( sizeof(u32_CameraVideoStreamFrame_t_0911().m_nImageDataSize) >= 4 ); +C_ASSERT( offsetof(u32_CameraVideoStreamFrame_t_0911, m_flFrameTime) == 32 ); +C_ASSERT( sizeof(u32_CameraVideoStreamFrame_t_0911().m_flFrameTime) >= 8 ); +C_ASSERT( offsetof(u32_CameraVideoStreamFrame_t_0911, m_bPoseValid) == 40 ); +C_ASSERT( sizeof(u32_CameraVideoStreamFrame_t_0911().m_bPoseValid) >= 1 ); +C_ASSERT( offsetof(u32_CameraVideoStreamFrame_t_0911, m_HMDPoseMatrix) == 44 ); +C_ASSERT( sizeof(u32_CameraVideoStreamFrame_t_0911().m_HMDPoseMatrix) >= 64 ); +C_ASSERT( offsetof(u32_CameraVideoStreamFrame_t_0911, m_pImageData) == 108 ); +C_ASSERT( sizeof(u32_CameraVideoStreamFrame_t_0911().m_pImageData) >= 4 ); + #if defined(__x86_64__) || defined(__aarch64__) w64_CameraVideoStreamFrame_t_0914::operator u64_CameraVideoStreamFrame_t_0914() const { @@ -12080,6 +12446,86 @@ u64_CameraVideoStreamFrame_t_0912::operator w32_CameraVideoStreamFrame_t_0912() } #endif +#if defined(__x86_64__) || defined(__aarch64__) +w64_CameraVideoStreamFrame_t_0911::operator u64_CameraVideoStreamFrame_t_0911() const +{ + u64_CameraVideoStreamFrame_t_0911 ret; + ret.m_nStreamFormat = this->m_nStreamFormat; + ret.m_nWidth = this->m_nWidth; + ret.m_nHeight = this->m_nHeight; + ret.m_nFrameSequence = this->m_nFrameSequence; + ret.m_nTimeStamp = this->m_nTimeStamp; + ret.m_nBufferIndex = this->m_nBufferIndex; + ret.m_nBufferCount = this->m_nBufferCount; + ret.m_nImageDataSize = this->m_nImageDataSize; + ret.m_flFrameTime = this->m_flFrameTime; + ret.m_bPoseValid = this->m_bPoseValid; + ret.m_HMDPoseMatrix = this->m_HMDPoseMatrix; + ret.m_pImageData = this->m_pImageData; + return ret; +} +#endif + +#if defined(__x86_64__) || defined(__aarch64__) +u64_CameraVideoStreamFrame_t_0911::operator w64_CameraVideoStreamFrame_t_0911() const +{ + w64_CameraVideoStreamFrame_t_0911 ret; + ret.m_nStreamFormat = this->m_nStreamFormat; + ret.m_nWidth = this->m_nWidth; + ret.m_nHeight = this->m_nHeight; + ret.m_nFrameSequence = this->m_nFrameSequence; + ret.m_nTimeStamp = this->m_nTimeStamp; + ret.m_nBufferIndex = this->m_nBufferIndex; + ret.m_nBufferCount = this->m_nBufferCount; + ret.m_nImageDataSize = this->m_nImageDataSize; + ret.m_flFrameTime = this->m_flFrameTime; + ret.m_bPoseValid = this->m_bPoseValid; + ret.m_HMDPoseMatrix = this->m_HMDPoseMatrix; + ret.m_pImageData = this->m_pImageData; + return ret; +} +#endif + +#if defined(__x86_64__) || defined(__aarch64__) +w32_CameraVideoStreamFrame_t_0911::operator u64_CameraVideoStreamFrame_t_0911() const +{ + u64_CameraVideoStreamFrame_t_0911 ret; + ret.m_nStreamFormat = this->m_nStreamFormat; + ret.m_nWidth = this->m_nWidth; + ret.m_nHeight = this->m_nHeight; + ret.m_nFrameSequence = this->m_nFrameSequence; + ret.m_nTimeStamp = this->m_nTimeStamp; + ret.m_nBufferIndex = this->m_nBufferIndex; + ret.m_nBufferCount = this->m_nBufferCount; + ret.m_nImageDataSize = this->m_nImageDataSize; + ret.m_flFrameTime = this->m_flFrameTime; + ret.m_bPoseValid = this->m_bPoseValid; + ret.m_HMDPoseMatrix = this->m_HMDPoseMatrix; + ret.m_pImageData = this->m_pImageData; + return ret; +} +#endif + +#if defined(__x86_64__) || defined(__aarch64__) +u64_CameraVideoStreamFrame_t_0911::operator w32_CameraVideoStreamFrame_t_0911() const +{ + w32_CameraVideoStreamFrame_t_0911 ret; + ret.m_nStreamFormat = this->m_nStreamFormat; + ret.m_nWidth = this->m_nWidth; + ret.m_nHeight = this->m_nHeight; + ret.m_nFrameSequence = this->m_nFrameSequence; + ret.m_nTimeStamp = this->m_nTimeStamp; + ret.m_nBufferIndex = this->m_nBufferIndex; + ret.m_nBufferCount = this->m_nBufferCount; + ret.m_nImageDataSize = this->m_nImageDataSize; + ret.m_flFrameTime = this->m_flFrameTime; + ret.m_bPoseValid = this->m_bPoseValid; + ret.m_HMDPoseMatrix = this->m_HMDPoseMatrix; + ret.m_pImageData = this->m_pImageData; + return ret; +} +#endif + C_ASSERT( sizeof(w64_Compositor_FrameTiming_251) >= 192 ); C_ASSERT( offsetof(w64_Compositor_FrameTiming_251, m_nSize) == 0 ); C_ASSERT( sizeof(w64_Compositor_FrameTiming_251().m_nSize) >= 4 ); @@ -13584,141 +14030,141 @@ C_ASSERT( sizeof(u32_Compositor_FrameTiming_0913().m_flHandoffEndMs) >= 4 ); C_ASSERT( offsetof(u32_Compositor_FrameTiming_0913, m_flCompositorUpdateCpuMs) == 144 ); C_ASSERT( sizeof(u32_Compositor_FrameTiming_0913().m_flCompositorUpdateCpuMs) >= 4 ); -C_ASSERT( sizeof(w64_Compositor_FrameTiming_0912) >= 152 ); -C_ASSERT( offsetof(w64_Compositor_FrameTiming_0912, size) == 0 ); -C_ASSERT( sizeof(w64_Compositor_FrameTiming_0912().size) >= 4 ); -C_ASSERT( offsetof(w64_Compositor_FrameTiming_0912, frameStart) == 8 ); -C_ASSERT( sizeof(w64_Compositor_FrameTiming_0912().frameStart) >= 8 ); -C_ASSERT( offsetof(w64_Compositor_FrameTiming_0912, frameVSync) == 16 ); -C_ASSERT( sizeof(w64_Compositor_FrameTiming_0912().frameVSync) >= 4 ); -C_ASSERT( offsetof(w64_Compositor_FrameTiming_0912, droppedFrames) == 20 ); -C_ASSERT( sizeof(w64_Compositor_FrameTiming_0912().droppedFrames) >= 4 ); -C_ASSERT( offsetof(w64_Compositor_FrameTiming_0912, frameIndex) == 24 ); -C_ASSERT( sizeof(w64_Compositor_FrameTiming_0912().frameIndex) >= 4 ); -C_ASSERT( offsetof(w64_Compositor_FrameTiming_0912, pose) == 28 ); -C_ASSERT( sizeof(w64_Compositor_FrameTiming_0912().pose) >= 80 ); -C_ASSERT( offsetof(w64_Compositor_FrameTiming_0912, prediction) == 108 ); -C_ASSERT( sizeof(w64_Compositor_FrameTiming_0912().prediction) >= 4 ); -C_ASSERT( offsetof(w64_Compositor_FrameTiming_0912, m_flFrameIntervalMs) == 112 ); -C_ASSERT( sizeof(w64_Compositor_FrameTiming_0912().m_flFrameIntervalMs) >= 4 ); -C_ASSERT( offsetof(w64_Compositor_FrameTiming_0912, m_flSceneRenderCpuMs) == 116 ); -C_ASSERT( sizeof(w64_Compositor_FrameTiming_0912().m_flSceneRenderCpuMs) >= 4 ); -C_ASSERT( offsetof(w64_Compositor_FrameTiming_0912, m_flSceneRenderGpuMs) == 120 ); -C_ASSERT( sizeof(w64_Compositor_FrameTiming_0912().m_flSceneRenderGpuMs) >= 4 ); -C_ASSERT( offsetof(w64_Compositor_FrameTiming_0912, m_flCompositorRenderCpuMs) == 124 ); -C_ASSERT( sizeof(w64_Compositor_FrameTiming_0912().m_flCompositorRenderCpuMs) >= 4 ); -C_ASSERT( offsetof(w64_Compositor_FrameTiming_0912, m_flCompositorRenderGpuMs) == 128 ); -C_ASSERT( sizeof(w64_Compositor_FrameTiming_0912().m_flCompositorRenderGpuMs) >= 4 ); -C_ASSERT( offsetof(w64_Compositor_FrameTiming_0912, m_flPresentCallCpuMs) == 132 ); -C_ASSERT( sizeof(w64_Compositor_FrameTiming_0912().m_flPresentCallCpuMs) >= 4 ); -C_ASSERT( offsetof(w64_Compositor_FrameTiming_0912, m_flRunningStartMs) == 136 ); -C_ASSERT( sizeof(w64_Compositor_FrameTiming_0912().m_flRunningStartMs) >= 4 ); -C_ASSERT( offsetof(w64_Compositor_FrameTiming_0912, m_flHandoffStartMs) == 140 ); -C_ASSERT( sizeof(w64_Compositor_FrameTiming_0912().m_flHandoffStartMs) >= 4 ); -C_ASSERT( offsetof(w64_Compositor_FrameTiming_0912, m_flHandoffEndMs) == 144 ); -C_ASSERT( sizeof(w64_Compositor_FrameTiming_0912().m_flHandoffEndMs) >= 4 ); - -C_ASSERT( sizeof(u64_Compositor_FrameTiming_0912) >= 144 ); -C_ASSERT( offsetof(u64_Compositor_FrameTiming_0912, size) == 0 ); -C_ASSERT( sizeof(u64_Compositor_FrameTiming_0912().size) >= 4 ); -C_ASSERT( offsetof(u64_Compositor_FrameTiming_0912, frameStart) == 4 ); -C_ASSERT( sizeof(u64_Compositor_FrameTiming_0912().frameStart) >= 8 ); -C_ASSERT( offsetof(u64_Compositor_FrameTiming_0912, frameVSync) == 12 ); -C_ASSERT( sizeof(u64_Compositor_FrameTiming_0912().frameVSync) >= 4 ); -C_ASSERT( offsetof(u64_Compositor_FrameTiming_0912, droppedFrames) == 16 ); -C_ASSERT( sizeof(u64_Compositor_FrameTiming_0912().droppedFrames) >= 4 ); -C_ASSERT( offsetof(u64_Compositor_FrameTiming_0912, frameIndex) == 20 ); -C_ASSERT( sizeof(u64_Compositor_FrameTiming_0912().frameIndex) >= 4 ); -C_ASSERT( offsetof(u64_Compositor_FrameTiming_0912, pose) == 24 ); -C_ASSERT( sizeof(u64_Compositor_FrameTiming_0912().pose) >= 80 ); -C_ASSERT( offsetof(u64_Compositor_FrameTiming_0912, prediction) == 104 ); -C_ASSERT( sizeof(u64_Compositor_FrameTiming_0912().prediction) >= 4 ); -C_ASSERT( offsetof(u64_Compositor_FrameTiming_0912, m_flFrameIntervalMs) == 108 ); -C_ASSERT( sizeof(u64_Compositor_FrameTiming_0912().m_flFrameIntervalMs) >= 4 ); -C_ASSERT( offsetof(u64_Compositor_FrameTiming_0912, m_flSceneRenderCpuMs) == 112 ); -C_ASSERT( sizeof(u64_Compositor_FrameTiming_0912().m_flSceneRenderCpuMs) >= 4 ); -C_ASSERT( offsetof(u64_Compositor_FrameTiming_0912, m_flSceneRenderGpuMs) == 116 ); -C_ASSERT( sizeof(u64_Compositor_FrameTiming_0912().m_flSceneRenderGpuMs) >= 4 ); -C_ASSERT( offsetof(u64_Compositor_FrameTiming_0912, m_flCompositorRenderCpuMs) == 120 ); -C_ASSERT( sizeof(u64_Compositor_FrameTiming_0912().m_flCompositorRenderCpuMs) >= 4 ); -C_ASSERT( offsetof(u64_Compositor_FrameTiming_0912, m_flCompositorRenderGpuMs) == 124 ); -C_ASSERT( sizeof(u64_Compositor_FrameTiming_0912().m_flCompositorRenderGpuMs) >= 4 ); -C_ASSERT( offsetof(u64_Compositor_FrameTiming_0912, m_flPresentCallCpuMs) == 128 ); -C_ASSERT( sizeof(u64_Compositor_FrameTiming_0912().m_flPresentCallCpuMs) >= 4 ); -C_ASSERT( offsetof(u64_Compositor_FrameTiming_0912, m_flRunningStartMs) == 132 ); -C_ASSERT( sizeof(u64_Compositor_FrameTiming_0912().m_flRunningStartMs) >= 4 ); -C_ASSERT( offsetof(u64_Compositor_FrameTiming_0912, m_flHandoffStartMs) == 136 ); -C_ASSERT( sizeof(u64_Compositor_FrameTiming_0912().m_flHandoffStartMs) >= 4 ); -C_ASSERT( offsetof(u64_Compositor_FrameTiming_0912, m_flHandoffEndMs) == 140 ); -C_ASSERT( sizeof(u64_Compositor_FrameTiming_0912().m_flHandoffEndMs) >= 4 ); - -C_ASSERT( sizeof(w32_Compositor_FrameTiming_0912) >= 152 ); -C_ASSERT( offsetof(w32_Compositor_FrameTiming_0912, size) == 0 ); -C_ASSERT( sizeof(w32_Compositor_FrameTiming_0912().size) >= 4 ); -C_ASSERT( offsetof(w32_Compositor_FrameTiming_0912, frameStart) == 8 ); -C_ASSERT( sizeof(w32_Compositor_FrameTiming_0912().frameStart) >= 8 ); -C_ASSERT( offsetof(w32_Compositor_FrameTiming_0912, frameVSync) == 16 ); -C_ASSERT( sizeof(w32_Compositor_FrameTiming_0912().frameVSync) >= 4 ); -C_ASSERT( offsetof(w32_Compositor_FrameTiming_0912, droppedFrames) == 20 ); -C_ASSERT( sizeof(w32_Compositor_FrameTiming_0912().droppedFrames) >= 4 ); -C_ASSERT( offsetof(w32_Compositor_FrameTiming_0912, frameIndex) == 24 ); -C_ASSERT( sizeof(w32_Compositor_FrameTiming_0912().frameIndex) >= 4 ); -C_ASSERT( offsetof(w32_Compositor_FrameTiming_0912, pose) == 28 ); -C_ASSERT( sizeof(w32_Compositor_FrameTiming_0912().pose) >= 80 ); -C_ASSERT( offsetof(w32_Compositor_FrameTiming_0912, prediction) == 108 ); -C_ASSERT( sizeof(w32_Compositor_FrameTiming_0912().prediction) >= 4 ); -C_ASSERT( offsetof(w32_Compositor_FrameTiming_0912, m_flFrameIntervalMs) == 112 ); -C_ASSERT( sizeof(w32_Compositor_FrameTiming_0912().m_flFrameIntervalMs) >= 4 ); -C_ASSERT( offsetof(w32_Compositor_FrameTiming_0912, m_flSceneRenderCpuMs) == 116 ); -C_ASSERT( sizeof(w32_Compositor_FrameTiming_0912().m_flSceneRenderCpuMs) >= 4 ); -C_ASSERT( offsetof(w32_Compositor_FrameTiming_0912, m_flSceneRenderGpuMs) == 120 ); -C_ASSERT( sizeof(w32_Compositor_FrameTiming_0912().m_flSceneRenderGpuMs) >= 4 ); -C_ASSERT( offsetof(w32_Compositor_FrameTiming_0912, m_flCompositorRenderCpuMs) == 124 ); -C_ASSERT( sizeof(w32_Compositor_FrameTiming_0912().m_flCompositorRenderCpuMs) >= 4 ); -C_ASSERT( offsetof(w32_Compositor_FrameTiming_0912, m_flCompositorRenderGpuMs) == 128 ); -C_ASSERT( sizeof(w32_Compositor_FrameTiming_0912().m_flCompositorRenderGpuMs) >= 4 ); -C_ASSERT( offsetof(w32_Compositor_FrameTiming_0912, m_flPresentCallCpuMs) == 132 ); -C_ASSERT( sizeof(w32_Compositor_FrameTiming_0912().m_flPresentCallCpuMs) >= 4 ); -C_ASSERT( offsetof(w32_Compositor_FrameTiming_0912, m_flRunningStartMs) == 136 ); -C_ASSERT( sizeof(w32_Compositor_FrameTiming_0912().m_flRunningStartMs) >= 4 ); -C_ASSERT( offsetof(w32_Compositor_FrameTiming_0912, m_flHandoffStartMs) == 140 ); -C_ASSERT( sizeof(w32_Compositor_FrameTiming_0912().m_flHandoffStartMs) >= 4 ); -C_ASSERT( offsetof(w32_Compositor_FrameTiming_0912, m_flHandoffEndMs) == 144 ); -C_ASSERT( sizeof(w32_Compositor_FrameTiming_0912().m_flHandoffEndMs) >= 4 ); - -C_ASSERT( sizeof(u32_Compositor_FrameTiming_0912) >= 144 ); -C_ASSERT( offsetof(u32_Compositor_FrameTiming_0912, size) == 0 ); -C_ASSERT( sizeof(u32_Compositor_FrameTiming_0912().size) >= 4 ); -C_ASSERT( offsetof(u32_Compositor_FrameTiming_0912, frameStart) == 4 ); -C_ASSERT( sizeof(u32_Compositor_FrameTiming_0912().frameStart) >= 8 ); -C_ASSERT( offsetof(u32_Compositor_FrameTiming_0912, frameVSync) == 12 ); -C_ASSERT( sizeof(u32_Compositor_FrameTiming_0912().frameVSync) >= 4 ); -C_ASSERT( offsetof(u32_Compositor_FrameTiming_0912, droppedFrames) == 16 ); -C_ASSERT( sizeof(u32_Compositor_FrameTiming_0912().droppedFrames) >= 4 ); -C_ASSERT( offsetof(u32_Compositor_FrameTiming_0912, frameIndex) == 20 ); -C_ASSERT( sizeof(u32_Compositor_FrameTiming_0912().frameIndex) >= 4 ); -C_ASSERT( offsetof(u32_Compositor_FrameTiming_0912, pose) == 24 ); -C_ASSERT( sizeof(u32_Compositor_FrameTiming_0912().pose) >= 80 ); -C_ASSERT( offsetof(u32_Compositor_FrameTiming_0912, prediction) == 104 ); -C_ASSERT( sizeof(u32_Compositor_FrameTiming_0912().prediction) >= 4 ); -C_ASSERT( offsetof(u32_Compositor_FrameTiming_0912, m_flFrameIntervalMs) == 108 ); -C_ASSERT( sizeof(u32_Compositor_FrameTiming_0912().m_flFrameIntervalMs) >= 4 ); -C_ASSERT( offsetof(u32_Compositor_FrameTiming_0912, m_flSceneRenderCpuMs) == 112 ); -C_ASSERT( sizeof(u32_Compositor_FrameTiming_0912().m_flSceneRenderCpuMs) >= 4 ); -C_ASSERT( offsetof(u32_Compositor_FrameTiming_0912, m_flSceneRenderGpuMs) == 116 ); -C_ASSERT( sizeof(u32_Compositor_FrameTiming_0912().m_flSceneRenderGpuMs) >= 4 ); -C_ASSERT( offsetof(u32_Compositor_FrameTiming_0912, m_flCompositorRenderCpuMs) == 120 ); -C_ASSERT( sizeof(u32_Compositor_FrameTiming_0912().m_flCompositorRenderCpuMs) >= 4 ); -C_ASSERT( offsetof(u32_Compositor_FrameTiming_0912, m_flCompositorRenderGpuMs) == 124 ); -C_ASSERT( sizeof(u32_Compositor_FrameTiming_0912().m_flCompositorRenderGpuMs) >= 4 ); -C_ASSERT( offsetof(u32_Compositor_FrameTiming_0912, m_flPresentCallCpuMs) == 128 ); -C_ASSERT( sizeof(u32_Compositor_FrameTiming_0912().m_flPresentCallCpuMs) >= 4 ); -C_ASSERT( offsetof(u32_Compositor_FrameTiming_0912, m_flRunningStartMs) == 132 ); -C_ASSERT( sizeof(u32_Compositor_FrameTiming_0912().m_flRunningStartMs) >= 4 ); -C_ASSERT( offsetof(u32_Compositor_FrameTiming_0912, m_flHandoffStartMs) == 136 ); -C_ASSERT( sizeof(u32_Compositor_FrameTiming_0912().m_flHandoffStartMs) >= 4 ); -C_ASSERT( offsetof(u32_Compositor_FrameTiming_0912, m_flHandoffEndMs) == 140 ); -C_ASSERT( sizeof(u32_Compositor_FrameTiming_0912().m_flHandoffEndMs) >= 4 ); +C_ASSERT( sizeof(w64_Compositor_FrameTiming_0911) >= 152 ); +C_ASSERT( offsetof(w64_Compositor_FrameTiming_0911, size) == 0 ); +C_ASSERT( sizeof(w64_Compositor_FrameTiming_0911().size) >= 4 ); +C_ASSERT( offsetof(w64_Compositor_FrameTiming_0911, frameStart) == 8 ); +C_ASSERT( sizeof(w64_Compositor_FrameTiming_0911().frameStart) >= 8 ); +C_ASSERT( offsetof(w64_Compositor_FrameTiming_0911, frameVSync) == 16 ); +C_ASSERT( sizeof(w64_Compositor_FrameTiming_0911().frameVSync) >= 4 ); +C_ASSERT( offsetof(w64_Compositor_FrameTiming_0911, droppedFrames) == 20 ); +C_ASSERT( sizeof(w64_Compositor_FrameTiming_0911().droppedFrames) >= 4 ); +C_ASSERT( offsetof(w64_Compositor_FrameTiming_0911, frameIndex) == 24 ); +C_ASSERT( sizeof(w64_Compositor_FrameTiming_0911().frameIndex) >= 4 ); +C_ASSERT( offsetof(w64_Compositor_FrameTiming_0911, pose) == 28 ); +C_ASSERT( sizeof(w64_Compositor_FrameTiming_0911().pose) >= 80 ); +C_ASSERT( offsetof(w64_Compositor_FrameTiming_0911, prediction) == 108 ); +C_ASSERT( sizeof(w64_Compositor_FrameTiming_0911().prediction) >= 4 ); +C_ASSERT( offsetof(w64_Compositor_FrameTiming_0911, m_flFrameIntervalMs) == 112 ); +C_ASSERT( sizeof(w64_Compositor_FrameTiming_0911().m_flFrameIntervalMs) >= 4 ); +C_ASSERT( offsetof(w64_Compositor_FrameTiming_0911, m_flSceneRenderCpuMs) == 116 ); +C_ASSERT( sizeof(w64_Compositor_FrameTiming_0911().m_flSceneRenderCpuMs) >= 4 ); +C_ASSERT( offsetof(w64_Compositor_FrameTiming_0911, m_flSceneRenderGpuMs) == 120 ); +C_ASSERT( sizeof(w64_Compositor_FrameTiming_0911().m_flSceneRenderGpuMs) >= 4 ); +C_ASSERT( offsetof(w64_Compositor_FrameTiming_0911, m_flCompositorRenderCpuMs) == 124 ); +C_ASSERT( sizeof(w64_Compositor_FrameTiming_0911().m_flCompositorRenderCpuMs) >= 4 ); +C_ASSERT( offsetof(w64_Compositor_FrameTiming_0911, m_flCompositorRenderGpuMs) == 128 ); +C_ASSERT( sizeof(w64_Compositor_FrameTiming_0911().m_flCompositorRenderGpuMs) >= 4 ); +C_ASSERT( offsetof(w64_Compositor_FrameTiming_0911, m_flPresentCallCpuMs) == 132 ); +C_ASSERT( sizeof(w64_Compositor_FrameTiming_0911().m_flPresentCallCpuMs) >= 4 ); +C_ASSERT( offsetof(w64_Compositor_FrameTiming_0911, m_flRunningStartMs) == 136 ); +C_ASSERT( sizeof(w64_Compositor_FrameTiming_0911().m_flRunningStartMs) >= 4 ); +C_ASSERT( offsetof(w64_Compositor_FrameTiming_0911, m_flHandoffStartMs) == 140 ); +C_ASSERT( sizeof(w64_Compositor_FrameTiming_0911().m_flHandoffStartMs) >= 4 ); +C_ASSERT( offsetof(w64_Compositor_FrameTiming_0911, m_flHandoffEndMs) == 144 ); +C_ASSERT( sizeof(w64_Compositor_FrameTiming_0911().m_flHandoffEndMs) >= 4 ); + +C_ASSERT( sizeof(u64_Compositor_FrameTiming_0911) >= 144 ); +C_ASSERT( offsetof(u64_Compositor_FrameTiming_0911, size) == 0 ); +C_ASSERT( sizeof(u64_Compositor_FrameTiming_0911().size) >= 4 ); +C_ASSERT( offsetof(u64_Compositor_FrameTiming_0911, frameStart) == 4 ); +C_ASSERT( sizeof(u64_Compositor_FrameTiming_0911().frameStart) >= 8 ); +C_ASSERT( offsetof(u64_Compositor_FrameTiming_0911, frameVSync) == 12 ); +C_ASSERT( sizeof(u64_Compositor_FrameTiming_0911().frameVSync) >= 4 ); +C_ASSERT( offsetof(u64_Compositor_FrameTiming_0911, droppedFrames) == 16 ); +C_ASSERT( sizeof(u64_Compositor_FrameTiming_0911().droppedFrames) >= 4 ); +C_ASSERT( offsetof(u64_Compositor_FrameTiming_0911, frameIndex) == 20 ); +C_ASSERT( sizeof(u64_Compositor_FrameTiming_0911().frameIndex) >= 4 ); +C_ASSERT( offsetof(u64_Compositor_FrameTiming_0911, pose) == 24 ); +C_ASSERT( sizeof(u64_Compositor_FrameTiming_0911().pose) >= 80 ); +C_ASSERT( offsetof(u64_Compositor_FrameTiming_0911, prediction) == 104 ); +C_ASSERT( sizeof(u64_Compositor_FrameTiming_0911().prediction) >= 4 ); +C_ASSERT( offsetof(u64_Compositor_FrameTiming_0911, m_flFrameIntervalMs) == 108 ); +C_ASSERT( sizeof(u64_Compositor_FrameTiming_0911().m_flFrameIntervalMs) >= 4 ); +C_ASSERT( offsetof(u64_Compositor_FrameTiming_0911, m_flSceneRenderCpuMs) == 112 ); +C_ASSERT( sizeof(u64_Compositor_FrameTiming_0911().m_flSceneRenderCpuMs) >= 4 ); +C_ASSERT( offsetof(u64_Compositor_FrameTiming_0911, m_flSceneRenderGpuMs) == 116 ); +C_ASSERT( sizeof(u64_Compositor_FrameTiming_0911().m_flSceneRenderGpuMs) >= 4 ); +C_ASSERT( offsetof(u64_Compositor_FrameTiming_0911, m_flCompositorRenderCpuMs) == 120 ); +C_ASSERT( sizeof(u64_Compositor_FrameTiming_0911().m_flCompositorRenderCpuMs) >= 4 ); +C_ASSERT( offsetof(u64_Compositor_FrameTiming_0911, m_flCompositorRenderGpuMs) == 124 ); +C_ASSERT( sizeof(u64_Compositor_FrameTiming_0911().m_flCompositorRenderGpuMs) >= 4 ); +C_ASSERT( offsetof(u64_Compositor_FrameTiming_0911, m_flPresentCallCpuMs) == 128 ); +C_ASSERT( sizeof(u64_Compositor_FrameTiming_0911().m_flPresentCallCpuMs) >= 4 ); +C_ASSERT( offsetof(u64_Compositor_FrameTiming_0911, m_flRunningStartMs) == 132 ); +C_ASSERT( sizeof(u64_Compositor_FrameTiming_0911().m_flRunningStartMs) >= 4 ); +C_ASSERT( offsetof(u64_Compositor_FrameTiming_0911, m_flHandoffStartMs) == 136 ); +C_ASSERT( sizeof(u64_Compositor_FrameTiming_0911().m_flHandoffStartMs) >= 4 ); +C_ASSERT( offsetof(u64_Compositor_FrameTiming_0911, m_flHandoffEndMs) == 140 ); +C_ASSERT( sizeof(u64_Compositor_FrameTiming_0911().m_flHandoffEndMs) >= 4 ); + +C_ASSERT( sizeof(w32_Compositor_FrameTiming_0911) >= 152 ); +C_ASSERT( offsetof(w32_Compositor_FrameTiming_0911, size) == 0 ); +C_ASSERT( sizeof(w32_Compositor_FrameTiming_0911().size) >= 4 ); +C_ASSERT( offsetof(w32_Compositor_FrameTiming_0911, frameStart) == 8 ); +C_ASSERT( sizeof(w32_Compositor_FrameTiming_0911().frameStart) >= 8 ); +C_ASSERT( offsetof(w32_Compositor_FrameTiming_0911, frameVSync) == 16 ); +C_ASSERT( sizeof(w32_Compositor_FrameTiming_0911().frameVSync) >= 4 ); +C_ASSERT( offsetof(w32_Compositor_FrameTiming_0911, droppedFrames) == 20 ); +C_ASSERT( sizeof(w32_Compositor_FrameTiming_0911().droppedFrames) >= 4 ); +C_ASSERT( offsetof(w32_Compositor_FrameTiming_0911, frameIndex) == 24 ); +C_ASSERT( sizeof(w32_Compositor_FrameTiming_0911().frameIndex) >= 4 ); +C_ASSERT( offsetof(w32_Compositor_FrameTiming_0911, pose) == 28 ); +C_ASSERT( sizeof(w32_Compositor_FrameTiming_0911().pose) >= 80 ); +C_ASSERT( offsetof(w32_Compositor_FrameTiming_0911, prediction) == 108 ); +C_ASSERT( sizeof(w32_Compositor_FrameTiming_0911().prediction) >= 4 ); +C_ASSERT( offsetof(w32_Compositor_FrameTiming_0911, m_flFrameIntervalMs) == 112 ); +C_ASSERT( sizeof(w32_Compositor_FrameTiming_0911().m_flFrameIntervalMs) >= 4 ); +C_ASSERT( offsetof(w32_Compositor_FrameTiming_0911, m_flSceneRenderCpuMs) == 116 ); +C_ASSERT( sizeof(w32_Compositor_FrameTiming_0911().m_flSceneRenderCpuMs) >= 4 ); +C_ASSERT( offsetof(w32_Compositor_FrameTiming_0911, m_flSceneRenderGpuMs) == 120 ); +C_ASSERT( sizeof(w32_Compositor_FrameTiming_0911().m_flSceneRenderGpuMs) >= 4 ); +C_ASSERT( offsetof(w32_Compositor_FrameTiming_0911, m_flCompositorRenderCpuMs) == 124 ); +C_ASSERT( sizeof(w32_Compositor_FrameTiming_0911().m_flCompositorRenderCpuMs) >= 4 ); +C_ASSERT( offsetof(w32_Compositor_FrameTiming_0911, m_flCompositorRenderGpuMs) == 128 ); +C_ASSERT( sizeof(w32_Compositor_FrameTiming_0911().m_flCompositorRenderGpuMs) >= 4 ); +C_ASSERT( offsetof(w32_Compositor_FrameTiming_0911, m_flPresentCallCpuMs) == 132 ); +C_ASSERT( sizeof(w32_Compositor_FrameTiming_0911().m_flPresentCallCpuMs) >= 4 ); +C_ASSERT( offsetof(w32_Compositor_FrameTiming_0911, m_flRunningStartMs) == 136 ); +C_ASSERT( sizeof(w32_Compositor_FrameTiming_0911().m_flRunningStartMs) >= 4 ); +C_ASSERT( offsetof(w32_Compositor_FrameTiming_0911, m_flHandoffStartMs) == 140 ); +C_ASSERT( sizeof(w32_Compositor_FrameTiming_0911().m_flHandoffStartMs) >= 4 ); +C_ASSERT( offsetof(w32_Compositor_FrameTiming_0911, m_flHandoffEndMs) == 144 ); +C_ASSERT( sizeof(w32_Compositor_FrameTiming_0911().m_flHandoffEndMs) >= 4 ); + +C_ASSERT( sizeof(u32_Compositor_FrameTiming_0911) >= 144 ); +C_ASSERT( offsetof(u32_Compositor_FrameTiming_0911, size) == 0 ); +C_ASSERT( sizeof(u32_Compositor_FrameTiming_0911().size) >= 4 ); +C_ASSERT( offsetof(u32_Compositor_FrameTiming_0911, frameStart) == 4 ); +C_ASSERT( sizeof(u32_Compositor_FrameTiming_0911().frameStart) >= 8 ); +C_ASSERT( offsetof(u32_Compositor_FrameTiming_0911, frameVSync) == 12 ); +C_ASSERT( sizeof(u32_Compositor_FrameTiming_0911().frameVSync) >= 4 ); +C_ASSERT( offsetof(u32_Compositor_FrameTiming_0911, droppedFrames) == 16 ); +C_ASSERT( sizeof(u32_Compositor_FrameTiming_0911().droppedFrames) >= 4 ); +C_ASSERT( offsetof(u32_Compositor_FrameTiming_0911, frameIndex) == 20 ); +C_ASSERT( sizeof(u32_Compositor_FrameTiming_0911().frameIndex) >= 4 ); +C_ASSERT( offsetof(u32_Compositor_FrameTiming_0911, pose) == 24 ); +C_ASSERT( sizeof(u32_Compositor_FrameTiming_0911().pose) >= 80 ); +C_ASSERT( offsetof(u32_Compositor_FrameTiming_0911, prediction) == 104 ); +C_ASSERT( sizeof(u32_Compositor_FrameTiming_0911().prediction) >= 4 ); +C_ASSERT( offsetof(u32_Compositor_FrameTiming_0911, m_flFrameIntervalMs) == 108 ); +C_ASSERT( sizeof(u32_Compositor_FrameTiming_0911().m_flFrameIntervalMs) >= 4 ); +C_ASSERT( offsetof(u32_Compositor_FrameTiming_0911, m_flSceneRenderCpuMs) == 112 ); +C_ASSERT( sizeof(u32_Compositor_FrameTiming_0911().m_flSceneRenderCpuMs) >= 4 ); +C_ASSERT( offsetof(u32_Compositor_FrameTiming_0911, m_flSceneRenderGpuMs) == 116 ); +C_ASSERT( sizeof(u32_Compositor_FrameTiming_0911().m_flSceneRenderGpuMs) >= 4 ); +C_ASSERT( offsetof(u32_Compositor_FrameTiming_0911, m_flCompositorRenderCpuMs) == 120 ); +C_ASSERT( sizeof(u32_Compositor_FrameTiming_0911().m_flCompositorRenderCpuMs) >= 4 ); +C_ASSERT( offsetof(u32_Compositor_FrameTiming_0911, m_flCompositorRenderGpuMs) == 124 ); +C_ASSERT( sizeof(u32_Compositor_FrameTiming_0911().m_flCompositorRenderGpuMs) >= 4 ); +C_ASSERT( offsetof(u32_Compositor_FrameTiming_0911, m_flPresentCallCpuMs) == 128 ); +C_ASSERT( sizeof(u32_Compositor_FrameTiming_0911().m_flPresentCallCpuMs) >= 4 ); +C_ASSERT( offsetof(u32_Compositor_FrameTiming_0911, m_flRunningStartMs) == 132 ); +C_ASSERT( sizeof(u32_Compositor_FrameTiming_0911().m_flRunningStartMs) >= 4 ); +C_ASSERT( offsetof(u32_Compositor_FrameTiming_0911, m_flHandoffStartMs) == 136 ); +C_ASSERT( sizeof(u32_Compositor_FrameTiming_0911().m_flHandoffStartMs) >= 4 ); +C_ASSERT( offsetof(u32_Compositor_FrameTiming_0911, m_flHandoffEndMs) == 140 ); +C_ASSERT( sizeof(u32_Compositor_FrameTiming_0911().m_flHandoffEndMs) >= 4 ); C_ASSERT( sizeof(w64_Compositor_FrameTiming_093) >= 144 ); C_ASSERT( offsetof(w64_Compositor_FrameTiming_093, size) == 0 ); @@ -14713,9 +15159,9 @@ u64_Compositor_FrameTiming_0913::operator w32_Compositor_FrameTiming_0913() cons #endif #if defined(__x86_64__) || defined(__aarch64__) -w64_Compositor_FrameTiming_0912::operator u64_Compositor_FrameTiming_0912() const +w64_Compositor_FrameTiming_0911::operator u64_Compositor_FrameTiming_0911() const { - u64_Compositor_FrameTiming_0912 ret; + u64_Compositor_FrameTiming_0911 ret; ret.size = this->size; ret.frameStart = this->frameStart; ret.frameVSync = this->frameVSync; @@ -14737,9 +15183,9 @@ w64_Compositor_FrameTiming_0912::operator u64_Compositor_FrameTiming_0912() cons #endif #if defined(__x86_64__) || defined(__aarch64__) -u64_Compositor_FrameTiming_0912::operator w64_Compositor_FrameTiming_0912() const +u64_Compositor_FrameTiming_0911::operator w64_Compositor_FrameTiming_0911() const { - w64_Compositor_FrameTiming_0912 ret; + w64_Compositor_FrameTiming_0911 ret; ret.size = this->size; ret.frameStart = this->frameStart; ret.frameVSync = this->frameVSync; @@ -14761,9 +15207,9 @@ u64_Compositor_FrameTiming_0912::operator w64_Compositor_FrameTiming_0912() cons #endif #ifdef __i386__ -w32_Compositor_FrameTiming_0912::operator u32_Compositor_FrameTiming_0912() const +w32_Compositor_FrameTiming_0911::operator u32_Compositor_FrameTiming_0911() const { - u32_Compositor_FrameTiming_0912 ret; + u32_Compositor_FrameTiming_0911 ret; ret.size = this->size; ret.frameStart = this->frameStart; ret.frameVSync = this->frameVSync; @@ -14785,9 +15231,9 @@ w32_Compositor_FrameTiming_0912::operator u32_Compositor_FrameTiming_0912() cons #endif #ifdef __i386__ -u32_Compositor_FrameTiming_0912::operator w32_Compositor_FrameTiming_0912() const +u32_Compositor_FrameTiming_0911::operator w32_Compositor_FrameTiming_0911() const { - w32_Compositor_FrameTiming_0912 ret; + w32_Compositor_FrameTiming_0911 ret; ret.size = this->size; ret.frameStart = this->frameStart; ret.frameVSync = this->frameVSync; @@ -14809,9 +15255,9 @@ u32_Compositor_FrameTiming_0912::operator w32_Compositor_FrameTiming_0912() cons #endif #if defined(__x86_64__) || defined(__aarch64__) -w32_Compositor_FrameTiming_0912::operator u64_Compositor_FrameTiming_0912() const +w32_Compositor_FrameTiming_0911::operator u64_Compositor_FrameTiming_0911() const { - u64_Compositor_FrameTiming_0912 ret; + u64_Compositor_FrameTiming_0911 ret; ret.size = this->size; ret.frameStart = this->frameStart; ret.frameVSync = this->frameVSync; @@ -14833,9 +15279,9 @@ w32_Compositor_FrameTiming_0912::operator u64_Compositor_FrameTiming_0912() cons #endif #if defined(__x86_64__) || defined(__aarch64__) -u64_Compositor_FrameTiming_0912::operator w32_Compositor_FrameTiming_0912() const +u64_Compositor_FrameTiming_0911::operator w32_Compositor_FrameTiming_0911() const { - w32_Compositor_FrameTiming_0912 ret; + w32_Compositor_FrameTiming_0911 ret; ret.size = this->size; ret.frameStart = this->frameStart; ret.frameVSync = this->frameVSync; @@ -17240,6 +17686,46 @@ C_ASSERT( sizeof(u32_VREvent_t_0912().data) >= 16 ); C_ASSERT( offsetof(u32_VREvent_t_0912, eventAgeSeconds) == 24 ); C_ASSERT( sizeof(u32_VREvent_t_0912().eventAgeSeconds) >= 4 ); +C_ASSERT( sizeof(w64_VREvent_t_0911) >= 32 ); +C_ASSERT( offsetof(w64_VREvent_t_0911, eventType) == 0 ); +C_ASSERT( sizeof(w64_VREvent_t_0911().eventType) >= 4 ); +C_ASSERT( offsetof(w64_VREvent_t_0911, trackedDeviceIndex) == 4 ); +C_ASSERT( sizeof(w64_VREvent_t_0911().trackedDeviceIndex) >= 4 ); +C_ASSERT( offsetof(w64_VREvent_t_0911, data) == 8 ); +C_ASSERT( sizeof(w64_VREvent_t_0911().data) >= 16 ); +C_ASSERT( offsetof(w64_VREvent_t_0911, eventAgeSeconds) == 24 ); +C_ASSERT( sizeof(w64_VREvent_t_0911().eventAgeSeconds) >= 4 ); + +C_ASSERT( sizeof(u64_VREvent_t_0911) >= 28 ); +C_ASSERT( offsetof(u64_VREvent_t_0911, eventType) == 0 ); +C_ASSERT( sizeof(u64_VREvent_t_0911().eventType) >= 4 ); +C_ASSERT( offsetof(u64_VREvent_t_0911, trackedDeviceIndex) == 4 ); +C_ASSERT( sizeof(u64_VREvent_t_0911().trackedDeviceIndex) >= 4 ); +C_ASSERT( offsetof(u64_VREvent_t_0911, data) == 8 ); +C_ASSERT( sizeof(u64_VREvent_t_0911().data) >= 16 ); +C_ASSERT( offsetof(u64_VREvent_t_0911, eventAgeSeconds) == 24 ); +C_ASSERT( sizeof(u64_VREvent_t_0911().eventAgeSeconds) >= 4 ); + +C_ASSERT( sizeof(w32_VREvent_t_0911) >= 32 ); +C_ASSERT( offsetof(w32_VREvent_t_0911, eventType) == 0 ); +C_ASSERT( sizeof(w32_VREvent_t_0911().eventType) >= 4 ); +C_ASSERT( offsetof(w32_VREvent_t_0911, trackedDeviceIndex) == 4 ); +C_ASSERT( sizeof(w32_VREvent_t_0911().trackedDeviceIndex) >= 4 ); +C_ASSERT( offsetof(w32_VREvent_t_0911, data) == 8 ); +C_ASSERT( sizeof(w32_VREvent_t_0911().data) >= 16 ); +C_ASSERT( offsetof(w32_VREvent_t_0911, eventAgeSeconds) == 24 ); +C_ASSERT( sizeof(w32_VREvent_t_0911().eventAgeSeconds) >= 4 ); + +C_ASSERT( sizeof(u32_VREvent_t_0911) >= 28 ); +C_ASSERT( offsetof(u32_VREvent_t_0911, eventType) == 0 ); +C_ASSERT( sizeof(u32_VREvent_t_0911().eventType) >= 4 ); +C_ASSERT( offsetof(u32_VREvent_t_0911, trackedDeviceIndex) == 4 ); +C_ASSERT( sizeof(u32_VREvent_t_0911().trackedDeviceIndex) >= 4 ); +C_ASSERT( offsetof(u32_VREvent_t_0911, data) == 8 ); +C_ASSERT( sizeof(u32_VREvent_t_0911().data) >= 16 ); +C_ASSERT( offsetof(u32_VREvent_t_0911, eventAgeSeconds) == 24 ); +C_ASSERT( sizeof(u32_VREvent_t_0911().eventAgeSeconds) >= 4 ); + C_ASSERT( sizeof(w64_VREvent_t_0910) >= 32 ); C_ASSERT( offsetof(w64_VREvent_t_0910, eventType) == 0 ); C_ASSERT( sizeof(w64_VREvent_t_0910().eventType) >= 4 ); @@ -19024,6 +19510,78 @@ u64_VREvent_t_0912::operator w32_VREvent_t_0912() const } #endif +#if defined(__x86_64__) || defined(__aarch64__) +w64_VREvent_t_0911::operator u64_VREvent_t_0911() const +{ + u64_VREvent_t_0911 ret; + ret.eventType = this->eventType; + ret.trackedDeviceIndex = this->trackedDeviceIndex; + ret.data = this->data; + ret.eventAgeSeconds = this->eventAgeSeconds; + return ret; +} +#endif + +#if defined(__x86_64__) || defined(__aarch64__) +u64_VREvent_t_0911::operator w64_VREvent_t_0911() const +{ + w64_VREvent_t_0911 ret; + ret.eventType = this->eventType; + ret.trackedDeviceIndex = this->trackedDeviceIndex; + ret.data = this->data; + ret.eventAgeSeconds = this->eventAgeSeconds; + return ret; +} +#endif + +#ifdef __i386__ +w32_VREvent_t_0911::operator u32_VREvent_t_0911() const +{ + u32_VREvent_t_0911 ret; + ret.eventType = this->eventType; + ret.trackedDeviceIndex = this->trackedDeviceIndex; + ret.data = this->data; + ret.eventAgeSeconds = this->eventAgeSeconds; + return ret; +} +#endif + +#ifdef __i386__ +u32_VREvent_t_0911::operator w32_VREvent_t_0911() const +{ + w32_VREvent_t_0911 ret; + ret.eventType = this->eventType; + ret.trackedDeviceIndex = this->trackedDeviceIndex; + ret.data = this->data; + ret.eventAgeSeconds = this->eventAgeSeconds; + return ret; +} +#endif + +#if defined(__x86_64__) || defined(__aarch64__) +w32_VREvent_t_0911::operator u64_VREvent_t_0911() const +{ + u64_VREvent_t_0911 ret; + ret.eventType = this->eventType; + ret.trackedDeviceIndex = this->trackedDeviceIndex; + ret.data = this->data; + ret.eventAgeSeconds = this->eventAgeSeconds; + return ret; +} +#endif + +#if defined(__x86_64__) || defined(__aarch64__) +u64_VREvent_t_0911::operator w32_VREvent_t_0911() const +{ + w32_VREvent_t_0911 ret; + ret.eventType = this->eventType; + ret.trackedDeviceIndex = this->trackedDeviceIndex; + ret.data = this->data; + ret.eventAgeSeconds = this->eventAgeSeconds; + return ret; +} +#endif + #if defined(__x86_64__) || defined(__aarch64__) w64_VREvent_t_0910::operator u64_VREvent_t_0910() const { diff --git a/vrclient_x64/unixlib_generated.h b/vrclient_x64/unixlib_generated.h index 974b855f2d..36dd67972c 100644 --- a/vrclient_x64/unixlib_generated.h +++ b/vrclient_x64/unixlib_generated.h @@ -4921,7 +4921,7 @@ struct IVRCompositor_IVRCompositor_008_GetFrameTiming_params { struct u_iface u_iface; int8_t _ret; - w_Compositor_FrameTiming_093 *pTiming; + w_Compositor_FrameTiming_0911 *pTiming; uint32_t unFramesAgo; }; @@ -4929,7 +4929,7 @@ struct wow64_IVRCompositor_IVRCompositor_008_GetFrameTiming_params { struct u_iface u_iface; int8_t _ret; - W32_PTR(w32_Compositor_FrameTiming_093 *pTiming, pTiming, w32_Compositor_FrameTiming_093 *); + W32_PTR(w32_Compositor_FrameTiming_0911 *pTiming, pTiming, w32_Compositor_FrameTiming_0911 *); uint32_t unFramesAgo; }; @@ -5147,6 +5147,36 @@ struct wow64_IVRCompositor_IVRCompositor_008_GetLastFrameRenderer_params uint32_t _ret; }; +struct IVRCompositor_IVRCompositor_008_GetLastPoses_params +{ + struct u_iface u_iface; + uint32_t _ret; + TrackedDevicePose_t *pRenderPoseArray; + uint32_t unRenderPoseArrayCount; + TrackedDevicePose_t *pGamePoseArray; + uint32_t unGamePoseArrayCount; +}; + +struct wow64_IVRCompositor_IVRCompositor_008_GetLastPoses_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(TrackedDevicePose_t *pRenderPoseArray, pRenderPoseArray, TrackedDevicePose_t *); + uint32_t unRenderPoseArrayCount; + W32_PTR(TrackedDevicePose_t *pGamePoseArray, pGamePoseArray, TrackedDevicePose_t *); + uint32_t unGamePoseArrayCount; +}; + +struct IVRCompositor_IVRCompositor_008_PostPresentHandoff_params +{ + struct u_iface u_iface; +}; + +struct wow64_IVRCompositor_IVRCompositor_008_PostPresentHandoff_params +{ + struct u_iface u_iface; +}; + struct IVRCompositor_IVRCompositor_009_SetTrackingSpace_params { struct u_iface u_iface; @@ -22447,7 +22477,7 @@ struct wow64_IVROverlay_IVROverlay_005_HideKeyboard_params struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_007_FindOverlay_params +struct IVROverlay_IVROverlay_006_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -22455,7 +22485,7 @@ struct IVROverlay_IVROverlay_007_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_007_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_006_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -22463,7 +22493,7 @@ struct wow64_IVROverlay_IVROverlay_007_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_007_CreateOverlay_params +struct IVROverlay_IVROverlay_006_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -22472,7 +22502,7 @@ struct IVROverlay_IVROverlay_007_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_007_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_006_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -22481,47 +22511,47 @@ struct wow64_IVROverlay_IVROverlay_007_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_007_DestroyOverlay_params +struct IVROverlay_IVROverlay_006_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_007_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_006_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_007_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_006_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_007_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_006_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_007_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_006_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_007_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_006_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_007_GetOverlayKey_params +struct IVROverlay_IVROverlay_006_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -22531,7 +22561,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_006_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -22541,7 +22571,7 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_007_GetOverlayName_params +struct IVROverlay_IVROverlay_006_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -22551,7 +22581,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_006_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -22561,7 +22591,7 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_007_GetOverlayImageData_params +struct IVROverlay_IVROverlay_006_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -22572,7 +22602,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_006_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -22583,21 +22613,21 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_007_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_006_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_006_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_007_SetOverlayFlag_params +struct IVROverlay_IVROverlay_006_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -22606,7 +22636,7 @@ struct IVROverlay_IVROverlay_007_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_006_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -22615,7 +22645,7 @@ struct wow64_IVROverlay_IVROverlay_007_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_007_GetOverlayFlag_params +struct IVROverlay_IVROverlay_006_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -22624,7 +22654,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_006_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -22633,7 +22663,7 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_007_SetOverlayColor_params +struct IVROverlay_IVROverlay_006_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -22643,7 +22673,7 @@ struct IVROverlay_IVROverlay_007_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_006_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -22653,7 +22683,7 @@ struct wow64_IVROverlay_IVROverlay_007_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_007_GetOverlayColor_params +struct IVROverlay_IVROverlay_006_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -22663,7 +22693,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_006_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -22673,7 +22703,7 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_007_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_006_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -22681,7 +22711,7 @@ struct IVROverlay_IVROverlay_007_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_006_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -22689,7 +22719,7 @@ struct wow64_IVROverlay_IVROverlay_007_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_007_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_006_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -22697,7 +22727,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_006_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -22705,107 +22735,107 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_007_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_006_SetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fWidthInMeters; + float fGamma; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_006_SetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fWidthInMeters; + float fGamma; }; -struct IVROverlay_IVROverlay_007_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_006_GetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float *pfWidthInMeters; + float *pfGamma; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_006_GetOverlayGamma_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); + W32_PTR(float *pfGamma, pfGamma, float *); }; -struct IVROverlay_IVROverlay_007_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_006_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fMinDistanceInMeters; - float fMaxDistanceInMeters; + float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_006_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fMinDistanceInMeters; - float fMaxDistanceInMeters; + float fWidthInMeters; }; -struct IVROverlay_IVROverlay_007_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_006_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float *pfMinDistanceInMeters; - float *pfMaxDistanceInMeters; + float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_006_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(float *pfMinDistanceInMeters, pfMinDistanceInMeters, float *); - W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); + W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_007_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_006_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t eTextureColorSpace; + float fMinDistanceInMeters; + float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_006_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t eTextureColorSpace; + float fMinDistanceInMeters; + float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_007_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_006_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t *peTextureColorSpace; + float *pfMinDistanceInMeters; + float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_006_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); + W32_PTR(float *pfMinDistanceInMeters, pfMinDistanceInMeters, float *); + W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_007_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_006_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -22813,7 +22843,7 @@ struct IVROverlay_IVROverlay_007_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_006_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -22821,7 +22851,7 @@ struct wow64_IVROverlay_IVROverlay_007_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_007_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_006_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -22829,7 +22859,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_006_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -22837,7 +22867,7 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_007_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_006_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -22845,7 +22875,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_006_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -22853,7 +22883,7 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_007_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_006_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -22862,7 +22892,7 @@ struct IVROverlay_IVROverlay_007_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_006_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -22871,7 +22901,7 @@ struct wow64_IVROverlay_IVROverlay_007_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_007_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_006_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -22880,7 +22910,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_006_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -22889,7 +22919,7 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_007_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_006_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -22898,7 +22928,7 @@ struct IVROverlay_IVROverlay_007_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_006_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -22907,7 +22937,7 @@ struct wow64_IVROverlay_IVROverlay_007_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_007_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_006_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -22916,7 +22946,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_006_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -22925,65 +22955,65 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_007_ShowOverlay_params +struct IVROverlay_IVROverlay_006_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_007_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_006_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_007_HideOverlay_params +struct IVROverlay_IVROverlay_006_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_007_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_006_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_007_IsOverlayVisible_params +struct IVROverlay_IVROverlay_006_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_007_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_006_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_007_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_006_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_0912 *pEvent; + w_VREvent_t_0911 *pEvent; }; -struct wow64_IVROverlay_IVROverlay_007_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_006_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_0912 *pEvent, pEvent, w32_VREvent_t_0912 *); + W32_PTR(w32_VREvent_t_0911 *pEvent, pEvent, w32_VREvent_t_0911 *); }; -struct IVROverlay_IVROverlay_007_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_006_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -22991,7 +23021,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_006_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -22999,7 +23029,7 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_007_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_006_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -23007,7 +23037,7 @@ struct IVROverlay_IVROverlay_007_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_006_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -23015,7 +23045,7 @@ struct wow64_IVROverlay_IVROverlay_007_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_007_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_006_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -23023,7 +23053,7 @@ struct IVROverlay_IVROverlay_007_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_007_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_006_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -23031,7 +23061,7 @@ struct wow64_IVROverlay_IVROverlay_007_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_007_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_006_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -23039,7 +23069,7 @@ struct IVROverlay_IVROverlay_007_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_006_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -23047,7 +23077,7 @@ struct wow64_IVROverlay_IVROverlay_007_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_007_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_006_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -23056,7 +23086,7 @@ struct IVROverlay_IVROverlay_007_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_007_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_006_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -23065,7 +23095,7 @@ struct wow64_IVROverlay_IVROverlay_007_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_007_HandleControllerOverlayInteractionAsMouse_params +struct IVROverlay_IVROverlay_006_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -23073,7 +23103,7 @@ struct IVROverlay_IVROverlay_007_HandleControllerOverlayInteractionAsMouse_param uint32_t unControllerDeviceIndex; }; -struct wow64_IVROverlay_IVROverlay_007_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVROverlay_IVROverlay_006_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -23081,47 +23111,47 @@ struct wow64_IVROverlay_IVROverlay_007_HandleControllerOverlayInteractionAsMouse uint32_t unControllerDeviceIndex; }; -struct IVROverlay_IVROverlay_007_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_006_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_007_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_006_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_007_GetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_006_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_007_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_006_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_007_SetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_006_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct wow64_IVROverlay_IVROverlay_007_SetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_006_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct IVROverlay_IVROverlay_007_SetOverlayNeighbor_params +struct IVROverlay_IVROverlay_006_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -23130,7 +23160,7 @@ struct IVROverlay_IVROverlay_007_SetOverlayNeighbor_params uint64_t ulTo; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayNeighbor_params +struct wow64_IVROverlay_IVROverlay_006_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -23139,7 +23169,7 @@ struct wow64_IVROverlay_IVROverlay_007_SetOverlayNeighbor_params uint64_t ulTo; }; -struct IVROverlay_IVROverlay_007_MoveGamepadFocusToNeighbor_params +struct IVROverlay_IVROverlay_006_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -23147,7 +23177,7 @@ struct IVROverlay_IVROverlay_007_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct wow64_IVROverlay_IVROverlay_007_MoveGamepadFocusToNeighbor_params +struct wow64_IVROverlay_IVROverlay_006_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -23155,37 +23185,39 @@ struct wow64_IVROverlay_IVROverlay_007_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct IVROverlay_IVROverlay_007_SetOverlayTexture_params +struct IVROverlay_IVROverlay_006_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - const w_Texture_t *pTexture; + uint32_t eTextureType; + void *pTexture; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_006_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); + uint32_t eTextureType; + W32_PTR(void *pTexture, pTexture, void *); }; -struct IVROverlay_IVROverlay_007_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_006_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_007_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_006_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_007_SetOverlayRaw_params +struct IVROverlay_IVROverlay_006_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -23196,7 +23228,7 @@ struct IVROverlay_IVROverlay_007_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_006_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -23207,7 +23239,7 @@ struct wow64_IVROverlay_IVROverlay_007_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_007_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_006_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -23215,7 +23247,7 @@ struct IVROverlay_IVROverlay_007_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_007_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_006_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -23223,7 +23255,7 @@ struct wow64_IVROverlay_IVROverlay_007_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_007_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_006_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -23233,7 +23265,7 @@ struct IVROverlay_IVROverlay_007_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_007_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_006_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -23243,33 +23275,33 @@ struct wow64_IVROverlay_IVROverlay_007_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_007_IsDashboardVisible_params +struct IVROverlay_IVROverlay_006_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_007_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_006_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_007_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_006_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_007_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_006_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_007_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_006_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -23277,7 +23309,7 @@ struct IVROverlay_IVROverlay_007_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_007_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_006_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -23285,7 +23317,7 @@ struct wow64_IVROverlay_IVROverlay_007_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_007_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_006_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -23293,7 +23325,7 @@ struct IVROverlay_IVROverlay_007_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_007_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_006_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -23301,19 +23333,19 @@ struct wow64_IVROverlay_IVROverlay_007_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_007_ShowDashboard_params +struct IVROverlay_IVROverlay_006_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_007_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_006_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_007_ShowKeyboard_params +struct IVROverlay_IVROverlay_006_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -23326,7 +23358,7 @@ struct IVROverlay_IVROverlay_007_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_007_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_006_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -23339,7 +23371,7 @@ struct wow64_IVROverlay_IVROverlay_007_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_007_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_006_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -23353,7 +23385,7 @@ struct IVROverlay_IVROverlay_007_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_007_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_006_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -23367,7 +23399,7 @@ struct wow64_IVROverlay_IVROverlay_007_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_007_GetKeyboardText_params +struct IVROverlay_IVROverlay_006_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -23375,7 +23407,7 @@ struct IVROverlay_IVROverlay_007_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_007_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_006_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -23383,17 +23415,17 @@ struct wow64_IVROverlay_IVROverlay_007_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_007_HideKeyboard_params +struct IVROverlay_IVROverlay_006_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_007_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_006_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_008_FindOverlay_params +struct IVROverlay_IVROverlay_007_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -23401,7 +23433,7 @@ struct IVROverlay_IVROverlay_008_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_008_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_007_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -23409,7 +23441,7 @@ struct wow64_IVROverlay_IVROverlay_008_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_008_CreateOverlay_params +struct IVROverlay_IVROverlay_007_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -23418,7 +23450,7 @@ struct IVROverlay_IVROverlay_008_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_008_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_007_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -23427,47 +23459,47 @@ struct wow64_IVROverlay_IVROverlay_008_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_008_DestroyOverlay_params +struct IVROverlay_IVROverlay_007_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_008_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_007_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_008_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_007_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_008_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_007_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_008_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_007_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_008_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_007_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_008_GetOverlayKey_params +struct IVROverlay_IVROverlay_007_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -23477,7 +23509,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -23487,7 +23519,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_008_GetOverlayName_params +struct IVROverlay_IVROverlay_007_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -23497,7 +23529,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -23507,7 +23539,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_008_GetOverlayImageData_params +struct IVROverlay_IVROverlay_007_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -23518,7 +23550,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -23529,21 +23561,21 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_008_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_007_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_008_SetOverlayFlag_params +struct IVROverlay_IVROverlay_007_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -23552,7 +23584,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -23561,7 +23593,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_008_GetOverlayFlag_params +struct IVROverlay_IVROverlay_007_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -23570,7 +23602,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -23579,7 +23611,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_008_SetOverlayColor_params +struct IVROverlay_IVROverlay_007_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -23589,7 +23621,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -23599,7 +23631,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_008_GetOverlayColor_params +struct IVROverlay_IVROverlay_007_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -23609,7 +23641,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -23619,7 +23651,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_008_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_007_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -23627,7 +23659,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -23635,7 +23667,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_008_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_007_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -23643,7 +23675,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -23651,7 +23683,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_008_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_007_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -23659,7 +23691,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -23667,7 +23699,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_008_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_007_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -23675,7 +23707,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -23683,7 +23715,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_008_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_007_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -23692,7 +23724,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayAutoCurveDistanceRangeInMeters_params float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -23701,7 +23733,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayAutoCurveDistanceRangeInMeters_ float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_008_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_007_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -23710,7 +23742,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayAutoCurveDistanceRangeInMeters_params float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -23719,7 +23751,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayAutoCurveDistanceRangeInMeters_ W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_008_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_007_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -23727,7 +23759,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -23735,7 +23767,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_008_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_007_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -23743,7 +23775,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -23751,7 +23783,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_008_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_007_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -23759,7 +23791,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -23767,7 +23799,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_008_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_007_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -23775,7 +23807,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -23783,7 +23815,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_008_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_007_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -23791,7 +23823,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -23799,7 +23831,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_008_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_007_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -23808,7 +23840,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -23817,7 +23849,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_008_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_007_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -23826,7 +23858,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -23835,7 +23867,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_008_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_007_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -23844,7 +23876,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -23853,7 +23885,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_008_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_007_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -23862,7 +23894,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -23871,85 +23903,65 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_008_ShowOverlay_params +struct IVROverlay_IVROverlay_007_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_008_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_007_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_008_HideOverlay_params +struct IVROverlay_IVROverlay_007_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_008_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_007_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_008_IsOverlayVisible_params +struct IVROverlay_IVROverlay_007_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_008_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_007_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_008_GetTransformForOverlayCoordinates_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eTrackingOrigin; - HmdVector2_t coordinatesInOverlay; - HmdMatrix34_t *pmatTransform; -}; - -struct wow64_IVROverlay_IVROverlay_008_GetTransformForOverlayCoordinates_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eTrackingOrigin; - HmdVector2_t coordinatesInOverlay; - W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); -}; - -struct IVROverlay_IVROverlay_008_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_007_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_0914 *pEvent; + w_VREvent_t_0912 *pEvent; }; -struct wow64_IVROverlay_IVROverlay_008_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_007_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_0914 *pEvent, pEvent, w32_VREvent_t_0914 *); + W32_PTR(w32_VREvent_t_0912 *pEvent, pEvent, w32_VREvent_t_0912 *); }; -struct IVROverlay_IVROverlay_008_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_007_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -23957,7 +23969,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -23965,7 +23977,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_008_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_007_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -23973,7 +23985,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -23981,7 +23993,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_008_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_007_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -23989,7 +24001,7 @@ struct IVROverlay_IVROverlay_008_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_008_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_007_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -23997,7 +24009,7 @@ struct wow64_IVROverlay_IVROverlay_008_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_008_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_007_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -24005,7 +24017,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -24013,7 +24025,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_008_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_007_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -24022,7 +24034,7 @@ struct IVROverlay_IVROverlay_008_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_008_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_007_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -24031,7 +24043,7 @@ struct wow64_IVROverlay_IVROverlay_008_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_008_HandleControllerOverlayInteractionAsMouse_params +struct IVROverlay_IVROverlay_007_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -24039,7 +24051,7 @@ struct IVROverlay_IVROverlay_008_HandleControllerOverlayInteractionAsMouse_param uint32_t unControllerDeviceIndex; }; -struct wow64_IVROverlay_IVROverlay_008_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVROverlay_IVROverlay_007_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -24047,47 +24059,47 @@ struct wow64_IVROverlay_IVROverlay_008_HandleControllerOverlayInteractionAsMouse uint32_t unControllerDeviceIndex; }; -struct IVROverlay_IVROverlay_008_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_007_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_008_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_007_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_008_GetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_007_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_008_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_007_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_008_SetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_007_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct wow64_IVROverlay_IVROverlay_008_SetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_007_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct IVROverlay_IVROverlay_008_SetOverlayNeighbor_params +struct IVROverlay_IVROverlay_007_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -24096,7 +24108,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayNeighbor_params uint64_t ulTo; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayNeighbor_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -24105,7 +24117,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayNeighbor_params uint64_t ulTo; }; -struct IVROverlay_IVROverlay_008_MoveGamepadFocusToNeighbor_params +struct IVROverlay_IVROverlay_007_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -24113,7 +24125,7 @@ struct IVROverlay_IVROverlay_008_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct wow64_IVROverlay_IVROverlay_008_MoveGamepadFocusToNeighbor_params +struct wow64_IVROverlay_IVROverlay_007_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -24121,7 +24133,7 @@ struct wow64_IVROverlay_IVROverlay_008_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct IVROverlay_IVROverlay_008_SetOverlayTexture_params +struct IVROverlay_IVROverlay_007_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -24129,7 +24141,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -24137,21 +24149,21 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_008_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_007_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_008_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_007_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_008_SetOverlayRaw_params +struct IVROverlay_IVROverlay_007_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -24162,7 +24174,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -24173,7 +24185,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_008_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_007_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -24181,7 +24193,7 @@ struct IVROverlay_IVROverlay_008_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_008_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_007_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -24189,7 +24201,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_008_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_007_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -24199,7 +24211,7 @@ struct IVROverlay_IVROverlay_008_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_008_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_007_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -24209,33 +24221,33 @@ struct wow64_IVROverlay_IVROverlay_008_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_008_IsDashboardVisible_params +struct IVROverlay_IVROverlay_007_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_008_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_007_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_008_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_007_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_008_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_007_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_008_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_007_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -24243,7 +24255,7 @@ struct IVROverlay_IVROverlay_008_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_008_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_007_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -24251,7 +24263,7 @@ struct wow64_IVROverlay_IVROverlay_008_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_008_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_007_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -24259,7 +24271,7 @@ struct IVROverlay_IVROverlay_008_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_008_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_007_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -24267,19 +24279,19 @@ struct wow64_IVROverlay_IVROverlay_008_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_008_ShowDashboard_params +struct IVROverlay_IVROverlay_007_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_008_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_007_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_008_ShowKeyboard_params +struct IVROverlay_IVROverlay_007_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -24292,7 +24304,7 @@ struct IVROverlay_IVROverlay_008_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_008_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_007_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -24305,7 +24317,7 @@ struct wow64_IVROverlay_IVROverlay_008_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_008_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_007_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -24319,7 +24331,7 @@ struct IVROverlay_IVROverlay_008_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_008_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_007_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -24333,7 +24345,7 @@ struct wow64_IVROverlay_IVROverlay_008_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_008_GetKeyboardText_params +struct IVROverlay_IVROverlay_007_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -24341,7 +24353,7 @@ struct IVROverlay_IVROverlay_008_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_008_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_007_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -24349,45 +24361,17 @@ struct wow64_IVROverlay_IVROverlay_008_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_008_HideKeyboard_params -{ - struct u_iface u_iface; -}; - -struct wow64_IVROverlay_IVROverlay_008_HideKeyboard_params -{ - struct u_iface u_iface; -}; - -struct IVROverlay_IVROverlay_008_SetKeyboardTransformAbsolute_params -{ - struct u_iface u_iface; - uint32_t eTrackingOrigin; - const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; -}; - -struct wow64_IVROverlay_IVROverlay_008_SetKeyboardTransformAbsolute_params -{ - struct u_iface u_iface; - uint32_t eTrackingOrigin; - W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); -}; - -struct IVROverlay_IVROverlay_008_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_007_HideKeyboard_params { struct u_iface u_iface; - uint64_t ulOverlayHandle; - HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_008_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_007_HideKeyboard_params { struct u_iface u_iface; - uint64_t ulOverlayHandle; - HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_010_FindOverlay_params +struct IVROverlay_IVROverlay_008_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -24395,7 +24379,7 @@ struct IVROverlay_IVROverlay_010_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_010_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_008_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -24403,7 +24387,7 @@ struct wow64_IVROverlay_IVROverlay_010_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_010_CreateOverlay_params +struct IVROverlay_IVROverlay_008_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -24412,7 +24396,7 @@ struct IVROverlay_IVROverlay_010_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_010_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_008_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -24421,47 +24405,47 @@ struct wow64_IVROverlay_IVROverlay_010_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_010_DestroyOverlay_params +struct IVROverlay_IVROverlay_008_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_010_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_008_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_010_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_008_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_010_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_008_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_010_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_008_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_010_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_008_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_010_GetOverlayKey_params +struct IVROverlay_IVROverlay_008_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -24471,7 +24455,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -24481,7 +24465,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_010_GetOverlayName_params +struct IVROverlay_IVROverlay_008_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -24491,7 +24475,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -24501,7 +24485,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_010_GetOverlayImageData_params +struct IVROverlay_IVROverlay_008_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -24512,7 +24496,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -24523,21 +24507,21 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_010_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_008_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_010_SetOverlayFlag_params +struct IVROverlay_IVROverlay_008_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -24546,7 +24530,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -24555,7 +24539,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_010_GetOverlayFlag_params +struct IVROverlay_IVROverlay_008_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -24564,7 +24548,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -24573,7 +24557,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_010_SetOverlayColor_params +struct IVROverlay_IVROverlay_008_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -24583,7 +24567,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -24593,7 +24577,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_010_GetOverlayColor_params +struct IVROverlay_IVROverlay_008_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -24603,7 +24587,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -24613,7 +24597,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_010_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_008_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -24621,7 +24605,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -24629,7 +24613,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_010_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_008_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -24637,7 +24621,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -24645,7 +24629,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_010_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_008_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -24653,7 +24637,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -24661,7 +24645,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_010_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_008_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -24669,7 +24653,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -24677,7 +24661,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_010_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_008_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -24686,7 +24670,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayAutoCurveDistanceRangeInMeters_params float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -24695,7 +24679,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayAutoCurveDistanceRangeInMeters_ float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_010_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_008_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -24704,7 +24688,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayAutoCurveDistanceRangeInMeters_params float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -24713,7 +24697,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayAutoCurveDistanceRangeInMeters_ W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_010_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_008_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -24721,7 +24705,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -24729,7 +24713,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_010_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_008_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -24737,7 +24721,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -24745,7 +24729,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_010_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_008_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -24753,7 +24737,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -24761,7 +24745,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_010_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_008_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -24769,7 +24753,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -24777,7 +24761,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_010_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_008_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -24785,7 +24769,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -24793,7 +24777,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_010_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_008_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -24802,7 +24786,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -24811,7 +24795,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_010_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_008_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -24820,7 +24804,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -24829,7 +24813,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_008_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -24838,7 +24822,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -24847,7 +24831,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_008_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -24856,7 +24840,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -24865,87 +24849,49 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceComponent_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t unDeviceIndex; - const char *pchComponentName; -}; - -struct wow64_IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceComponent_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t unDeviceIndex; - W32_PTR(const char *pchComponentName, pchComponentName, const char *); -}; - -struct IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceComponent_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t *punDeviceIndex; - char *pchComponentName; - uint32_t unComponentNameSize; -}; - -struct wow64_IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceComponent_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(uint32_t *punDeviceIndex, punDeviceIndex, uint32_t *); - W32_PTR(char *pchComponentName, pchComponentName, char *); - uint32_t unComponentNameSize; -}; - -struct IVROverlay_IVROverlay_010_ShowOverlay_params +struct IVROverlay_IVROverlay_008_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_010_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_008_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_010_HideOverlay_params +struct IVROverlay_IVROverlay_008_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_010_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_008_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_010_IsOverlayVisible_params +struct IVROverlay_IVROverlay_008_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_010_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_008_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_010_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_008_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -24955,7 +24901,7 @@ struct IVROverlay_IVROverlay_010_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_010_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_008_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -24965,25 +24911,23 @@ struct wow64_IVROverlay_IVROverlay_010_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_010_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_008_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_0918 *pEvent; - uint32_t uncbVREvent; + w_VREvent_t_0914 *pEvent; }; -struct wow64_IVROverlay_IVROverlay_010_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_008_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_0918 *pEvent, pEvent, w32_VREvent_t_0918 *); - uint32_t uncbVREvent; + W32_PTR(w32_VREvent_t_0914 *pEvent, pEvent, w32_VREvent_t_0914 *); }; -struct IVROverlay_IVROverlay_010_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_008_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -24991,7 +24935,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -24999,7 +24943,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_010_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_008_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -25007,7 +24951,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -25015,7 +24959,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_010_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_008_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -25023,7 +24967,7 @@ struct IVROverlay_IVROverlay_010_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_010_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_008_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -25031,7 +24975,7 @@ struct wow64_IVROverlay_IVROverlay_010_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_010_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_008_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -25039,7 +24983,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -25047,7 +24991,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_010_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_008_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -25056,7 +25000,7 @@ struct IVROverlay_IVROverlay_010_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_010_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_008_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -25065,7 +25009,7 @@ struct wow64_IVROverlay_IVROverlay_010_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_010_HandleControllerOverlayInteractionAsMouse_params +struct IVROverlay_IVROverlay_008_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -25073,7 +25017,7 @@ struct IVROverlay_IVROverlay_010_HandleControllerOverlayInteractionAsMouse_param uint32_t unControllerDeviceIndex; }; -struct wow64_IVROverlay_IVROverlay_010_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVROverlay_IVROverlay_008_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -25081,47 +25025,47 @@ struct wow64_IVROverlay_IVROverlay_010_HandleControllerOverlayInteractionAsMouse uint32_t unControllerDeviceIndex; }; -struct IVROverlay_IVROverlay_010_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_008_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_010_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_008_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_010_GetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_008_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_010_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_008_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_010_SetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_008_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct wow64_IVROverlay_IVROverlay_010_SetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_008_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct IVROverlay_IVROverlay_010_SetOverlayNeighbor_params +struct IVROverlay_IVROverlay_008_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -25130,7 +25074,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayNeighbor_params uint64_t ulTo; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayNeighbor_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -25139,7 +25083,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayNeighbor_params uint64_t ulTo; }; -struct IVROverlay_IVROverlay_010_MoveGamepadFocusToNeighbor_params +struct IVROverlay_IVROverlay_008_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -25147,7 +25091,7 @@ struct IVROverlay_IVROverlay_010_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct wow64_IVROverlay_IVROverlay_010_MoveGamepadFocusToNeighbor_params +struct wow64_IVROverlay_IVROverlay_008_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -25155,7 +25099,7 @@ struct wow64_IVROverlay_IVROverlay_010_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct IVROverlay_IVROverlay_010_SetOverlayTexture_params +struct IVROverlay_IVROverlay_008_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -25163,7 +25107,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -25171,21 +25115,21 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_010_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_008_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_010_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_008_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_010_SetOverlayRaw_params +struct IVROverlay_IVROverlay_008_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -25196,7 +25140,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -25207,7 +25151,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_010_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_008_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -25215,7 +25159,7 @@ struct IVROverlay_IVROverlay_010_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_010_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_008_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -25223,7 +25167,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_010_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_008_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -25233,7 +25177,7 @@ struct IVROverlay_IVROverlay_010_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_010_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_008_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -25243,33 +25187,33 @@ struct wow64_IVROverlay_IVROverlay_010_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_010_IsDashboardVisible_params +struct IVROverlay_IVROverlay_008_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_010_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_008_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_010_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_008_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_010_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_008_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_010_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_008_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -25277,7 +25221,7 @@ struct IVROverlay_IVROverlay_010_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_010_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_008_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -25285,7 +25229,7 @@ struct wow64_IVROverlay_IVROverlay_010_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_010_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_008_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -25293,7 +25237,7 @@ struct IVROverlay_IVROverlay_010_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_010_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_008_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -25301,31 +25245,19 @@ struct wow64_IVROverlay_IVROverlay_010_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_010_ShowDashboard_params +struct IVROverlay_IVROverlay_008_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_010_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_008_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_010_GetPrimaryDashboardDevice_params -{ - struct u_iface u_iface; - uint32_t _ret; -}; - -struct wow64_IVROverlay_IVROverlay_010_GetPrimaryDashboardDevice_params -{ - struct u_iface u_iface; - uint32_t _ret; -}; - -struct IVROverlay_IVROverlay_010_ShowKeyboard_params +struct IVROverlay_IVROverlay_008_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -25338,7 +25270,7 @@ struct IVROverlay_IVROverlay_010_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_010_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_008_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -25351,7 +25283,7 @@ struct wow64_IVROverlay_IVROverlay_010_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_010_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_008_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -25365,7 +25297,7 @@ struct IVROverlay_IVROverlay_010_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_010_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_008_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -25379,7 +25311,7 @@ struct wow64_IVROverlay_IVROverlay_010_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_010_GetKeyboardText_params +struct IVROverlay_IVROverlay_008_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -25387,7 +25319,7 @@ struct IVROverlay_IVROverlay_010_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_010_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_008_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -25395,45 +25327,45 @@ struct wow64_IVROverlay_IVROverlay_010_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_010_HideKeyboard_params +struct IVROverlay_IVROverlay_008_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_010_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_008_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_010_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_008_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_010_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_008_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_010_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_008_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_010_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_008_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_011_FindOverlay_params +struct IVROverlay_IVROverlay_010_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -25441,7 +25373,7 @@ struct IVROverlay_IVROverlay_011_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_011_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_010_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -25449,7 +25381,7 @@ struct wow64_IVROverlay_IVROverlay_011_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_011_CreateOverlay_params +struct IVROverlay_IVROverlay_010_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -25458,7 +25390,7 @@ struct IVROverlay_IVROverlay_011_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_011_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_010_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -25467,47 +25399,47 @@ struct wow64_IVROverlay_IVROverlay_011_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_011_DestroyOverlay_params +struct IVROverlay_IVROverlay_010_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_011_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_010_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_011_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_010_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_011_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_010_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_011_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_010_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_011_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_010_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_011_GetOverlayKey_params +struct IVROverlay_IVROverlay_010_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -25517,7 +25449,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -25527,7 +25459,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_011_GetOverlayName_params +struct IVROverlay_IVROverlay_010_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -25537,7 +25469,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -25547,7 +25479,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_011_GetOverlayImageData_params +struct IVROverlay_IVROverlay_010_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -25558,7 +25490,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -25569,51 +25501,21 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_011_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_010_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_011_SetOverlayRenderingPid_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t unPID; -}; - -struct wow64_IVROverlay_IVROverlay_011_SetOverlayRenderingPid_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t unPID; -}; - -struct IVROverlay_IVROverlay_011_GetOverlayRenderingPid_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; -}; - -struct wow64_IVROverlay_IVROverlay_011_GetOverlayRenderingPid_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; -}; - -struct IVROverlay_IVROverlay_011_SetOverlayFlag_params +struct IVROverlay_IVROverlay_010_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -25622,7 +25524,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -25631,7 +25533,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_011_GetOverlayFlag_params +struct IVROverlay_IVROverlay_010_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -25640,7 +25542,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -25649,7 +25551,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_011_SetOverlayColor_params +struct IVROverlay_IVROverlay_010_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -25659,7 +25561,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -25669,7 +25571,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_011_GetOverlayColor_params +struct IVROverlay_IVROverlay_010_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -25679,7 +25581,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -25689,7 +25591,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_011_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_010_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -25697,7 +25599,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -25705,7 +25607,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_011_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_010_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -25713,7 +25615,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -25721,7 +25623,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_011_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_010_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -25729,7 +25631,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -25737,7 +25639,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_011_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_010_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -25745,7 +25647,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -25753,7 +25655,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_011_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_010_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -25762,7 +25664,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayAutoCurveDistanceRangeInMeters_params float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -25771,7 +25673,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayAutoCurveDistanceRangeInMeters_ float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_011_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_010_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -25780,7 +25682,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayAutoCurveDistanceRangeInMeters_params float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -25789,7 +25691,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayAutoCurveDistanceRangeInMeters_ W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_011_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_010_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -25797,7 +25699,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -25805,7 +25707,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_011_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_010_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -25813,7 +25715,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -25821,7 +25723,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_011_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_010_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -25829,7 +25731,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -25837,7 +25739,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_011_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_010_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -25845,7 +25747,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -25853,7 +25755,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_011_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_010_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -25861,7 +25763,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -25869,7 +25771,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_011_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_010_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -25878,7 +25780,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -25887,7 +25789,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_011_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_010_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -25896,7 +25798,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -25905,7 +25807,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -25914,7 +25816,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -25923,7 +25825,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -25932,7 +25834,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -25941,7 +25843,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -25950,7 +25852,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -25959,7 +25861,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -25969,7 +25871,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -25979,49 +25881,49 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_011_ShowOverlay_params +struct IVROverlay_IVROverlay_010_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_011_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_010_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_011_HideOverlay_params +struct IVROverlay_IVROverlay_010_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_011_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_010_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_011_IsOverlayVisible_params +struct IVROverlay_IVROverlay_010_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_011_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_010_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_011_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_010_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -26031,7 +25933,7 @@ struct IVROverlay_IVROverlay_011_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_011_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_010_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -26041,7 +25943,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_011_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_010_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -26050,7 +25952,7 @@ struct IVROverlay_IVROverlay_011_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_011_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_010_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -26059,7 +25961,7 @@ struct wow64_IVROverlay_IVROverlay_011_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_011_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_010_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -26067,7 +25969,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -26075,7 +25977,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_011_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_010_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -26083,7 +25985,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -26091,7 +25993,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_011_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_010_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -26099,7 +26001,7 @@ struct IVROverlay_IVROverlay_011_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_010_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -26107,7 +26009,7 @@ struct wow64_IVROverlay_IVROverlay_011_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_011_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_010_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -26115,7 +26017,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -26123,7 +26025,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_011_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_010_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -26132,7 +26034,7 @@ struct IVROverlay_IVROverlay_011_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_011_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_010_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -26141,7 +26043,7 @@ struct wow64_IVROverlay_IVROverlay_011_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_011_HandleControllerOverlayInteractionAsMouse_params +struct IVROverlay_IVROverlay_010_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -26149,7 +26051,7 @@ struct IVROverlay_IVROverlay_011_HandleControllerOverlayInteractionAsMouse_param uint32_t unControllerDeviceIndex; }; -struct wow64_IVROverlay_IVROverlay_011_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVROverlay_IVROverlay_010_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -26157,47 +26059,47 @@ struct wow64_IVROverlay_IVROverlay_011_HandleControllerOverlayInteractionAsMouse uint32_t unControllerDeviceIndex; }; -struct IVROverlay_IVROverlay_011_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_010_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_011_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_010_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_011_GetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_010_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_011_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_010_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_011_SetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_010_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct wow64_IVROverlay_IVROverlay_011_SetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_010_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct IVROverlay_IVROverlay_011_SetOverlayNeighbor_params +struct IVROverlay_IVROverlay_010_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -26206,7 +26108,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayNeighbor_params uint64_t ulTo; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayNeighbor_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -26215,7 +26117,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayNeighbor_params uint64_t ulTo; }; -struct IVROverlay_IVROverlay_011_MoveGamepadFocusToNeighbor_params +struct IVROverlay_IVROverlay_010_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -26223,7 +26125,7 @@ struct IVROverlay_IVROverlay_011_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct wow64_IVROverlay_IVROverlay_011_MoveGamepadFocusToNeighbor_params +struct wow64_IVROverlay_IVROverlay_010_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -26231,7 +26133,7 @@ struct wow64_IVROverlay_IVROverlay_011_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct IVROverlay_IVROverlay_011_SetOverlayTexture_params +struct IVROverlay_IVROverlay_010_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -26239,7 +26141,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -26247,21 +26149,21 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_011_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_010_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_011_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_010_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_011_SetOverlayRaw_params +struct IVROverlay_IVROverlay_010_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -26272,7 +26174,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -26283,7 +26185,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_011_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_010_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -26291,7 +26193,7 @@ struct IVROverlay_IVROverlay_011_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_011_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_010_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -26299,97 +26201,53 @@ struct wow64_IVROverlay_IVROverlay_011_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_011_GetOverlayTexture_params +struct IVROverlay_IVROverlay_010_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - void **pNativeTextureHandle; - void *pNativeTextureRef; - uint32_t *pWidth; - uint32_t *pHeight; - uint32_t *pNativeFormat; - uint32_t *pAPI; - uint32_t *pColorSpace; + const char *pchOverlayKey; + const char *pchOverlayFriendlyName; + uint64_t *pMainHandle; + uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_011_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_010_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(void **pNativeTextureHandle, pNativeTextureHandle, void **); - W32_PTR(void *pNativeTextureRef, pNativeTextureRef, void *); - W32_PTR(uint32_t *pWidth, pWidth, uint32_t *); - W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); - W32_PTR(uint32_t *pNativeFormat, pNativeFormat, uint32_t *); - W32_PTR(uint32_t *pAPI, pAPI, uint32_t *); - W32_PTR(uint32_t *pColorSpace, pColorSpace, uint32_t *); + W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); + W32_PTR(const char *pchOverlayFriendlyName, pchOverlayFriendlyName, const char *); + W32_PTR(uint64_t *pMainHandle, pMainHandle, uint64_t *); + W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_011_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_010_IsDashboardVisible_params { struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - void *pNativeTextureHandle; + int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_011_ReleaseNativeOverlayHandle_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); -}; - -struct IVROverlay_IVROverlay_011_CreateDashboardOverlay_params -{ - struct u_iface u_iface; - uint32_t _ret; - const char *pchOverlayKey; - const char *pchOverlayFriendlyName; - uint64_t *pMainHandle; - uint64_t *pThumbnailHandle; -}; - -struct wow64_IVROverlay_IVROverlay_011_CreateDashboardOverlay_params -{ - struct u_iface u_iface; - uint32_t _ret; - W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); - W32_PTR(const char *pchOverlayFriendlyName, pchOverlayFriendlyName, const char *); - W32_PTR(uint64_t *pMainHandle, pMainHandle, uint64_t *); - W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); -}; - -struct IVROverlay_IVROverlay_011_IsDashboardVisible_params -{ - struct u_iface u_iface; - int8_t _ret; -}; - -struct wow64_IVROverlay_IVROverlay_011_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_010_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_011_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_010_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_011_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_010_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_011_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_010_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -26397,7 +26255,7 @@ struct IVROverlay_IVROverlay_011_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_011_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_010_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -26405,7 +26263,7 @@ struct wow64_IVROverlay_IVROverlay_011_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_011_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_010_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -26413,7 +26271,7 @@ struct IVROverlay_IVROverlay_011_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_011_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_010_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -26421,31 +26279,31 @@ struct wow64_IVROverlay_IVROverlay_011_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_011_ShowDashboard_params +struct IVROverlay_IVROverlay_010_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_011_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_010_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_011_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_010_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_011_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_010_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_011_ShowKeyboard_params +struct IVROverlay_IVROverlay_010_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -26458,7 +26316,7 @@ struct IVROverlay_IVROverlay_011_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_011_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_010_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -26471,7 +26329,7 @@ struct wow64_IVROverlay_IVROverlay_011_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_011_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_010_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -26485,7 +26343,7 @@ struct IVROverlay_IVROverlay_011_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_011_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_010_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -26499,7 +26357,7 @@ struct wow64_IVROverlay_IVROverlay_011_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_011_GetKeyboardText_params +struct IVROverlay_IVROverlay_010_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -26507,7 +26365,7 @@ struct IVROverlay_IVROverlay_011_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_011_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_010_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -26515,45 +26373,45 @@ struct wow64_IVROverlay_IVROverlay_011_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_011_HideKeyboard_params +struct IVROverlay_IVROverlay_010_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_011_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_010_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_011_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_010_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_011_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_010_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_011_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_010_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_011_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_010_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_012_FindOverlay_params +struct IVROverlay_IVROverlay_011_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -26561,7 +26419,7 @@ struct IVROverlay_IVROverlay_012_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_012_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_011_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -26569,7 +26427,7 @@ struct wow64_IVROverlay_IVROverlay_012_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_012_CreateOverlay_params +struct IVROverlay_IVROverlay_011_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -26578,7 +26436,7 @@ struct IVROverlay_IVROverlay_012_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_012_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_011_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -26587,47 +26445,47 @@ struct wow64_IVROverlay_IVROverlay_012_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_012_DestroyOverlay_params +struct IVROverlay_IVROverlay_011_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_012_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_011_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_012_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_011_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_012_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_011_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_012_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_011_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_012_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_011_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_012_GetOverlayKey_params +struct IVROverlay_IVROverlay_011_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -26637,7 +26495,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -26647,7 +26505,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_012_GetOverlayName_params +struct IVROverlay_IVROverlay_011_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -26657,7 +26515,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -26667,7 +26525,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_012_GetOverlayImageData_params +struct IVROverlay_IVROverlay_011_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -26678,7 +26536,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -26689,21 +26547,21 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_012_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_011_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_012_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_011_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -26711,7 +26569,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -26719,21 +26577,21 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_012_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_011_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_012_SetOverlayFlag_params +struct IVROverlay_IVROverlay_011_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -26742,7 +26600,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -26751,7 +26609,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_012_GetOverlayFlag_params +struct IVROverlay_IVROverlay_011_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -26760,7 +26618,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -26769,7 +26627,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_012_SetOverlayColor_params +struct IVROverlay_IVROverlay_011_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -26779,7 +26637,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -26789,7 +26647,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_012_GetOverlayColor_params +struct IVROverlay_IVROverlay_011_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -26799,7 +26657,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -26809,7 +26667,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_012_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_011_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -26817,7 +26675,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -26825,7 +26683,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_012_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_011_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -26833,7 +26691,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -26841,7 +26699,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_012_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_011_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -26849,7 +26707,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -26857,7 +26715,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_012_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_011_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -26865,7 +26723,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -26873,7 +26731,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_012_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_011_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -26882,7 +26740,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayAutoCurveDistanceRangeInMeters_params float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -26891,7 +26749,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayAutoCurveDistanceRangeInMeters_ float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_012_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_011_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -26900,7 +26758,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayAutoCurveDistanceRangeInMeters_params float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -26909,7 +26767,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayAutoCurveDistanceRangeInMeters_ W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_012_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_011_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -26917,7 +26775,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -26925,7 +26783,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_012_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_011_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -26933,7 +26791,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -26941,7 +26799,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_012_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_011_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -26949,7 +26807,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -26957,7 +26815,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_012_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_011_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -26965,7 +26823,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -26973,7 +26831,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_012_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_011_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -26981,7 +26839,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -26989,7 +26847,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_012_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_011_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -26998,7 +26856,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -27007,7 +26865,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_012_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_011_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -27016,7 +26874,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -27025,7 +26883,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -27034,7 +26892,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -27043,7 +26901,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -27052,7 +26910,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -27061,7 +26919,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -27070,7 +26928,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -27079,7 +26937,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -27089,7 +26947,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -27099,49 +26957,49 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_012_ShowOverlay_params +struct IVROverlay_IVROverlay_011_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_012_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_011_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_012_HideOverlay_params +struct IVROverlay_IVROverlay_011_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_012_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_011_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_012_IsOverlayVisible_params +struct IVROverlay_IVROverlay_011_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_012_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_011_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_012_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_011_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -27151,7 +27009,7 @@ struct IVROverlay_IVROverlay_012_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_012_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_011_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -27161,25 +27019,25 @@ struct wow64_IVROverlay_IVROverlay_012_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_012_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_011_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_101 *pEvent; + w_VREvent_t_0918 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_012_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_011_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_101 *pEvent, pEvent, w32_VREvent_t_101 *); + W32_PTR(w32_VREvent_t_0918 *pEvent, pEvent, w32_VREvent_t_0918 *); uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_012_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_011_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -27187,7 +27045,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -27195,7 +27053,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_012_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_011_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -27203,7 +27061,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -27211,7 +27069,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_012_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_011_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -27219,7 +27077,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -27227,7 +27085,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_012_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_011_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -27235,7 +27093,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -27243,7 +27101,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_012_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_011_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -27252,7 +27110,7 @@ struct IVROverlay_IVROverlay_012_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_012_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_011_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -27261,7 +27119,7 @@ struct wow64_IVROverlay_IVROverlay_012_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_012_HandleControllerOverlayInteractionAsMouse_params +struct IVROverlay_IVROverlay_011_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -27269,7 +27127,7 @@ struct IVROverlay_IVROverlay_012_HandleControllerOverlayInteractionAsMouse_param uint32_t unControllerDeviceIndex; }; -struct wow64_IVROverlay_IVROverlay_012_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVROverlay_IVROverlay_011_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -27277,47 +27135,47 @@ struct wow64_IVROverlay_IVROverlay_012_HandleControllerOverlayInteractionAsMouse uint32_t unControllerDeviceIndex; }; -struct IVROverlay_IVROverlay_012_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_011_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_012_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_011_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_012_GetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_011_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_012_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_011_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_012_SetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_011_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct wow64_IVROverlay_IVROverlay_012_SetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_011_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct IVROverlay_IVROverlay_012_SetOverlayNeighbor_params +struct IVROverlay_IVROverlay_011_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -27326,7 +27184,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayNeighbor_params uint64_t ulTo; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayNeighbor_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -27335,7 +27193,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayNeighbor_params uint64_t ulTo; }; -struct IVROverlay_IVROverlay_012_MoveGamepadFocusToNeighbor_params +struct IVROverlay_IVROverlay_011_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -27343,7 +27201,7 @@ struct IVROverlay_IVROverlay_012_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct wow64_IVROverlay_IVROverlay_012_MoveGamepadFocusToNeighbor_params +struct wow64_IVROverlay_IVROverlay_011_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -27351,7 +27209,7 @@ struct wow64_IVROverlay_IVROverlay_012_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct IVROverlay_IVROverlay_012_SetOverlayTexture_params +struct IVROverlay_IVROverlay_011_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -27359,7 +27217,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -27367,21 +27225,21 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_012_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_011_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_012_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_011_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_012_SetOverlayRaw_params +struct IVROverlay_IVROverlay_011_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -27392,7 +27250,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -27403,7 +27261,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_012_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_011_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -27411,7 +27269,7 @@ struct IVROverlay_IVROverlay_012_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_012_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_011_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -27419,7 +27277,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_012_GetOverlayTexture_params +struct IVROverlay_IVROverlay_011_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -27433,7 +27291,7 @@ struct IVROverlay_IVROverlay_012_GetOverlayTexture_params uint32_t *pColorSpace; }; -struct wow64_IVROverlay_IVROverlay_012_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_011_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -27447,7 +27305,7 @@ struct wow64_IVROverlay_IVROverlay_012_GetOverlayTexture_params W32_PTR(uint32_t *pColorSpace, pColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_012_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_011_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -27455,7 +27313,7 @@ struct IVROverlay_IVROverlay_012_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_012_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_011_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -27463,25 +27321,7 @@ struct wow64_IVROverlay_IVROverlay_012_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_012_GetOverlayTextureSize_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t *pWidth; - uint32_t *pHeight; -}; - -struct wow64_IVROverlay_IVROverlay_012_GetOverlayTextureSize_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(uint32_t *pWidth, pWidth, uint32_t *); - W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); -}; - -struct IVROverlay_IVROverlay_012_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_011_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -27491,7 +27331,7 @@ struct IVROverlay_IVROverlay_012_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_012_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_011_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -27501,33 +27341,33 @@ struct wow64_IVROverlay_IVROverlay_012_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_012_IsDashboardVisible_params +struct IVROverlay_IVROverlay_011_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_012_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_011_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_012_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_011_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_012_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_011_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_012_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_011_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -27535,7 +27375,7 @@ struct IVROverlay_IVROverlay_012_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_012_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_011_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -27543,7 +27383,7 @@ struct wow64_IVROverlay_IVROverlay_012_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_012_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_011_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -27551,7 +27391,7 @@ struct IVROverlay_IVROverlay_012_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_012_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_011_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -27559,31 +27399,31 @@ struct wow64_IVROverlay_IVROverlay_012_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_012_ShowDashboard_params +struct IVROverlay_IVROverlay_011_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_012_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_011_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_012_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_011_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_012_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_011_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_012_ShowKeyboard_params +struct IVROverlay_IVROverlay_011_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -27596,7 +27436,7 @@ struct IVROverlay_IVROverlay_012_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_012_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_011_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -27609,7 +27449,7 @@ struct wow64_IVROverlay_IVROverlay_012_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_012_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_011_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -27623,7 +27463,7 @@ struct IVROverlay_IVROverlay_012_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_012_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_011_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -27637,7 +27477,7 @@ struct wow64_IVROverlay_IVROverlay_012_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_012_GetKeyboardText_params +struct IVROverlay_IVROverlay_011_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -27645,7 +27485,7 @@ struct IVROverlay_IVROverlay_012_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_012_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_011_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -27653,45 +27493,45 @@ struct wow64_IVROverlay_IVROverlay_012_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_012_HideKeyboard_params +struct IVROverlay_IVROverlay_011_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_012_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_011_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_012_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_011_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_012_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_011_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_012_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_011_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_012_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_011_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_013_FindOverlay_params +struct IVROverlay_IVROverlay_012_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -27699,7 +27539,7 @@ struct IVROverlay_IVROverlay_013_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_013_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_012_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -27707,7 +27547,7 @@ struct wow64_IVROverlay_IVROverlay_013_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_013_CreateOverlay_params +struct IVROverlay_IVROverlay_012_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -27716,7 +27556,7 @@ struct IVROverlay_IVROverlay_013_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_013_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_012_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -27725,47 +27565,47 @@ struct wow64_IVROverlay_IVROverlay_013_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_013_DestroyOverlay_params +struct IVROverlay_IVROverlay_012_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_013_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_012_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_013_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_012_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_013_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_012_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_013_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_012_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_013_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_012_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_013_GetOverlayKey_params +struct IVROverlay_IVROverlay_012_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -27775,7 +27615,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -27785,7 +27625,7 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_013_GetOverlayName_params +struct IVROverlay_IVROverlay_012_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -27795,7 +27635,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -27805,7 +27645,7 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_013_GetOverlayImageData_params +struct IVROverlay_IVROverlay_012_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -27816,7 +27656,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -27827,21 +27667,21 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_013_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_012_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_013_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_012_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -27849,7 +27689,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -27857,21 +27697,21 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_013_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_012_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_013_SetOverlayFlag_params +struct IVROverlay_IVROverlay_012_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -27880,7 +27720,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -27889,7 +27729,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_013_GetOverlayFlag_params +struct IVROverlay_IVROverlay_012_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -27898,7 +27738,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -27907,7 +27747,7 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_013_SetOverlayColor_params +struct IVROverlay_IVROverlay_012_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -27917,7 +27757,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -27927,7 +27767,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_013_GetOverlayColor_params +struct IVROverlay_IVROverlay_012_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -27937,7 +27777,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -27947,7 +27787,7 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_013_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_012_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -27955,7 +27795,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -27963,7 +27803,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_013_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_012_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -27971,7 +27811,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -27979,211 +27819,147 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_013_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_012_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fTexelAspect; + float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fTexelAspect; + float fWidthInMeters; }; -struct IVROverlay_IVROverlay_013_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_012_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float *pfTexelAspect; + float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); + W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_013_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_012_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t unSortOrder; + float fMinDistanceInMeters; + float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t unSortOrder; + float fMinDistanceInMeters; + float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_013_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_012_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t *punSortOrder; + float *pfMinDistanceInMeters; + float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); + W32_PTR(float *pfMinDistanceInMeters, pfMinDistanceInMeters, float *); + W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_013_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_012_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fWidthInMeters; + uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fWidthInMeters; + uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_013_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_012_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float *pfWidthInMeters; + uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); + W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_013_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_012_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fMinDistanceInMeters; - float fMaxDistanceInMeters; + const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fMinDistanceInMeters; - float fMaxDistanceInMeters; + W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_013_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_012_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float *pfMinDistanceInMeters; - float *pfMaxDistanceInMeters; + VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(float *pfMinDistanceInMeters, pfMinDistanceInMeters, float *); - W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); + W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_013_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_012_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint32_t eTextureColorSpace; + uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayTextureColorSpace_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eTextureColorSpace; -}; - -struct IVROverlay_IVROverlay_013_GetOverlayTextureColorSpace_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t *peTextureColorSpace; -}; - -struct wow64_IVROverlay_IVROverlay_013_GetOverlayTextureColorSpace_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); -}; - -struct IVROverlay_IVROverlay_013_SetOverlayTextureBounds_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - const VRTextureBounds_t *pOverlayTextureBounds; -}; - -struct wow64_IVROverlay_IVROverlay_013_SetOverlayTextureBounds_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); -}; - -struct IVROverlay_IVROverlay_013_GetOverlayTextureBounds_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - VRTextureBounds_t *pOverlayTextureBounds; -}; - -struct wow64_IVROverlay_IVROverlay_013_GetOverlayTextureBounds_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); -}; - -struct IVROverlay_IVROverlay_013_GetOverlayTransformType_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t *peTransformType; -}; - -struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -28191,7 +27967,7 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_013_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_012_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -28200,7 +27976,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -28209,7 +27985,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_013_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_012_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -28218,7 +27994,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -28227,7 +28003,7 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -28236,7 +28012,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -28245,7 +28021,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -28254,7 +28030,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -28263,7 +28039,7 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -28272,7 +28048,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -28281,7 +28057,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -28291,7 +28067,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -28301,49 +28077,49 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_013_ShowOverlay_params +struct IVROverlay_IVROverlay_012_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_013_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_012_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_013_HideOverlay_params +struct IVROverlay_IVROverlay_012_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_013_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_012_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_013_IsOverlayVisible_params +struct IVROverlay_IVROverlay_012_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_013_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_012_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_013_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_012_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -28353,7 +28129,7 @@ struct IVROverlay_IVROverlay_013_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_013_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_012_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -28363,25 +28139,25 @@ struct wow64_IVROverlay_IVROverlay_013_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_013_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_012_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_103 *pEvent; + w_VREvent_t_101 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_013_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_012_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_103 *pEvent, pEvent, w32_VREvent_t_103 *); + W32_PTR(w32_VREvent_t_101 *pEvent, pEvent, w32_VREvent_t_101 *); uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_013_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_012_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -28389,7 +28165,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -28397,7 +28173,7 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_013_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_012_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -28405,7 +28181,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -28413,7 +28189,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_013_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_012_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -28421,7 +28197,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -28429,7 +28205,7 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_013_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_012_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -28437,7 +28213,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -28445,7 +28221,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_013_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_012_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -28454,7 +28230,7 @@ struct IVROverlay_IVROverlay_013_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_013_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_012_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -28463,7 +28239,7 @@ struct wow64_IVROverlay_IVROverlay_013_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_013_HandleControllerOverlayInteractionAsMouse_params +struct IVROverlay_IVROverlay_012_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -28471,7 +28247,7 @@ struct IVROverlay_IVROverlay_013_HandleControllerOverlayInteractionAsMouse_param uint32_t unControllerDeviceIndex; }; -struct wow64_IVROverlay_IVROverlay_013_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVROverlay_IVROverlay_012_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -28479,47 +28255,47 @@ struct wow64_IVROverlay_IVROverlay_013_HandleControllerOverlayInteractionAsMouse uint32_t unControllerDeviceIndex; }; -struct IVROverlay_IVROverlay_013_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_012_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_013_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_012_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_013_GetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_012_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_013_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_012_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_013_SetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_012_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct wow64_IVROverlay_IVROverlay_013_SetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_012_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct IVROverlay_IVROverlay_013_SetOverlayNeighbor_params +struct IVROverlay_IVROverlay_012_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -28528,7 +28304,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayNeighbor_params uint64_t ulTo; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayNeighbor_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -28537,7 +28313,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayNeighbor_params uint64_t ulTo; }; -struct IVROverlay_IVROverlay_013_MoveGamepadFocusToNeighbor_params +struct IVROverlay_IVROverlay_012_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -28545,7 +28321,7 @@ struct IVROverlay_IVROverlay_013_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct wow64_IVROverlay_IVROverlay_013_MoveGamepadFocusToNeighbor_params +struct wow64_IVROverlay_IVROverlay_012_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -28553,7 +28329,7 @@ struct wow64_IVROverlay_IVROverlay_013_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct IVROverlay_IVROverlay_013_SetOverlayTexture_params +struct IVROverlay_IVROverlay_012_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -28561,7 +28337,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -28569,21 +28345,21 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_013_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_012_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_013_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_012_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_013_SetOverlayRaw_params +struct IVROverlay_IVROverlay_012_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -28594,7 +28370,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -28605,7 +28381,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_013_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_012_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -28613,7 +28389,7 @@ struct IVROverlay_IVROverlay_013_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_013_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_012_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -28621,7 +28397,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_013_GetOverlayTexture_params +struct IVROverlay_IVROverlay_012_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -28635,7 +28411,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayTexture_params uint32_t *pColorSpace; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -28649,7 +28425,7 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayTexture_params W32_PTR(uint32_t *pColorSpace, pColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_013_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_012_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -28657,7 +28433,7 @@ struct IVROverlay_IVROverlay_013_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_013_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_012_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -28665,7 +28441,7 @@ struct wow64_IVROverlay_IVROverlay_013_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_013_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_012_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -28674,7 +28450,7 @@ struct IVROverlay_IVROverlay_013_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_013_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_012_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -28683,7 +28459,7 @@ struct wow64_IVROverlay_IVROverlay_013_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_013_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_012_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -28693,7 +28469,7 @@ struct IVROverlay_IVROverlay_013_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_013_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_012_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -28703,33 +28479,33 @@ struct wow64_IVROverlay_IVROverlay_013_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_013_IsDashboardVisible_params +struct IVROverlay_IVROverlay_012_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_013_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_012_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_013_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_012_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_013_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_012_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_013_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_012_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -28737,7 +28513,7 @@ struct IVROverlay_IVROverlay_013_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_013_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_012_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -28745,7 +28521,7 @@ struct wow64_IVROverlay_IVROverlay_013_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_013_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_012_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -28753,7 +28529,7 @@ struct IVROverlay_IVROverlay_013_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_013_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_012_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -28761,31 +28537,31 @@ struct wow64_IVROverlay_IVROverlay_013_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_013_ShowDashboard_params +struct IVROverlay_IVROverlay_012_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_013_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_012_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_013_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_012_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_013_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_012_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_013_ShowKeyboard_params +struct IVROverlay_IVROverlay_012_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -28798,7 +28574,7 @@ struct IVROverlay_IVROverlay_013_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_013_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_012_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -28811,7 +28587,7 @@ struct wow64_IVROverlay_IVROverlay_013_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_013_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_012_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -28825,7 +28601,7 @@ struct IVROverlay_IVROverlay_013_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_013_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_012_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -28839,7 +28615,7 @@ struct wow64_IVROverlay_IVROverlay_013_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_013_GetKeyboardText_params +struct IVROverlay_IVROverlay_012_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -28847,7 +28623,7 @@ struct IVROverlay_IVROverlay_013_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_013_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_012_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -28855,65 +28631,45 @@ struct wow64_IVROverlay_IVROverlay_013_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_013_HideKeyboard_params +struct IVROverlay_IVROverlay_012_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_013_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_012_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_013_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_012_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_013_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_012_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_013_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_012_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_013_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_012_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_013_SetOverlayIntersectionMask_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives; - uint32_t unNumMaskPrimitives; - uint32_t unPrimitiveSize; -}; - -struct wow64_IVROverlay_IVROverlay_013_SetOverlayIntersectionMask_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, pMaskPrimitives, VROverlayIntersectionMaskPrimitive_t *); - uint32_t unNumMaskPrimitives; - uint32_t unPrimitiveSize; -}; - -struct IVROverlay_IVROverlay_014_FindOverlay_params +struct IVROverlay_IVROverlay_013_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -28921,7 +28677,7 @@ struct IVROverlay_IVROverlay_014_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_014_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_013_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -28929,7 +28685,7 @@ struct wow64_IVROverlay_IVROverlay_014_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_014_CreateOverlay_params +struct IVROverlay_IVROverlay_013_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -28938,7 +28694,7 @@ struct IVROverlay_IVROverlay_014_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_014_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_013_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -28947,47 +28703,47 @@ struct wow64_IVROverlay_IVROverlay_014_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_014_DestroyOverlay_params +struct IVROverlay_IVROverlay_013_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_014_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_013_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_014_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_013_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_014_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_013_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_014_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_013_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_014_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_013_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_014_GetOverlayKey_params +struct IVROverlay_IVROverlay_013_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -28997,7 +28753,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -29007,7 +28763,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_014_GetOverlayName_params +struct IVROverlay_IVROverlay_013_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -29017,7 +28773,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -29027,7 +28783,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_014_GetOverlayImageData_params +struct IVROverlay_IVROverlay_013_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -29038,7 +28794,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -29049,21 +28805,21 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_014_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_013_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_014_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_013_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -29071,7 +28827,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -29079,21 +28835,21 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_014_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_013_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_014_SetOverlayFlag_params +struct IVROverlay_IVROverlay_013_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -29102,7 +28858,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -29111,7 +28867,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_014_GetOverlayFlag_params +struct IVROverlay_IVROverlay_013_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -29120,7 +28876,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -29129,7 +28885,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_014_SetOverlayColor_params +struct IVROverlay_IVROverlay_013_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -29139,7 +28895,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -29149,7 +28905,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_014_GetOverlayColor_params +struct IVROverlay_IVROverlay_013_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -29159,7 +28915,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -29169,7 +28925,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_014_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_013_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -29177,7 +28933,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -29185,7 +28941,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_014_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_013_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -29193,7 +28949,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -29201,7 +28957,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_014_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_013_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -29209,7 +28965,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -29217,7 +28973,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_014_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_013_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -29225,7 +28981,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -29233,7 +28989,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_014_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_013_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -29241,7 +28997,7 @@ struct IVROverlay_IVROverlay_014_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -29249,7 +29005,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_014_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_013_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -29257,7 +29013,7 @@ struct IVROverlay_IVROverlay_014_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -29265,7 +29021,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_014_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_013_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -29273,7 +29029,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -29281,7 +29037,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_014_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_013_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -29289,7 +29045,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -29297,7 +29053,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_014_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_013_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -29306,7 +29062,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayAutoCurveDistanceRangeInMeters_params float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -29315,7 +29071,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayAutoCurveDistanceRangeInMeters_ float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_014_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_013_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -29324,7 +29080,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayAutoCurveDistanceRangeInMeters_params float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -29333,7 +29089,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayAutoCurveDistanceRangeInMeters_ W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_014_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_013_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -29341,7 +29097,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -29349,7 +29105,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_014_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_013_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -29357,7 +29113,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -29365,7 +29121,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_014_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_013_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -29373,7 +29129,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -29381,7 +29137,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_014_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_013_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -29389,7 +29145,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -29397,7 +29153,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_014_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_013_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -29405,7 +29161,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -29413,7 +29169,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_014_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_013_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -29422,7 +29178,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -29431,7 +29187,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_014_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_013_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -29440,7 +29196,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -29449,7 +29205,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -29458,7 +29214,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -29467,7 +29223,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -29476,7 +29232,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -29485,7 +29241,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -29494,7 +29250,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -29503,7 +29259,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -29513,7 +29269,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -29523,49 +29279,49 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_014_ShowOverlay_params +struct IVROverlay_IVROverlay_013_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_014_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_013_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_014_HideOverlay_params +struct IVROverlay_IVROverlay_013_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_014_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_013_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_014_IsOverlayVisible_params +struct IVROverlay_IVROverlay_013_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_014_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_013_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_014_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_013_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -29575,7 +29331,7 @@ struct IVROverlay_IVROverlay_014_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_014_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_013_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -29585,25 +29341,25 @@ struct wow64_IVROverlay_IVROverlay_014_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_014_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_013_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_106 *pEvent; + w_VREvent_t_103 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_014_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_013_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_106 *pEvent, pEvent, w32_VREvent_t_106 *); + W32_PTR(w32_VREvent_t_103 *pEvent, pEvent, w32_VREvent_t_103 *); uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_014_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_013_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -29611,7 +29367,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -29619,7 +29375,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_014_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_013_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -29627,7 +29383,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -29635,7 +29391,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_014_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_013_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -29643,7 +29399,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -29651,7 +29407,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_014_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_013_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -29659,7 +29415,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -29667,7 +29423,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_014_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_013_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -29676,7 +29432,7 @@ struct IVROverlay_IVROverlay_014_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_014_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_013_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -29685,7 +29441,7 @@ struct wow64_IVROverlay_IVROverlay_014_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_014_HandleControllerOverlayInteractionAsMouse_params +struct IVROverlay_IVROverlay_013_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -29693,7 +29449,7 @@ struct IVROverlay_IVROverlay_014_HandleControllerOverlayInteractionAsMouse_param uint32_t unControllerDeviceIndex; }; -struct wow64_IVROverlay_IVROverlay_014_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVROverlay_IVROverlay_013_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -29701,47 +29457,47 @@ struct wow64_IVROverlay_IVROverlay_014_HandleControllerOverlayInteractionAsMouse uint32_t unControllerDeviceIndex; }; -struct IVROverlay_IVROverlay_014_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_013_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_014_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_013_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_014_GetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_013_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_014_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_013_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_014_SetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_013_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct wow64_IVROverlay_IVROverlay_014_SetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_013_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct IVROverlay_IVROverlay_014_SetOverlayNeighbor_params +struct IVROverlay_IVROverlay_013_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -29750,7 +29506,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayNeighbor_params uint64_t ulTo; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayNeighbor_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -29759,7 +29515,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayNeighbor_params uint64_t ulTo; }; -struct IVROverlay_IVROverlay_014_MoveGamepadFocusToNeighbor_params +struct IVROverlay_IVROverlay_013_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -29767,7 +29523,7 @@ struct IVROverlay_IVROverlay_014_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct wow64_IVROverlay_IVROverlay_014_MoveGamepadFocusToNeighbor_params +struct wow64_IVROverlay_IVROverlay_013_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -29775,7 +29531,7 @@ struct wow64_IVROverlay_IVROverlay_014_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct IVROverlay_IVROverlay_014_SetOverlayTexture_params +struct IVROverlay_IVROverlay_013_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -29783,7 +29539,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -29791,21 +29547,21 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_014_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_013_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_014_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_013_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_014_SetOverlayRaw_params +struct IVROverlay_IVROverlay_013_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -29816,7 +29572,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -29827,7 +29583,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_014_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_013_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -29835,7 +29591,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -29843,7 +29599,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_014_GetOverlayTexture_params +struct IVROverlay_IVROverlay_013_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -29853,12 +29609,11 @@ struct IVROverlay_IVROverlay_014_GetOverlayTexture_params uint32_t *pWidth; uint32_t *pHeight; uint32_t *pNativeFormat; - uint32_t *pAPIType; + uint32_t *pAPI; uint32_t *pColorSpace; - VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -29868,12 +29623,11 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayTexture_params W32_PTR(uint32_t *pWidth, pWidth, uint32_t *); W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); W32_PTR(uint32_t *pNativeFormat, pNativeFormat, uint32_t *); - W32_PTR(uint32_t *pAPIType, pAPIType, uint32_t *); + W32_PTR(uint32_t *pAPI, pAPI, uint32_t *); W32_PTR(uint32_t *pColorSpace, pColorSpace, uint32_t *); - W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_014_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_013_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -29881,7 +29635,7 @@ struct IVROverlay_IVROverlay_014_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_014_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_013_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -29889,7 +29643,7 @@ struct wow64_IVROverlay_IVROverlay_014_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_014_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_013_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -29898,7 +29652,7 @@ struct IVROverlay_IVROverlay_014_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_014_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_013_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -29907,7 +29661,7 @@ struct wow64_IVROverlay_IVROverlay_014_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_014_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_013_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -29917,7 +29671,7 @@ struct IVROverlay_IVROverlay_014_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_014_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_013_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -29927,33 +29681,33 @@ struct wow64_IVROverlay_IVROverlay_014_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_014_IsDashboardVisible_params +struct IVROverlay_IVROverlay_013_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_014_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_013_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_014_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_013_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_014_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_013_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_014_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_013_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -29961,7 +29715,7 @@ struct IVROverlay_IVROverlay_014_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_014_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_013_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -29969,7 +29723,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_014_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_013_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -29977,7 +29731,7 @@ struct IVROverlay_IVROverlay_014_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_014_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_013_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -29985,31 +29739,31 @@ struct wow64_IVROverlay_IVROverlay_014_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_014_ShowDashboard_params +struct IVROverlay_IVROverlay_013_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_014_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_013_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_014_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_013_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_014_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_013_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_014_ShowKeyboard_params +struct IVROverlay_IVROverlay_013_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -30022,7 +29776,7 @@ struct IVROverlay_IVROverlay_014_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_014_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_013_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -30035,7 +29789,7 @@ struct wow64_IVROverlay_IVROverlay_014_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_014_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_013_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -30049,7 +29803,7 @@ struct IVROverlay_IVROverlay_014_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_014_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_013_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -30063,7 +29817,7 @@ struct wow64_IVROverlay_IVROverlay_014_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_014_GetKeyboardText_params +struct IVROverlay_IVROverlay_013_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -30071,7 +29825,7 @@ struct IVROverlay_IVROverlay_014_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_014_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_013_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -30079,45 +29833,45 @@ struct wow64_IVROverlay_IVROverlay_014_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_014_HideKeyboard_params +struct IVROverlay_IVROverlay_013_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_014_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_013_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_014_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_013_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_014_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_013_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_014_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_013_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_014_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_013_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_014_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_013_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -30127,7 +29881,7 @@ struct IVROverlay_IVROverlay_014_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_014_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_013_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -30137,47 +29891,7 @@ struct wow64_IVROverlay_IVROverlay_014_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_014_GetOverlayFlags_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t *pFlags; -}; - -struct wow64_IVROverlay_IVROverlay_014_GetOverlayFlags_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); -}; - -struct IVROverlay_IVROverlay_014_ShowMessageOverlay_params -{ - struct u_iface u_iface; - uint32_t _ret; - const char *pchText; - const char *pchCaption; - const char *pchButton0Text; - const char *pchButton1Text; - const char *pchButton2Text; - const char *pchButton3Text; -}; - -struct wow64_IVROverlay_IVROverlay_014_ShowMessageOverlay_params -{ - struct u_iface u_iface; - uint32_t _ret; - W32_PTR(const char *pchText, pchText, const char *); - W32_PTR(const char *pchCaption, pchCaption, const char *); - W32_PTR(const char *pchButton0Text, pchButton0Text, const char *); - W32_PTR(const char *pchButton1Text, pchButton1Text, const char *); - W32_PTR(const char *pchButton2Text, pchButton2Text, const char *); - W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); -}; - -struct IVROverlay_IVROverlay_016_FindOverlay_params +struct IVROverlay_IVROverlay_014_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -30185,7 +29899,7 @@ struct IVROverlay_IVROverlay_016_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_016_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_014_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -30193,65 +29907,65 @@ struct wow64_IVROverlay_IVROverlay_016_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_016_CreateOverlay_params +struct IVROverlay_IVROverlay_014_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; const char *pchOverlayKey; - const char *pchOverlayName; + const char *pchOverlayFriendlyName; uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_016_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_014_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); - W32_PTR(const char *pchOverlayName, pchOverlayName, const char *); + W32_PTR(const char *pchOverlayFriendlyName, pchOverlayFriendlyName, const char *); W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_016_DestroyOverlay_params +struct IVROverlay_IVROverlay_014_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_016_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_014_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_016_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_014_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_016_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_014_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_016_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_014_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_016_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_014_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_016_GetOverlayKey_params +struct IVROverlay_IVROverlay_014_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -30261,7 +29975,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -30271,7 +29985,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_016_GetOverlayName_params +struct IVROverlay_IVROverlay_014_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -30281,7 +29995,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -30291,23 +30005,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_016_SetOverlayName_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - const char *pchName; -}; - -struct wow64_IVROverlay_IVROverlay_016_SetOverlayName_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(const char *pchName, pchName, const char *); -}; - -struct IVROverlay_IVROverlay_016_GetOverlayImageData_params +struct IVROverlay_IVROverlay_014_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -30318,7 +30016,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -30329,21 +30027,21 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_016_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_014_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_016_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_014_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -30351,7 +30049,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -30359,21 +30057,21 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_016_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_014_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_016_SetOverlayFlag_params +struct IVROverlay_IVROverlay_014_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -30382,7 +30080,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -30391,7 +30089,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_016_GetOverlayFlag_params +struct IVROverlay_IVROverlay_014_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -30400,7 +30098,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -30409,7 +30107,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_016_SetOverlayColor_params +struct IVROverlay_IVROverlay_014_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -30419,7 +30117,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -30429,7 +30127,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_016_GetOverlayColor_params +struct IVROverlay_IVROverlay_014_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -30439,7 +30137,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -30449,7 +30147,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_016_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_014_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -30457,7 +30155,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -30465,7 +30163,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_016_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_014_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -30473,7 +30171,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -30481,7 +30179,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_016_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_014_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -30489,7 +30187,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -30497,7 +30195,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_016_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_014_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -30505,7 +30203,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -30513,7 +30211,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_016_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_014_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -30521,7 +30219,7 @@ struct IVROverlay_IVROverlay_016_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -30529,7 +30227,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_016_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_014_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -30537,7 +30235,7 @@ struct IVROverlay_IVROverlay_016_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -30545,7 +30243,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_016_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_014_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -30553,7 +30251,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -30561,7 +30259,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_016_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_014_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -30569,7 +30267,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -30577,7 +30275,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_016_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_014_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -30586,7 +30284,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayAutoCurveDistanceRangeInMeters_params float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -30595,7 +30293,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayAutoCurveDistanceRangeInMeters_ float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_016_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_014_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -30604,7 +30302,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayAutoCurveDistanceRangeInMeters_params float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -30613,7 +30311,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayAutoCurveDistanceRangeInMeters_ W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_016_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_014_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -30621,7 +30319,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -30629,7 +30327,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_016_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_014_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -30637,7 +30335,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -30645,7 +30343,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_016_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_014_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -30653,7 +30351,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -30661,7 +30359,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_016_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_014_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -30669,7 +30367,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -30677,47 +30375,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_016_GetOverlayRenderModel_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - char *pchValue; - uint32_t unBufferSize; - HmdColor_t *pColor; - uint32_t *pError; -}; - -struct wow64_IVROverlay_IVROverlay_016_GetOverlayRenderModel_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(char *pchValue, pchValue, char *); - uint32_t unBufferSize; - W32_PTR(HmdColor_t *pColor, pColor, HmdColor_t *); - W32_PTR(uint32_t *pError, pError, uint32_t *); -}; - -struct IVROverlay_IVROverlay_016_SetOverlayRenderModel_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - const char *pchRenderModel; - const HmdColor_t *pColor; -}; - -struct wow64_IVROverlay_IVROverlay_016_SetOverlayRenderModel_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(const char *pchRenderModel, pchRenderModel, const char *); - W32_PTR(const HmdColor_t *pColor, pColor, const HmdColor_t *); -}; - -struct IVROverlay_IVROverlay_016_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_014_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -30725,7 +30383,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -30733,7 +30391,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_016_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_014_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -30742,7 +30400,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -30751,7 +30409,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_016_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_014_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -30760,7 +30418,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -30769,7 +30427,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -30778,7 +30436,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -30787,7 +30445,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -30796,7 +30454,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -30805,7 +30463,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -30814,7 +30472,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -30823,7 +30481,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -30833,7 +30491,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -30843,85 +30501,49 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_016_GetOverlayTransformOverlayRelative_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint64_t *ulOverlayHandleParent; - HmdMatrix34_t *pmatParentOverlayToOverlayTransform; -}; - -struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformOverlayRelative_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(uint64_t *ulOverlayHandleParent, ulOverlayHandleParent, uint64_t *); - W32_PTR(HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, HmdMatrix34_t *); -}; - -struct IVROverlay_IVROverlay_016_SetOverlayTransformOverlayRelative_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint64_t ulOverlayHandleParent; - const HmdMatrix34_t *pmatParentOverlayToOverlayTransform; -}; - -struct wow64_IVROverlay_IVROverlay_016_SetOverlayTransformOverlayRelative_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint64_t ulOverlayHandleParent; - W32_PTR(const HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, const HmdMatrix34_t *); -}; - -struct IVROverlay_IVROverlay_016_ShowOverlay_params +struct IVROverlay_IVROverlay_014_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_016_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_014_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_016_HideOverlay_params +struct IVROverlay_IVROverlay_014_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_016_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_014_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_016_IsOverlayVisible_params +struct IVROverlay_IVROverlay_014_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_016_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_014_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_016_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_014_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -30931,7 +30553,7 @@ struct IVROverlay_IVROverlay_016_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_016_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_014_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -30941,7 +30563,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_016_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_014_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -30950,7 +30572,7 @@ struct IVROverlay_IVROverlay_016_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_016_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_014_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -30959,7 +30581,7 @@ struct wow64_IVROverlay_IVROverlay_016_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_016_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_014_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -30967,7 +30589,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -30975,7 +30597,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_016_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_014_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -30983,7 +30605,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -30991,7 +30613,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_016_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_014_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -30999,7 +30621,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -31007,7 +30629,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_016_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_014_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -31015,7 +30637,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -31023,7 +30645,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_016_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_014_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -31032,7 +30654,7 @@ struct IVROverlay_IVROverlay_016_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_016_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_014_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -31041,7 +30663,7 @@ struct wow64_IVROverlay_IVROverlay_016_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_016_HandleControllerOverlayInteractionAsMouse_params +struct IVROverlay_IVROverlay_014_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -31049,7 +30671,7 @@ struct IVROverlay_IVROverlay_016_HandleControllerOverlayInteractionAsMouse_param uint32_t unControllerDeviceIndex; }; -struct wow64_IVROverlay_IVROverlay_016_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVROverlay_IVROverlay_014_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -31057,47 +30679,47 @@ struct wow64_IVROverlay_IVROverlay_016_HandleControllerOverlayInteractionAsMouse uint32_t unControllerDeviceIndex; }; -struct IVROverlay_IVROverlay_016_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_014_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_016_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_014_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_016_GetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_014_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_016_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_014_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_016_SetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_014_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct wow64_IVROverlay_IVROverlay_016_SetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_014_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct IVROverlay_IVROverlay_016_SetOverlayNeighbor_params +struct IVROverlay_IVROverlay_014_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -31106,7 +30728,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayNeighbor_params uint64_t ulTo; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayNeighbor_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -31115,7 +30737,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayNeighbor_params uint64_t ulTo; }; -struct IVROverlay_IVROverlay_016_MoveGamepadFocusToNeighbor_params +struct IVROverlay_IVROverlay_014_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -31123,7 +30745,7 @@ struct IVROverlay_IVROverlay_016_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct wow64_IVROverlay_IVROverlay_016_MoveGamepadFocusToNeighbor_params +struct wow64_IVROverlay_IVROverlay_014_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -31131,7 +30753,7 @@ struct wow64_IVROverlay_IVROverlay_016_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct IVROverlay_IVROverlay_016_SetOverlayTexture_params +struct IVROverlay_IVROverlay_014_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -31139,7 +30761,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -31147,21 +30769,21 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_016_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_014_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_016_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_014_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_016_SetOverlayRaw_params +struct IVROverlay_IVROverlay_014_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -31172,7 +30794,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -31183,7 +30805,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_016_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_014_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -31191,7 +30813,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -31199,7 +30821,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_016_GetOverlayTexture_params +struct IVROverlay_IVROverlay_014_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -31214,7 +30836,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -31229,7 +30851,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_016_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_014_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -31237,7 +30859,7 @@ struct IVROverlay_IVROverlay_016_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_016_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_014_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -31245,7 +30867,7 @@ struct wow64_IVROverlay_IVROverlay_016_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_016_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_014_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -31254,7 +30876,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -31263,7 +30885,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_016_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_014_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -31273,7 +30895,7 @@ struct IVROverlay_IVROverlay_016_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_016_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_014_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -31283,33 +30905,33 @@ struct wow64_IVROverlay_IVROverlay_016_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_016_IsDashboardVisible_params +struct IVROverlay_IVROverlay_014_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_016_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_014_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_016_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_014_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_016_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_014_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_016_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_014_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -31317,7 +30939,7 @@ struct IVROverlay_IVROverlay_016_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_016_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_014_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -31325,7 +30947,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_016_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_014_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -31333,7 +30955,7 @@ struct IVROverlay_IVROverlay_016_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_016_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_014_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -31341,31 +30963,31 @@ struct wow64_IVROverlay_IVROverlay_016_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_016_ShowDashboard_params +struct IVROverlay_IVROverlay_014_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_016_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_014_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_016_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_014_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_016_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_014_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_016_ShowKeyboard_params +struct IVROverlay_IVROverlay_014_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -31378,7 +31000,7 @@ struct IVROverlay_IVROverlay_016_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_016_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_014_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -31391,7 +31013,7 @@ struct wow64_IVROverlay_IVROverlay_016_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_016_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_014_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -31405,7 +31027,7 @@ struct IVROverlay_IVROverlay_016_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_016_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_014_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -31419,7 +31041,7 @@ struct wow64_IVROverlay_IVROverlay_016_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_016_GetKeyboardText_params +struct IVROverlay_IVROverlay_014_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -31427,7 +31049,7 @@ struct IVROverlay_IVROverlay_016_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_016_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_014_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -31435,45 +31057,45 @@ struct wow64_IVROverlay_IVROverlay_016_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_016_HideKeyboard_params +struct IVROverlay_IVROverlay_014_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_016_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_014_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_016_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_014_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_016_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_014_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_016_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_014_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_016_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_014_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_016_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_014_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -31483,7 +31105,7 @@ struct IVROverlay_IVROverlay_016_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_016_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_014_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -31493,7 +31115,7 @@ struct wow64_IVROverlay_IVROverlay_016_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_016_GetOverlayFlags_params +struct IVROverlay_IVROverlay_014_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -31501,7 +31123,7 @@ struct IVROverlay_IVROverlay_016_GetOverlayFlags_params uint32_t *pFlags; }; -struct wow64_IVROverlay_IVROverlay_016_GetOverlayFlags_params +struct wow64_IVROverlay_IVROverlay_014_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -31509,7 +31131,7 @@ struct wow64_IVROverlay_IVROverlay_016_GetOverlayFlags_params W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVROverlay_IVROverlay_016_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_014_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -31521,7 +31143,7 @@ struct IVROverlay_IVROverlay_016_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_016_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_014_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -31533,17 +31155,7 @@ struct wow64_IVROverlay_IVROverlay_016_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_016_CloseMessageOverlay_params -{ - struct u_iface u_iface; -}; - -struct wow64_IVROverlay_IVROverlay_016_CloseMessageOverlay_params -{ - struct u_iface u_iface; -}; - -struct IVROverlay_IVROverlay_017_FindOverlay_params +struct IVROverlay_IVROverlay_016_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -31551,7 +31163,7 @@ struct IVROverlay_IVROverlay_017_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_017_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_016_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -31559,7 +31171,7 @@ struct wow64_IVROverlay_IVROverlay_017_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_017_CreateOverlay_params +struct IVROverlay_IVROverlay_016_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -31568,7 +31180,7 @@ struct IVROverlay_IVROverlay_017_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_017_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_016_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -31577,47 +31189,47 @@ struct wow64_IVROverlay_IVROverlay_017_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_017_DestroyOverlay_params +struct IVROverlay_IVROverlay_016_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_017_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_016_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_017_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_016_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_017_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_016_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_017_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_016_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_017_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_016_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_017_GetOverlayKey_params +struct IVROverlay_IVROverlay_016_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -31627,7 +31239,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -31637,7 +31249,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_017_GetOverlayName_params +struct IVROverlay_IVROverlay_016_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -31647,7 +31259,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -31657,7 +31269,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_017_SetOverlayName_params +struct IVROverlay_IVROverlay_016_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -31665,7 +31277,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayName_params const char *pchName; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayName_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -31673,7 +31285,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayName_params W32_PTR(const char *pchName, pchName, const char *); }; -struct IVROverlay_IVROverlay_017_GetOverlayImageData_params +struct IVROverlay_IVROverlay_016_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -31684,7 +31296,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -31695,21 +31307,21 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_017_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_016_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_017_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_016_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -31717,7 +31329,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -31725,21 +31337,21 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_017_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_016_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_017_SetOverlayFlag_params +struct IVROverlay_IVROverlay_016_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -31748,7 +31360,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -31757,7 +31369,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_017_GetOverlayFlag_params +struct IVROverlay_IVROverlay_016_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -31766,7 +31378,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -31775,7 +31387,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_017_SetOverlayColor_params +struct IVROverlay_IVROverlay_016_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -31785,7 +31397,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -31795,7 +31407,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_017_GetOverlayColor_params +struct IVROverlay_IVROverlay_016_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -31805,7 +31417,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -31815,7 +31427,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_017_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_016_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -31823,7 +31435,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -31831,7 +31443,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_017_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_016_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -31839,7 +31451,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -31847,7 +31459,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_017_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_016_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -31855,7 +31467,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -31863,7 +31475,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_017_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_016_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -31871,7 +31483,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -31879,7 +31491,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_017_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_016_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -31887,7 +31499,7 @@ struct IVROverlay_IVROverlay_017_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -31895,7 +31507,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_017_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_016_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -31903,7 +31515,7 @@ struct IVROverlay_IVROverlay_017_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -31911,7 +31523,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_017_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_016_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -31919,7 +31531,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -31927,7 +31539,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_017_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_016_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -31935,7 +31547,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -31943,7 +31555,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_017_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_016_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -31952,7 +31564,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayAutoCurveDistanceRangeInMeters_params float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -31961,7 +31573,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayAutoCurveDistanceRangeInMeters_ float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_017_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_016_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -31970,7 +31582,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayAutoCurveDistanceRangeInMeters_params float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -31979,7 +31591,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayAutoCurveDistanceRangeInMeters_ W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_017_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_016_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -31987,7 +31599,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -31995,7 +31607,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_017_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_016_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -32003,7 +31615,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -32011,7 +31623,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_017_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_016_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -32019,7 +31631,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -32027,7 +31639,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_017_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_016_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -32035,7 +31647,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -32043,7 +31655,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_017_GetOverlayRenderModel_params +struct IVROverlay_IVROverlay_016_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -32054,7 +31666,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayRenderModel_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -32065,7 +31677,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayRenderModel_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_017_SetOverlayRenderModel_params +struct IVROverlay_IVROverlay_016_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -32074,7 +31686,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayRenderModel_params const HmdColor_t *pColor; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -32083,7 +31695,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayRenderModel_params W32_PTR(const HmdColor_t *pColor, pColor, const HmdColor_t *); }; -struct IVROverlay_IVROverlay_017_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_016_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -32091,7 +31703,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -32099,7 +31711,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_017_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_016_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -32108,7 +31720,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -32117,7 +31729,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_017_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_016_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -32126,7 +31738,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -32135,7 +31747,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -32144,7 +31756,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -32153,7 +31765,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -32162,7 +31774,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -32171,7 +31783,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -32180,7 +31792,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -32189,7 +31801,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -32199,7 +31811,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -32209,7 +31821,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_017_GetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_016_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -32218,7 +31830,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayTransformOverlayRelative_params HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -32227,7 +31839,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformOverlayRelative_params W32_PTR(HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_017_SetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_016_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -32236,7 +31848,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayTransformOverlayRelative_params const HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -32245,49 +31857,49 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformOverlayRelative_params W32_PTR(const HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_017_ShowOverlay_params +struct IVROverlay_IVROverlay_016_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_017_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_016_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_017_HideOverlay_params +struct IVROverlay_IVROverlay_016_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_017_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_016_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_017_IsOverlayVisible_params +struct IVROverlay_IVROverlay_016_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_017_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_016_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_017_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_016_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -32297,7 +31909,7 @@ struct IVROverlay_IVROverlay_017_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_017_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_016_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -32307,25 +31919,25 @@ struct wow64_IVROverlay_IVROverlay_017_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_017_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_016_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_1011 *pEvent; + w_VREvent_t_106 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_017_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_016_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_1011 *pEvent, pEvent, w32_VREvent_t_1011 *); + W32_PTR(w32_VREvent_t_106 *pEvent, pEvent, w32_VREvent_t_106 *); uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_017_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_016_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -32333,7 +31945,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -32341,7 +31953,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_017_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_016_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -32349,7 +31961,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -32357,7 +31969,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_017_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_016_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -32365,7 +31977,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -32373,7 +31985,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_017_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_016_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -32381,7 +31993,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -32389,7 +32001,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_017_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_016_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -32398,7 +32010,7 @@ struct IVROverlay_IVROverlay_017_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_017_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_016_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -32407,7 +32019,7 @@ struct wow64_IVROverlay_IVROverlay_017_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_017_HandleControllerOverlayInteractionAsMouse_params +struct IVROverlay_IVROverlay_016_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -32415,7 +32027,7 @@ struct IVROverlay_IVROverlay_017_HandleControllerOverlayInteractionAsMouse_param uint32_t unControllerDeviceIndex; }; -struct wow64_IVROverlay_IVROverlay_017_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVROverlay_IVROverlay_016_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; @@ -32423,47 +32035,47 @@ struct wow64_IVROverlay_IVROverlay_017_HandleControllerOverlayInteractionAsMouse uint32_t unControllerDeviceIndex; }; -struct IVROverlay_IVROverlay_017_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_016_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_017_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_016_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_017_GetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_016_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_017_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_016_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_017_SetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_016_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct wow64_IVROverlay_IVROverlay_017_SetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_016_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct IVROverlay_IVROverlay_017_SetOverlayNeighbor_params +struct IVROverlay_IVROverlay_016_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -32472,7 +32084,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayNeighbor_params uint64_t ulTo; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayNeighbor_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -32481,7 +32093,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayNeighbor_params uint64_t ulTo; }; -struct IVROverlay_IVROverlay_017_MoveGamepadFocusToNeighbor_params +struct IVROverlay_IVROverlay_016_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -32489,7 +32101,7 @@ struct IVROverlay_IVROverlay_017_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct wow64_IVROverlay_IVROverlay_017_MoveGamepadFocusToNeighbor_params +struct wow64_IVROverlay_IVROverlay_016_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -32497,47 +32109,7 @@ struct wow64_IVROverlay_IVROverlay_017_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct IVROverlay_IVROverlay_017_SetOverlayDualAnalogTransform_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlay; - uint32_t eWhich; - const HmdVector2_t *vCenter; - float fRadius; -}; - -struct wow64_IVROverlay_IVROverlay_017_SetOverlayDualAnalogTransform_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlay; - uint32_t eWhich; - W32_PTR(const HmdVector2_t *vCenter, vCenter, const HmdVector2_t *); - float fRadius; -}; - -struct IVROverlay_IVROverlay_017_GetOverlayDualAnalogTransform_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlay; - uint32_t eWhich; - HmdVector2_t *pvCenter; - float *pfRadius; -}; - -struct wow64_IVROverlay_IVROverlay_017_GetOverlayDualAnalogTransform_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlay; - uint32_t eWhich; - W32_PTR(HmdVector2_t *pvCenter, pvCenter, HmdVector2_t *); - W32_PTR(float *pfRadius, pfRadius, float *); -}; - -struct IVROverlay_IVROverlay_017_SetOverlayTexture_params +struct IVROverlay_IVROverlay_016_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -32545,7 +32117,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -32553,21 +32125,21 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_017_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_016_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_017_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_016_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_017_SetOverlayRaw_params +struct IVROverlay_IVROverlay_016_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -32578,7 +32150,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -32589,7 +32161,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_017_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_016_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -32597,7 +32169,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -32605,7 +32177,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_017_GetOverlayTexture_params +struct IVROverlay_IVROverlay_016_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -32620,7 +32192,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -32635,7 +32207,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_017_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_016_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -32643,7 +32215,7 @@ struct IVROverlay_IVROverlay_017_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_017_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_016_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -32651,7 +32223,7 @@ struct wow64_IVROverlay_IVROverlay_017_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_017_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_016_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -32660,7 +32232,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -32669,7 +32241,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_017_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_016_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -32679,7 +32251,7 @@ struct IVROverlay_IVROverlay_017_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_017_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_016_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -32689,33 +32261,33 @@ struct wow64_IVROverlay_IVROverlay_017_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_017_IsDashboardVisible_params +struct IVROverlay_IVROverlay_016_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_017_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_016_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_017_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_016_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_017_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_016_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_017_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_016_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -32723,7 +32295,7 @@ struct IVROverlay_IVROverlay_017_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_017_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_016_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -32731,7 +32303,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_017_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_016_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -32739,7 +32311,7 @@ struct IVROverlay_IVROverlay_017_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_017_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_016_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -32747,31 +32319,31 @@ struct wow64_IVROverlay_IVROverlay_017_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_017_ShowDashboard_params +struct IVROverlay_IVROverlay_016_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_017_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_016_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_017_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_016_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_017_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_016_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_017_ShowKeyboard_params +struct IVROverlay_IVROverlay_016_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -32784,7 +32356,7 @@ struct IVROverlay_IVROverlay_017_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_017_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_016_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -32797,7 +32369,7 @@ struct wow64_IVROverlay_IVROverlay_017_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_017_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_016_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -32811,7 +32383,7 @@ struct IVROverlay_IVROverlay_017_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_017_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_016_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -32825,7 +32397,7 @@ struct wow64_IVROverlay_IVROverlay_017_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_017_GetKeyboardText_params +struct IVROverlay_IVROverlay_016_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -32833,7 +32405,7 @@ struct IVROverlay_IVROverlay_017_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_017_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_016_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -32841,45 +32413,45 @@ struct wow64_IVROverlay_IVROverlay_017_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_017_HideKeyboard_params +struct IVROverlay_IVROverlay_016_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_017_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_016_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_017_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_016_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_017_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_016_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_017_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_016_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_017_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_016_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_017_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_016_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -32889,7 +32461,7 @@ struct IVROverlay_IVROverlay_017_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_017_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_016_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -32899,7 +32471,7 @@ struct wow64_IVROverlay_IVROverlay_017_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_017_GetOverlayFlags_params +struct IVROverlay_IVROverlay_016_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -32907,7 +32479,7 @@ struct IVROverlay_IVROverlay_017_GetOverlayFlags_params uint32_t *pFlags; }; -struct wow64_IVROverlay_IVROverlay_017_GetOverlayFlags_params +struct wow64_IVROverlay_IVROverlay_016_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -32915,7 +32487,7 @@ struct wow64_IVROverlay_IVROverlay_017_GetOverlayFlags_params W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVROverlay_IVROverlay_017_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_016_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -32927,7 +32499,7 @@ struct IVROverlay_IVROverlay_017_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_017_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_016_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -32939,17 +32511,17 @@ struct wow64_IVROverlay_IVROverlay_017_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_017_CloseMessageOverlay_params +struct IVROverlay_IVROverlay_016_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_017_CloseMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_016_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_018_FindOverlay_params +struct IVROverlay_IVROverlay_017_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -32957,7 +32529,7 @@ struct IVROverlay_IVROverlay_018_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_018_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_017_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -32965,7 +32537,7 @@ struct wow64_IVROverlay_IVROverlay_018_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_018_CreateOverlay_params +struct IVROverlay_IVROverlay_017_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -32974,7 +32546,7 @@ struct IVROverlay_IVROverlay_018_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_018_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_017_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -32983,47 +32555,47 @@ struct wow64_IVROverlay_IVROverlay_018_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_018_DestroyOverlay_params +struct IVROverlay_IVROverlay_017_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_018_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_017_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_018_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_017_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_018_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_017_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_018_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_017_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_018_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_017_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_018_GetOverlayKey_params +struct IVROverlay_IVROverlay_017_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -33033,7 +32605,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -33043,7 +32615,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_018_GetOverlayName_params +struct IVROverlay_IVROverlay_017_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -33053,7 +32625,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -33063,7 +32635,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_018_SetOverlayName_params +struct IVROverlay_IVROverlay_017_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -33071,7 +32643,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayName_params const char *pchName; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayName_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -33079,7 +32651,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayName_params W32_PTR(const char *pchName, pchName, const char *); }; -struct IVROverlay_IVROverlay_018_GetOverlayImageData_params +struct IVROverlay_IVROverlay_017_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -33090,7 +32662,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -33101,21 +32673,21 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_018_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_017_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_018_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_017_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -33123,7 +32695,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -33131,21 +32703,21 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_018_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_017_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_018_SetOverlayFlag_params +struct IVROverlay_IVROverlay_017_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -33154,7 +32726,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -33163,7 +32735,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_018_GetOverlayFlag_params +struct IVROverlay_IVROverlay_017_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -33172,7 +32744,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -33181,7 +32753,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_018_SetOverlayColor_params +struct IVROverlay_IVROverlay_017_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -33191,7 +32763,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -33201,7 +32773,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_018_GetOverlayColor_params +struct IVROverlay_IVROverlay_017_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -33211,7 +32783,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -33221,7 +32793,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_018_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_017_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -33229,7 +32801,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -33237,7 +32809,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_018_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_017_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -33245,7 +32817,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -33253,7 +32825,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_018_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_017_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -33261,7 +32833,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -33269,7 +32841,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_018_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_017_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -33277,7 +32849,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -33285,7 +32857,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_018_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_017_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -33293,7 +32865,7 @@ struct IVROverlay_IVROverlay_018_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -33301,7 +32873,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_018_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_017_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -33309,7 +32881,7 @@ struct IVROverlay_IVROverlay_018_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -33317,7 +32889,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_018_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_017_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -33325,7 +32897,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -33333,7 +32905,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_018_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_017_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -33341,7 +32913,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -33349,7 +32921,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_018_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_017_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -33358,7 +32930,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayAutoCurveDistanceRangeInMeters_params float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -33367,7 +32939,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayAutoCurveDistanceRangeInMeters_ float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_018_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_017_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -33376,7 +32948,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayAutoCurveDistanceRangeInMeters_params float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -33385,7 +32957,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayAutoCurveDistanceRangeInMeters_ W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_018_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_017_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -33393,7 +32965,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -33401,7 +32973,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_018_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_017_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -33409,7 +32981,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -33417,7 +32989,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_018_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_017_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -33425,7 +32997,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -33433,7 +33005,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_018_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_017_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -33441,7 +33013,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -33449,7 +33021,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_018_GetOverlayRenderModel_params +struct IVROverlay_IVROverlay_017_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -33460,7 +33032,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayRenderModel_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -33471,7 +33043,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayRenderModel_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_018_SetOverlayRenderModel_params +struct IVROverlay_IVROverlay_017_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -33480,7 +33052,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayRenderModel_params const HmdColor_t *pColor; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -33489,7 +33061,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayRenderModel_params W32_PTR(const HmdColor_t *pColor, pColor, const HmdColor_t *); }; -struct IVROverlay_IVROverlay_018_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_017_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -33497,7 +33069,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -33505,7 +33077,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_018_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_017_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -33514,7 +33086,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -33523,7 +33095,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_018_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_017_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -33532,7 +33104,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -33541,7 +33113,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -33550,7 +33122,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -33559,7 +33131,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -33568,7 +33140,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -33577,7 +33149,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -33586,7 +33158,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -33595,7 +33167,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -33605,7 +33177,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -33615,7 +33187,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_018_GetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_017_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -33624,7 +33196,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayTransformOverlayRelative_params HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -33633,7 +33205,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformOverlayRelative_params W32_PTR(HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_018_SetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_017_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -33642,7 +33214,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayTransformOverlayRelative_params const HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -33651,49 +33223,49 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformOverlayRelative_params W32_PTR(const HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_018_ShowOverlay_params +struct IVROverlay_IVROverlay_017_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_018_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_017_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_018_HideOverlay_params +struct IVROverlay_IVROverlay_017_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_018_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_017_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_018_IsOverlayVisible_params +struct IVROverlay_IVROverlay_017_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_018_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_017_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_018_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_017_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -33703,7 +33275,7 @@ struct IVROverlay_IVROverlay_018_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_018_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_017_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -33713,25 +33285,25 @@ struct wow64_IVROverlay_IVROverlay_018_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_018_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_017_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_1016 *pEvent; + w_VREvent_t_1011 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_018_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_017_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_1016 *pEvent, pEvent, w32_VREvent_t_1016 *); + W32_PTR(w32_VREvent_t_1011 *pEvent, pEvent, w32_VREvent_t_1011 *); uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_018_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_017_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -33739,7 +33311,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -33747,7 +33319,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_018_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_017_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -33755,7 +33327,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -33763,7 +33335,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_018_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_017_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -33771,7 +33343,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -33779,7 +33351,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_018_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_017_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -33787,7 +33359,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -33795,7 +33367,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_018_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_017_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -33804,7 +33376,7 @@ struct IVROverlay_IVROverlay_018_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_018_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_017_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -33813,47 +33385,63 @@ struct wow64_IVROverlay_IVROverlay_018_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_018_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_017_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; + uint32_t unControllerDeviceIndex; }; -struct wow64_IVROverlay_IVROverlay_018_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_017_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; + uint32_t unControllerDeviceIndex; }; -struct IVROverlay_IVROverlay_018_GetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_017_IsHoverTargetOverlay_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; +}; + +struct wow64_IVROverlay_IVROverlay_017_IsHoverTargetOverlay_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; +}; + +struct IVROverlay_IVROverlay_017_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_018_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_017_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_018_SetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_017_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct wow64_IVROverlay_IVROverlay_018_SetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_017_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct IVROverlay_IVROverlay_018_SetOverlayNeighbor_params +struct IVROverlay_IVROverlay_017_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -33862,7 +33450,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayNeighbor_params uint64_t ulTo; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayNeighbor_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -33871,7 +33459,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayNeighbor_params uint64_t ulTo; }; -struct IVROverlay_IVROverlay_018_MoveGamepadFocusToNeighbor_params +struct IVROverlay_IVROverlay_017_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -33879,7 +33467,7 @@ struct IVROverlay_IVROverlay_018_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct wow64_IVROverlay_IVROverlay_018_MoveGamepadFocusToNeighbor_params +struct wow64_IVROverlay_IVROverlay_017_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -33887,7 +33475,7 @@ struct wow64_IVROverlay_IVROverlay_018_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct IVROverlay_IVROverlay_018_SetOverlayDualAnalogTransform_params +struct IVROverlay_IVROverlay_017_SetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -33897,7 +33485,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayDualAnalogTransform_params float fRadius; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayDualAnalogTransform_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -33907,7 +33495,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayDualAnalogTransform_params float fRadius; }; -struct IVROverlay_IVROverlay_018_GetOverlayDualAnalogTransform_params +struct IVROverlay_IVROverlay_017_GetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -33917,7 +33505,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayDualAnalogTransform_params float *pfRadius; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayDualAnalogTransform_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -33927,7 +33515,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayDualAnalogTransform_params W32_PTR(float *pfRadius, pfRadius, float *); }; -struct IVROverlay_IVROverlay_018_SetOverlayTexture_params +struct IVROverlay_IVROverlay_017_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -33935,7 +33523,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -33943,21 +33531,21 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_018_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_017_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_018_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_017_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_018_SetOverlayRaw_params +struct IVROverlay_IVROverlay_017_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -33968,7 +33556,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -33979,7 +33567,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_018_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_017_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -33987,7 +33575,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -33995,7 +33583,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_018_GetOverlayTexture_params +struct IVROverlay_IVROverlay_017_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -34010,7 +33598,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -34025,7 +33613,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_018_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_017_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -34033,7 +33621,7 @@ struct IVROverlay_IVROverlay_018_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_018_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_017_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -34041,7 +33629,7 @@ struct wow64_IVROverlay_IVROverlay_018_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_018_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_017_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -34050,7 +33638,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -34059,7 +33647,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_018_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_017_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -34069,7 +33657,7 @@ struct IVROverlay_IVROverlay_018_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_018_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_017_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -34079,33 +33667,33 @@ struct wow64_IVROverlay_IVROverlay_018_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_018_IsDashboardVisible_params +struct IVROverlay_IVROverlay_017_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_018_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_017_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_018_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_017_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_018_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_017_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_018_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_017_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -34113,7 +33701,7 @@ struct IVROverlay_IVROverlay_018_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_018_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_017_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -34121,7 +33709,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_018_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_017_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -34129,7 +33717,7 @@ struct IVROverlay_IVROverlay_018_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_018_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_017_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -34137,31 +33725,31 @@ struct wow64_IVROverlay_IVROverlay_018_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_018_ShowDashboard_params +struct IVROverlay_IVROverlay_017_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_018_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_017_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_018_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_017_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_018_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_017_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_018_ShowKeyboard_params +struct IVROverlay_IVROverlay_017_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -34174,7 +33762,7 @@ struct IVROverlay_IVROverlay_018_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_018_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_017_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -34187,7 +33775,7 @@ struct wow64_IVROverlay_IVROverlay_018_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_018_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_017_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -34201,7 +33789,7 @@ struct IVROverlay_IVROverlay_018_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_018_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_017_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -34215,7 +33803,7 @@ struct wow64_IVROverlay_IVROverlay_018_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_018_GetKeyboardText_params +struct IVROverlay_IVROverlay_017_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -34223,7 +33811,7 @@ struct IVROverlay_IVROverlay_018_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_018_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_017_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -34231,45 +33819,45 @@ struct wow64_IVROverlay_IVROverlay_018_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_018_HideKeyboard_params +struct IVROverlay_IVROverlay_017_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_018_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_017_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_018_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_017_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_018_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_017_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_018_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_017_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_018_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_017_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_018_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_017_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -34279,7 +33867,7 @@ struct IVROverlay_IVROverlay_018_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_018_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_017_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -34289,7 +33877,7 @@ struct wow64_IVROverlay_IVROverlay_018_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_018_GetOverlayFlags_params +struct IVROverlay_IVROverlay_017_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -34297,7 +33885,7 @@ struct IVROverlay_IVROverlay_018_GetOverlayFlags_params uint32_t *pFlags; }; -struct wow64_IVROverlay_IVROverlay_018_GetOverlayFlags_params +struct wow64_IVROverlay_IVROverlay_017_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -34305,7 +33893,7 @@ struct wow64_IVROverlay_IVROverlay_018_GetOverlayFlags_params W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVROverlay_IVROverlay_018_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_017_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -34317,7 +33905,7 @@ struct IVROverlay_IVROverlay_018_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_018_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_017_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -34329,17 +33917,17 @@ struct wow64_IVROverlay_IVROverlay_018_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_018_CloseMessageOverlay_params +struct IVROverlay_IVROverlay_017_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_018_CloseMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_017_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_019_FindOverlay_params +struct IVROverlay_IVROverlay_018_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -34347,7 +33935,7 @@ struct IVROverlay_IVROverlay_019_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_019_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_018_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -34355,7 +33943,7 @@ struct wow64_IVROverlay_IVROverlay_019_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_019_CreateOverlay_params +struct IVROverlay_IVROverlay_018_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -34364,7 +33952,7 @@ struct IVROverlay_IVROverlay_019_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_019_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_018_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -34373,47 +33961,47 @@ struct wow64_IVROverlay_IVROverlay_019_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_019_DestroyOverlay_params +struct IVROverlay_IVROverlay_018_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_019_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_018_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_019_SetHighQualityOverlay_params +struct IVROverlay_IVROverlay_018_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_019_SetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_018_SetHighQualityOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_019_GetHighQualityOverlay_params +struct IVROverlay_IVROverlay_018_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_019_GetHighQualityOverlay_params +struct wow64_IVROverlay_IVROverlay_018_GetHighQualityOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_019_GetOverlayKey_params +struct IVROverlay_IVROverlay_018_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -34423,7 +34011,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -34433,7 +34021,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_019_GetOverlayName_params +struct IVROverlay_IVROverlay_018_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -34443,7 +34031,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -34453,7 +34041,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_019_SetOverlayName_params +struct IVROverlay_IVROverlay_018_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -34461,7 +34049,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayName_params const char *pchName; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayName_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -34469,7 +34057,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayName_params W32_PTR(const char *pchName, pchName, const char *); }; -struct IVROverlay_IVROverlay_019_GetOverlayImageData_params +struct IVROverlay_IVROverlay_018_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -34480,7 +34068,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -34491,21 +34079,21 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_019_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_018_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_019_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_018_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -34513,7 +34101,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -34521,21 +34109,21 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_019_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_018_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_019_SetOverlayFlag_params +struct IVROverlay_IVROverlay_018_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -34544,7 +34132,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -34553,7 +34141,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_019_GetOverlayFlag_params +struct IVROverlay_IVROverlay_018_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -34562,7 +34150,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -34571,7 +34159,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_019_SetOverlayColor_params +struct IVROverlay_IVROverlay_018_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -34581,7 +34169,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -34591,7 +34179,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_019_GetOverlayColor_params +struct IVROverlay_IVROverlay_018_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -34601,7 +34189,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -34611,7 +34199,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_019_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_018_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -34619,7 +34207,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -34627,7 +34215,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_019_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_018_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -34635,7 +34223,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -34643,7 +34231,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_019_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_018_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -34651,7 +34239,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -34659,7 +34247,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_019_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_018_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -34667,7 +34255,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -34675,7 +34263,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_019_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_018_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -34683,7 +34271,7 @@ struct IVROverlay_IVROverlay_019_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -34691,7 +34279,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_019_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_018_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -34699,7 +34287,7 @@ struct IVROverlay_IVROverlay_019_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -34707,7 +34295,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_019_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_018_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -34715,7 +34303,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -34723,7 +34311,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_019_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_018_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -34731,7 +34319,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -34739,7 +34327,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_019_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_018_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -34748,7 +34336,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayAutoCurveDistanceRangeInMeters_params float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -34757,7 +34345,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayAutoCurveDistanceRangeInMeters_ float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_019_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_018_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -34766,7 +34354,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayAutoCurveDistanceRangeInMeters_params float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -34775,7 +34363,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayAutoCurveDistanceRangeInMeters_ W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_019_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_018_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -34783,7 +34371,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -34791,7 +34379,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_019_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_018_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -34799,7 +34387,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -34807,7 +34395,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_019_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_018_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -34815,7 +34403,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -34823,7 +34411,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_019_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_018_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -34831,7 +34419,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -34839,7 +34427,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_019_GetOverlayRenderModel_params +struct IVROverlay_IVROverlay_018_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -34850,7 +34438,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayRenderModel_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -34861,7 +34449,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayRenderModel_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_019_SetOverlayRenderModel_params +struct IVROverlay_IVROverlay_018_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -34870,7 +34458,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayRenderModel_params const HmdColor_t *pColor; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -34879,7 +34467,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayRenderModel_params W32_PTR(const HmdColor_t *pColor, pColor, const HmdColor_t *); }; -struct IVROverlay_IVROverlay_019_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_018_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -34887,7 +34475,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -34895,7 +34483,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_019_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_018_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -34904,7 +34492,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -34913,7 +34501,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_019_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_018_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -34922,7 +34510,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -34931,7 +34519,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -34940,7 +34528,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -34949,7 +34537,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -34958,7 +34546,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -34967,7 +34555,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -34976,7 +34564,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -34985,7 +34573,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -34995,7 +34583,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -35005,7 +34593,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_019_GetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_018_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -35014,7 +34602,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayTransformOverlayRelative_params HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -35023,7 +34611,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformOverlayRelative_params W32_PTR(HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_019_SetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_018_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -35032,7 +34620,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayTransformOverlayRelative_params const HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -35041,49 +34629,49 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformOverlayRelative_params W32_PTR(const HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_019_ShowOverlay_params +struct IVROverlay_IVROverlay_018_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_019_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_018_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_019_HideOverlay_params +struct IVROverlay_IVROverlay_018_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_019_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_018_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_019_IsOverlayVisible_params +struct IVROverlay_IVROverlay_018_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_019_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_018_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_019_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_018_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -35093,7 +34681,7 @@ struct IVROverlay_IVROverlay_019_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_019_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_018_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -35103,25 +34691,25 @@ struct wow64_IVROverlay_IVROverlay_019_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_019_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_018_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_1322 *pEvent; + w_VREvent_t_1016 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_019_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_018_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_1322 *pEvent, pEvent, w32_VREvent_t_1322 *); + W32_PTR(w32_VREvent_t_1016 *pEvent, pEvent, w32_VREvent_t_1016 *); uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_019_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_018_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -35129,7 +34717,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -35137,7 +34725,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_019_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_018_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -35145,7 +34733,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -35153,7 +34741,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_019_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_018_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -35161,7 +34749,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -35169,7 +34757,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_019_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_018_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -35177,7 +34765,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -35185,7 +34773,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_019_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_018_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -35194,7 +34782,7 @@ struct IVROverlay_IVROverlay_019_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_019_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_018_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -35203,47 +34791,47 @@ struct wow64_IVROverlay_IVROverlay_019_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_019_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_018_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_019_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_018_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_019_GetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_018_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_019_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_018_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_019_SetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_018_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct wow64_IVROverlay_IVROverlay_019_SetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_018_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct IVROverlay_IVROverlay_019_SetOverlayNeighbor_params +struct IVROverlay_IVROverlay_018_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -35252,7 +34840,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayNeighbor_params uint64_t ulTo; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayNeighbor_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -35261,7 +34849,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayNeighbor_params uint64_t ulTo; }; -struct IVROverlay_IVROverlay_019_MoveGamepadFocusToNeighbor_params +struct IVROverlay_IVROverlay_018_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -35269,7 +34857,7 @@ struct IVROverlay_IVROverlay_019_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct wow64_IVROverlay_IVROverlay_019_MoveGamepadFocusToNeighbor_params +struct wow64_IVROverlay_IVROverlay_018_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -35277,27 +34865,27 @@ struct wow64_IVROverlay_IVROverlay_019_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct IVROverlay_IVROverlay_019_SetOverlayDualAnalogTransform_params +struct IVROverlay_IVROverlay_018_SetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlay; uint32_t eWhich; - const HmdVector2_t *pvCenter; + const HmdVector2_t *vCenter; float fRadius; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayDualAnalogTransform_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlay; uint32_t eWhich; - W32_PTR(const HmdVector2_t *pvCenter, pvCenter, const HmdVector2_t *); + W32_PTR(const HmdVector2_t *vCenter, vCenter, const HmdVector2_t *); float fRadius; }; -struct IVROverlay_IVROverlay_019_GetOverlayDualAnalogTransform_params +struct IVROverlay_IVROverlay_018_GetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -35307,7 +34895,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayDualAnalogTransform_params float *pfRadius; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayDualAnalogTransform_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -35317,7 +34905,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayDualAnalogTransform_params W32_PTR(float *pfRadius, pfRadius, float *); }; -struct IVROverlay_IVROverlay_019_SetOverlayTexture_params +struct IVROverlay_IVROverlay_018_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -35325,7 +34913,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -35333,21 +34921,21 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_019_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_018_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_019_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_018_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_019_SetOverlayRaw_params +struct IVROverlay_IVROverlay_018_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -35358,7 +34946,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -35369,7 +34957,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_019_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_018_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -35377,7 +34965,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -35385,7 +34973,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_019_GetOverlayTexture_params +struct IVROverlay_IVROverlay_018_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -35400,7 +34988,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -35415,7 +35003,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_019_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_018_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -35423,7 +35011,7 @@ struct IVROverlay_IVROverlay_019_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_019_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_018_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -35431,7 +35019,7 @@ struct wow64_IVROverlay_IVROverlay_019_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_019_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_018_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -35440,7 +35028,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -35449,7 +35037,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_019_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_018_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -35459,7 +35047,7 @@ struct IVROverlay_IVROverlay_019_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_019_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_018_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -35469,33 +35057,33 @@ struct wow64_IVROverlay_IVROverlay_019_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_019_IsDashboardVisible_params +struct IVROverlay_IVROverlay_018_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_019_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_018_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_019_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_018_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_019_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_018_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_019_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_018_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -35503,7 +35091,7 @@ struct IVROverlay_IVROverlay_019_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_019_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_018_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -35511,7 +35099,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_019_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_018_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -35519,7 +35107,7 @@ struct IVROverlay_IVROverlay_019_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_019_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_018_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -35527,31 +35115,31 @@ struct wow64_IVROverlay_IVROverlay_019_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_019_ShowDashboard_params +struct IVROverlay_IVROverlay_018_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_019_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_018_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_019_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_018_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_019_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_018_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_019_ShowKeyboard_params +struct IVROverlay_IVROverlay_018_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -35564,7 +35152,7 @@ struct IVROverlay_IVROverlay_019_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_019_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_018_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -35577,7 +35165,7 @@ struct wow64_IVROverlay_IVROverlay_019_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_019_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_018_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -35591,7 +35179,7 @@ struct IVROverlay_IVROverlay_019_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_019_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_018_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -35605,7 +35193,7 @@ struct wow64_IVROverlay_IVROverlay_019_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_019_GetKeyboardText_params +struct IVROverlay_IVROverlay_018_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -35613,7 +35201,7 @@ struct IVROverlay_IVROverlay_019_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_019_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_018_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -35621,45 +35209,45 @@ struct wow64_IVROverlay_IVROverlay_019_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_019_HideKeyboard_params +struct IVROverlay_IVROverlay_018_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_019_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_018_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_019_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_018_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_019_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_018_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_019_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_018_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_019_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_018_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_019_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_018_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -35669,7 +35257,7 @@ struct IVROverlay_IVROverlay_019_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_019_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_018_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -35679,7 +35267,7 @@ struct wow64_IVROverlay_IVROverlay_019_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_019_GetOverlayFlags_params +struct IVROverlay_IVROverlay_018_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -35687,7 +35275,7 @@ struct IVROverlay_IVROverlay_019_GetOverlayFlags_params uint32_t *pFlags; }; -struct wow64_IVROverlay_IVROverlay_019_GetOverlayFlags_params +struct wow64_IVROverlay_IVROverlay_018_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -35695,7 +35283,7 @@ struct wow64_IVROverlay_IVROverlay_019_GetOverlayFlags_params W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVROverlay_IVROverlay_019_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_018_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -35707,7 +35295,7 @@ struct IVROverlay_IVROverlay_019_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_019_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_018_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -35719,17 +35307,17 @@ struct wow64_IVROverlay_IVROverlay_019_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_019_CloseMessageOverlay_params +struct IVROverlay_IVROverlay_018_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_019_CloseMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_018_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_020_FindOverlay_params +struct IVROverlay_IVROverlay_019_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -35737,7 +35325,7 @@ struct IVROverlay_IVROverlay_020_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_020_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_019_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -35745,7 +35333,7 @@ struct wow64_IVROverlay_IVROverlay_020_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_020_CreateOverlay_params +struct IVROverlay_IVROverlay_019_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -35754,7 +35342,7 @@ struct IVROverlay_IVROverlay_020_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_020_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_019_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -35763,21 +35351,47 @@ struct wow64_IVROverlay_IVROverlay_020_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_020_DestroyOverlay_params +struct IVROverlay_IVROverlay_019_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_020_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_019_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_020_GetOverlayKey_params +struct IVROverlay_IVROverlay_019_SetHighQualityOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; +}; + +struct wow64_IVROverlay_IVROverlay_019_SetHighQualityOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; +}; + +struct IVROverlay_IVROverlay_019_GetHighQualityOverlay_params +{ + struct u_iface u_iface; + uint64_t _ret; +}; + +struct wow64_IVROverlay_IVROverlay_019_GetHighQualityOverlay_params +{ + struct u_iface u_iface; + uint64_t _ret; +}; + +struct IVROverlay_IVROverlay_019_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -35787,7 +35401,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -35797,7 +35411,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_020_GetOverlayName_params +struct IVROverlay_IVROverlay_019_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -35807,7 +35421,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -35817,7 +35431,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_020_SetOverlayName_params +struct IVROverlay_IVROverlay_019_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -35825,7 +35439,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayName_params const char *pchName; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayName_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -35833,7 +35447,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayName_params W32_PTR(const char *pchName, pchName, const char *); }; -struct IVROverlay_IVROverlay_020_GetOverlayImageData_params +struct IVROverlay_IVROverlay_019_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -35844,7 +35458,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -35855,21 +35469,21 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_020_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_019_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_020_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_019_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -35877,7 +35491,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -35885,21 +35499,21 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_020_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_019_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_020_SetOverlayFlag_params +struct IVROverlay_IVROverlay_019_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -35908,7 +35522,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -35917,7 +35531,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_020_GetOverlayFlag_params +struct IVROverlay_IVROverlay_019_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -35926,7 +35540,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -35935,7 +35549,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_020_SetOverlayColor_params +struct IVROverlay_IVROverlay_019_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -35945,7 +35559,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -35955,7 +35569,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_020_GetOverlayColor_params +struct IVROverlay_IVROverlay_019_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -35965,7 +35579,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -35975,7 +35589,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_020_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_019_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -35983,7 +35597,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -35991,7 +35605,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_020_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_019_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -35999,7 +35613,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -36007,7 +35621,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_020_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_019_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -36015,7 +35629,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -36023,7 +35637,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_020_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_019_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -36031,7 +35645,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -36039,7 +35653,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_020_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_019_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -36047,7 +35661,7 @@ struct IVROverlay_IVROverlay_020_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -36055,7 +35669,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_020_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_019_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -36063,7 +35677,7 @@ struct IVROverlay_IVROverlay_020_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -36071,7 +35685,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_020_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_019_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -36079,7 +35693,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -36087,7 +35701,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_020_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_019_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -36095,7 +35709,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -36103,7 +35717,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_020_SetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_019_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -36112,7 +35726,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayAutoCurveDistanceRangeInMeters_params float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -36121,7 +35735,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayAutoCurveDistanceRangeInMeters_ float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_020_GetOverlayAutoCurveDistanceRangeInMeters_params +struct IVROverlay_IVROverlay_019_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -36130,7 +35744,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayAutoCurveDistanceRangeInMeters_params float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayAutoCurveDistanceRangeInMeters_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -36139,7 +35753,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayAutoCurveDistanceRangeInMeters_ W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_020_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_019_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -36147,7 +35761,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -36155,7 +35769,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_020_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_019_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -36163,7 +35777,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -36171,7 +35785,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_020_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_019_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -36179,7 +35793,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -36187,7 +35801,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_020_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_019_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -36195,7 +35809,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -36203,7 +35817,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_020_GetOverlayRenderModel_params +struct IVROverlay_IVROverlay_019_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -36214,7 +35828,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayRenderModel_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -36225,7 +35839,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayRenderModel_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_020_SetOverlayRenderModel_params +struct IVROverlay_IVROverlay_019_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -36234,7 +35848,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayRenderModel_params const HmdColor_t *pColor; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -36243,7 +35857,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayRenderModel_params W32_PTR(const HmdColor_t *pColor, pColor, const HmdColor_t *); }; -struct IVROverlay_IVROverlay_020_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_019_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -36251,7 +35865,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -36259,7 +35873,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_020_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_019_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -36268,7 +35882,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -36277,7 +35891,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_020_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_019_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -36286,7 +35900,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -36295,7 +35909,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -36304,7 +35918,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -36313,7 +35927,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -36322,7 +35936,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -36331,7 +35945,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -36340,7 +35954,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -36349,7 +35963,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -36359,7 +35973,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -36369,7 +35983,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_020_GetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_019_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -36378,7 +35992,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayTransformOverlayRelative_params HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -36387,7 +36001,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformOverlayRelative_params W32_PTR(HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_020_SetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_019_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -36396,7 +36010,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayTransformOverlayRelative_params const HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -36405,49 +36019,49 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformOverlayRelative_params W32_PTR(const HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_020_ShowOverlay_params +struct IVROverlay_IVROverlay_019_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_020_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_019_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_020_HideOverlay_params +struct IVROverlay_IVROverlay_019_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_020_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_019_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_020_IsOverlayVisible_params +struct IVROverlay_IVROverlay_019_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_020_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_019_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_020_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_019_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -36457,7 +36071,7 @@ struct IVROverlay_IVROverlay_020_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_020_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_019_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -36467,7 +36081,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_020_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_019_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -36476,7 +36090,7 @@ struct IVROverlay_IVROverlay_020_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_020_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_019_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -36485,7 +36099,7 @@ struct wow64_IVROverlay_IVROverlay_020_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_020_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_019_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -36493,7 +36107,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -36501,7 +36115,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_020_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_019_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -36509,7 +36123,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -36517,7 +36131,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_020_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_019_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -36525,7 +36139,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -36533,7 +36147,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_020_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_019_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -36541,7 +36155,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -36549,7 +36163,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_020_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_019_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -36558,7 +36172,7 @@ struct IVROverlay_IVROverlay_020_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_020_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_019_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -36567,47 +36181,47 @@ struct wow64_IVROverlay_IVROverlay_020_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_020_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_019_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_020_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_019_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_020_GetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_019_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct wow64_IVROverlay_IVROverlay_020_GetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_019_GetGamepadFocusOverlay_params { struct u_iface u_iface; uint64_t _ret; }; -struct IVROverlay_IVROverlay_020_SetGamepadFocusOverlay_params +struct IVROverlay_IVROverlay_019_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct wow64_IVROverlay_IVROverlay_020_SetGamepadFocusOverlay_params +struct wow64_IVROverlay_IVROverlay_019_SetGamepadFocusOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulNewFocusOverlay; }; -struct IVROverlay_IVROverlay_020_SetOverlayNeighbor_params +struct IVROverlay_IVROverlay_019_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -36616,7 +36230,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayNeighbor_params uint64_t ulTo; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayNeighbor_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -36625,7 +36239,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayNeighbor_params uint64_t ulTo; }; -struct IVROverlay_IVROverlay_020_MoveGamepadFocusToNeighbor_params +struct IVROverlay_IVROverlay_019_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -36633,7 +36247,7 @@ struct IVROverlay_IVROverlay_020_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct wow64_IVROverlay_IVROverlay_020_MoveGamepadFocusToNeighbor_params +struct wow64_IVROverlay_IVROverlay_019_MoveGamepadFocusToNeighbor_params { struct u_iface u_iface; uint32_t _ret; @@ -36641,7 +36255,7 @@ struct wow64_IVROverlay_IVROverlay_020_MoveGamepadFocusToNeighbor_params uint64_t ulFrom; }; -struct IVROverlay_IVROverlay_020_SetOverlayDualAnalogTransform_params +struct IVROverlay_IVROverlay_019_SetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -36651,7 +36265,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayDualAnalogTransform_params float fRadius; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayDualAnalogTransform_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -36661,7 +36275,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayDualAnalogTransform_params float fRadius; }; -struct IVROverlay_IVROverlay_020_GetOverlayDualAnalogTransform_params +struct IVROverlay_IVROverlay_019_GetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -36671,7 +36285,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayDualAnalogTransform_params float *pfRadius; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayDualAnalogTransform_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -36681,7 +36295,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayDualAnalogTransform_params W32_PTR(float *pfRadius, pfRadius, float *); }; -struct IVROverlay_IVROverlay_020_SetOverlayTexture_params +struct IVROverlay_IVROverlay_019_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -36689,7 +36303,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -36697,21 +36311,21 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_020_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_019_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_020_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_019_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_020_SetOverlayRaw_params +struct IVROverlay_IVROverlay_019_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -36722,7 +36336,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -36733,7 +36347,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_020_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_019_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -36741,7 +36355,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -36749,7 +36363,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_020_GetOverlayTexture_params +struct IVROverlay_IVROverlay_019_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -36764,7 +36378,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -36779,7 +36393,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_020_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_019_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -36787,7 +36401,7 @@ struct IVROverlay_IVROverlay_020_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_020_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_019_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -36795,7 +36409,7 @@ struct wow64_IVROverlay_IVROverlay_020_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_020_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_019_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -36804,7 +36418,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -36813,7 +36427,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_020_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_019_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -36823,7 +36437,7 @@ struct IVROverlay_IVROverlay_020_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_020_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_019_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -36833,33 +36447,33 @@ struct wow64_IVROverlay_IVROverlay_020_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_020_IsDashboardVisible_params +struct IVROverlay_IVROverlay_019_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_020_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_019_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_020_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_019_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_020_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_019_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_020_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_019_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -36867,7 +36481,7 @@ struct IVROverlay_IVROverlay_020_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_020_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_019_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -36875,7 +36489,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_020_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_019_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -36883,7 +36497,7 @@ struct IVROverlay_IVROverlay_020_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_020_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_019_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -36891,31 +36505,31 @@ struct wow64_IVROverlay_IVROverlay_020_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_020_ShowDashboard_params +struct IVROverlay_IVROverlay_019_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_020_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_019_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_020_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_019_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_020_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_019_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_020_ShowKeyboard_params +struct IVROverlay_IVROverlay_019_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -36928,7 +36542,7 @@ struct IVROverlay_IVROverlay_020_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_020_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_019_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -36941,7 +36555,7 @@ struct wow64_IVROverlay_IVROverlay_020_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_020_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_019_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -36955,7 +36569,7 @@ struct IVROverlay_IVROverlay_020_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_020_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_019_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -36969,7 +36583,7 @@ struct wow64_IVROverlay_IVROverlay_020_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_020_GetKeyboardText_params +struct IVROverlay_IVROverlay_019_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -36977,7 +36591,7 @@ struct IVROverlay_IVROverlay_020_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_020_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_019_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -36985,45 +36599,45 @@ struct wow64_IVROverlay_IVROverlay_020_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_020_HideKeyboard_params +struct IVROverlay_IVROverlay_019_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_020_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_019_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_020_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_019_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_020_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_019_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_020_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_019_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_020_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_019_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_020_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_019_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -37033,7 +36647,7 @@ struct IVROverlay_IVROverlay_020_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_020_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_019_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -37043,7 +36657,7 @@ struct wow64_IVROverlay_IVROverlay_020_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_020_GetOverlayFlags_params +struct IVROverlay_IVROverlay_019_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -37051,7 +36665,7 @@ struct IVROverlay_IVROverlay_020_GetOverlayFlags_params uint32_t *pFlags; }; -struct wow64_IVROverlay_IVROverlay_020_GetOverlayFlags_params +struct wow64_IVROverlay_IVROverlay_019_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -37059,7 +36673,7 @@ struct wow64_IVROverlay_IVROverlay_020_GetOverlayFlags_params W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVROverlay_IVROverlay_020_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_019_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -37071,7 +36685,7 @@ struct IVROverlay_IVROverlay_020_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_020_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_019_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -37083,17 +36697,17 @@ struct wow64_IVROverlay_IVROverlay_020_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_020_CloseMessageOverlay_params +struct IVROverlay_IVROverlay_019_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_020_CloseMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_019_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_021_FindOverlay_params +struct IVROverlay_IVROverlay_020_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -37101,7 +36715,7 @@ struct IVROverlay_IVROverlay_021_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_021_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_020_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -37109,7 +36723,7 @@ struct wow64_IVROverlay_IVROverlay_021_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_021_CreateOverlay_params +struct IVROverlay_IVROverlay_020_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -37118,7 +36732,7 @@ struct IVROverlay_IVROverlay_021_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_021_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_020_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -37127,21 +36741,21 @@ struct wow64_IVROverlay_IVROverlay_021_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_021_DestroyOverlay_params +struct IVROverlay_IVROverlay_020_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_021_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_020_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_021_GetOverlayKey_params +struct IVROverlay_IVROverlay_020_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -37151,7 +36765,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -37161,7 +36775,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_021_GetOverlayName_params +struct IVROverlay_IVROverlay_020_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -37171,7 +36785,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -37181,7 +36795,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_021_SetOverlayName_params +struct IVROverlay_IVROverlay_020_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -37189,7 +36803,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayName_params const char *pchName; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayName_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -37197,7 +36811,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayName_params W32_PTR(const char *pchName, pchName, const char *); }; -struct IVROverlay_IVROverlay_021_GetOverlayImageData_params +struct IVROverlay_IVROverlay_020_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -37208,7 +36822,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -37219,21 +36833,21 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_021_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_020_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_021_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_020_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -37241,7 +36855,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -37249,21 +36863,21 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_021_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_020_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_021_SetOverlayFlag_params +struct IVROverlay_IVROverlay_020_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -37272,7 +36886,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -37281,7 +36895,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_021_GetOverlayFlag_params +struct IVROverlay_IVROverlay_020_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -37290,7 +36904,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -37299,7 +36913,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_021_SetOverlayColor_params +struct IVROverlay_IVROverlay_020_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -37309,7 +36923,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -37319,7 +36933,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_021_GetOverlayColor_params +struct IVROverlay_IVROverlay_020_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -37329,7 +36943,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -37339,7 +36953,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_021_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_020_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -37347,7 +36961,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -37355,7 +36969,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_021_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_020_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -37363,7 +36977,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -37371,7 +36985,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_021_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_020_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -37379,7 +36993,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -37387,7 +37001,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_021_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_020_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -37395,7 +37009,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -37403,7 +37017,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_021_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_020_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -37411,7 +37025,7 @@ struct IVROverlay_IVROverlay_021_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -37419,7 +37033,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_021_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_020_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -37427,7 +37041,7 @@ struct IVROverlay_IVROverlay_021_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -37435,7 +37049,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_021_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_020_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -37443,7 +37057,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -37451,7 +37065,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_021_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_020_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -37459,7 +37073,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -37467,39 +37081,43 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_021_SetOverlayCurvature_params +struct IVROverlay_IVROverlay_020_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fCurvature; + float fMinDistanceInMeters; + float fMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fCurvature; + float fMinDistanceInMeters; + float fMaxDistanceInMeters; }; -struct IVROverlay_IVROverlay_021_GetOverlayCurvature_params +struct IVROverlay_IVROverlay_020_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float *pfCurvature; + float *pfMinDistanceInMeters; + float *pfMaxDistanceInMeters; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayAutoCurveDistanceRangeInMeters_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(float *pfCurvature, pfCurvature, float *); + W32_PTR(float *pfMinDistanceInMeters, pfMinDistanceInMeters, float *); + W32_PTR(float *pfMaxDistanceInMeters, pfMaxDistanceInMeters, float *); }; -struct IVROverlay_IVROverlay_021_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_020_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -37507,7 +37125,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -37515,7 +37133,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_021_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_020_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -37523,7 +37141,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -37531,7 +37149,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_021_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_020_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -37539,7 +37157,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -37547,7 +37165,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_021_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_020_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -37555,7 +37173,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -37563,7 +37181,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_021_GetOverlayRenderModel_params +struct IVROverlay_IVROverlay_020_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -37574,7 +37192,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayRenderModel_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -37585,7 +37203,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayRenderModel_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_021_SetOverlayRenderModel_params +struct IVROverlay_IVROverlay_020_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -37594,7 +37212,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayRenderModel_params const HmdColor_t *pColor; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -37603,7 +37221,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayRenderModel_params W32_PTR(const HmdColor_t *pColor, pColor, const HmdColor_t *); }; -struct IVROverlay_IVROverlay_021_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_020_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -37611,7 +37229,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -37619,7 +37237,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_021_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_020_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -37628,7 +37246,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -37637,7 +37255,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_021_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_020_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -37646,7 +37264,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -37655,7 +37273,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -37664,7 +37282,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -37673,7 +37291,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -37682,7 +37300,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -37691,7 +37309,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -37700,7 +37318,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -37709,7 +37327,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -37719,7 +37337,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -37729,7 +37347,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_021_GetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_020_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -37738,7 +37356,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayTransformOverlayRelative_params HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -37747,7 +37365,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformOverlayRelative_params W32_PTR(HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_021_SetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_020_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -37756,7 +37374,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayTransformOverlayRelative_params const HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -37765,49 +37383,49 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformOverlayRelative_params W32_PTR(const HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_021_ShowOverlay_params +struct IVROverlay_IVROverlay_020_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_021_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_020_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_021_HideOverlay_params +struct IVROverlay_IVROverlay_020_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_021_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_020_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_021_IsOverlayVisible_params +struct IVROverlay_IVROverlay_020_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_021_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_020_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_021_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_020_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -37817,7 +37435,7 @@ struct IVROverlay_IVROverlay_021_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_021_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_020_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -37827,7 +37445,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_021_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_020_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -37836,7 +37454,7 @@ struct IVROverlay_IVROverlay_021_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_021_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_020_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -37845,7 +37463,7 @@ struct wow64_IVROverlay_IVROverlay_021_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_021_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_020_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -37853,7 +37471,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -37861,7 +37479,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_021_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_020_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -37869,7 +37487,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -37877,7 +37495,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_021_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_020_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -37885,7 +37503,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -37893,7 +37511,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_021_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_020_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -37901,7 +37519,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -37909,7 +37527,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_021_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_020_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -37918,7 +37536,7 @@ struct IVROverlay_IVROverlay_021_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_021_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_020_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -37927,21 +37545,81 @@ struct wow64_IVROverlay_IVROverlay_021_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_021_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_020_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_021_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_020_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_021_SetOverlayDualAnalogTransform_params +struct IVROverlay_IVROverlay_020_GetGamepadFocusOverlay_params +{ + struct u_iface u_iface; + uint64_t _ret; +}; + +struct wow64_IVROverlay_IVROverlay_020_GetGamepadFocusOverlay_params +{ + struct u_iface u_iface; + uint64_t _ret; +}; + +struct IVROverlay_IVROverlay_020_SetGamepadFocusOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulNewFocusOverlay; +}; + +struct wow64_IVROverlay_IVROverlay_020_SetGamepadFocusOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulNewFocusOverlay; +}; + +struct IVROverlay_IVROverlay_020_SetOverlayNeighbor_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t eDirection; + uint64_t ulFrom; + uint64_t ulTo; +}; + +struct wow64_IVROverlay_IVROverlay_020_SetOverlayNeighbor_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t eDirection; + uint64_t ulFrom; + uint64_t ulTo; +}; + +struct IVROverlay_IVROverlay_020_MoveGamepadFocusToNeighbor_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t eDirection; + uint64_t ulFrom; +}; + +struct wow64_IVROverlay_IVROverlay_020_MoveGamepadFocusToNeighbor_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t eDirection; + uint64_t ulFrom; +}; + +struct IVROverlay_IVROverlay_020_SetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -37951,7 +37629,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayDualAnalogTransform_params float fRadius; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayDualAnalogTransform_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -37961,7 +37639,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayDualAnalogTransform_params float fRadius; }; -struct IVROverlay_IVROverlay_021_GetOverlayDualAnalogTransform_params +struct IVROverlay_IVROverlay_020_GetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -37971,7 +37649,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayDualAnalogTransform_params float *pfRadius; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayDualAnalogTransform_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -37981,7 +37659,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayDualAnalogTransform_params W32_PTR(float *pfRadius, pfRadius, float *); }; -struct IVROverlay_IVROverlay_021_SetOverlayTexture_params +struct IVROverlay_IVROverlay_020_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -37989,7 +37667,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -37997,21 +37675,21 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_021_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_020_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_021_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_020_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_021_SetOverlayRaw_params +struct IVROverlay_IVROverlay_020_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -38022,7 +37700,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayRaw_params uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -38033,7 +37711,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayRaw_params uint32_t unDepth; }; -struct IVROverlay_IVROverlay_021_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_020_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -38041,7 +37719,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -38049,7 +37727,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_021_GetOverlayTexture_params +struct IVROverlay_IVROverlay_020_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -38064,7 +37742,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -38079,7 +37757,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_021_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_020_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -38087,7 +37765,7 @@ struct IVROverlay_IVROverlay_021_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_021_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_020_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -38095,7 +37773,7 @@ struct wow64_IVROverlay_IVROverlay_021_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_021_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_020_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -38104,7 +37782,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -38113,7 +37791,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_021_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_020_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -38123,7 +37801,7 @@ struct IVROverlay_IVROverlay_021_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_021_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_020_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -38133,33 +37811,33 @@ struct wow64_IVROverlay_IVROverlay_021_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_021_IsDashboardVisible_params +struct IVROverlay_IVROverlay_020_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_021_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_020_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_021_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_020_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_021_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_020_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_021_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_020_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -38167,7 +37845,7 @@ struct IVROverlay_IVROverlay_021_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_021_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_020_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -38175,7 +37853,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_021_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_020_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -38183,7 +37861,7 @@ struct IVROverlay_IVROverlay_021_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_021_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_020_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -38191,31 +37869,31 @@ struct wow64_IVROverlay_IVROverlay_021_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_021_ShowDashboard_params +struct IVROverlay_IVROverlay_020_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_021_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_020_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_021_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_020_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_021_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_020_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_021_ShowKeyboard_params +struct IVROverlay_IVROverlay_020_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -38228,7 +37906,7 @@ struct IVROverlay_IVROverlay_021_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_021_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_020_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -38241,7 +37919,7 @@ struct wow64_IVROverlay_IVROverlay_021_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_021_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_020_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -38255,7 +37933,7 @@ struct IVROverlay_IVROverlay_021_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_021_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_020_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -38269,7 +37947,7 @@ struct wow64_IVROverlay_IVROverlay_021_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_021_GetKeyboardText_params +struct IVROverlay_IVROverlay_020_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -38277,7 +37955,7 @@ struct IVROverlay_IVROverlay_021_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_021_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_020_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -38285,45 +37963,45 @@ struct wow64_IVROverlay_IVROverlay_021_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_021_HideKeyboard_params +struct IVROverlay_IVROverlay_020_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_021_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_020_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_021_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_020_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_021_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_020_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_021_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_020_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_021_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_020_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_021_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_020_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -38333,7 +38011,7 @@ struct IVROverlay_IVROverlay_021_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_021_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_020_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -38343,7 +38021,7 @@ struct wow64_IVROverlay_IVROverlay_021_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_021_GetOverlayFlags_params +struct IVROverlay_IVROverlay_020_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -38351,7 +38029,7 @@ struct IVROverlay_IVROverlay_021_GetOverlayFlags_params uint32_t *pFlags; }; -struct wow64_IVROverlay_IVROverlay_021_GetOverlayFlags_params +struct wow64_IVROverlay_IVROverlay_020_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -38359,7 +38037,7 @@ struct wow64_IVROverlay_IVROverlay_021_GetOverlayFlags_params W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVROverlay_IVROverlay_021_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_020_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -38371,7 +38049,7 @@ struct IVROverlay_IVROverlay_021_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_021_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_020_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -38383,17 +38061,17 @@ struct wow64_IVROverlay_IVROverlay_021_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_021_CloseMessageOverlay_params +struct IVROverlay_IVROverlay_020_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_021_CloseMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_020_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_022_FindOverlay_params +struct IVROverlay_IVROverlay_021_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -38401,7 +38079,7 @@ struct IVROverlay_IVROverlay_022_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_022_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_021_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -38409,7 +38087,7 @@ struct wow64_IVROverlay_IVROverlay_022_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_022_CreateOverlay_params +struct IVROverlay_IVROverlay_021_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -38418,7 +38096,7 @@ struct IVROverlay_IVROverlay_022_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_022_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_021_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -38427,21 +38105,21 @@ struct wow64_IVROverlay_IVROverlay_022_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_022_DestroyOverlay_params +struct IVROverlay_IVROverlay_021_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_022_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_021_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_022_GetOverlayKey_params +struct IVROverlay_IVROverlay_021_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -38451,7 +38129,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -38461,7 +38139,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_022_GetOverlayName_params +struct IVROverlay_IVROverlay_021_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -38471,7 +38149,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -38481,7 +38159,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_022_SetOverlayName_params +struct IVROverlay_IVROverlay_021_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -38489,7 +38167,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayName_params const char *pchName; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayName_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -38497,7 +38175,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayName_params W32_PTR(const char *pchName, pchName, const char *); }; -struct IVROverlay_IVROverlay_022_GetOverlayImageData_params +struct IVROverlay_IVROverlay_021_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -38508,7 +38186,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -38519,21 +38197,21 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_022_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_021_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_022_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_021_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -38541,7 +38219,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -38549,21 +38227,21 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_022_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_021_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_022_SetOverlayFlag_params +struct IVROverlay_IVROverlay_021_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -38572,7 +38250,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -38581,7 +38259,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_022_GetOverlayFlag_params +struct IVROverlay_IVROverlay_021_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -38590,7 +38268,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -38599,23 +38277,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_022_GetOverlayFlags_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t *pFlags; -}; - -struct wow64_IVROverlay_IVROverlay_022_GetOverlayFlags_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); -}; - -struct IVROverlay_IVROverlay_022_SetOverlayColor_params +struct IVROverlay_IVROverlay_021_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -38625,7 +38287,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -38635,7 +38297,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_022_GetOverlayColor_params +struct IVROverlay_IVROverlay_021_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -38645,7 +38307,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -38655,7 +38317,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_022_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_021_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -38663,7 +38325,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -38671,7 +38333,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_022_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_021_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -38679,7 +38341,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -38687,7 +38349,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_022_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_021_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -38695,7 +38357,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -38703,7 +38365,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_022_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_021_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -38711,7 +38373,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -38719,7 +38381,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_022_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_021_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -38727,7 +38389,7 @@ struct IVROverlay_IVROverlay_022_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -38735,7 +38397,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_022_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_021_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -38743,7 +38405,7 @@ struct IVROverlay_IVROverlay_022_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -38751,7 +38413,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_022_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_021_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -38759,7 +38421,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -38767,7 +38429,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_022_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_021_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -38775,7 +38437,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -38783,7 +38445,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_022_SetOverlayCurvature_params +struct IVROverlay_IVROverlay_021_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -38791,7 +38453,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayCurvature_params float fCurvature; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -38799,7 +38461,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayCurvature_params float fCurvature; }; -struct IVROverlay_IVROverlay_022_GetOverlayCurvature_params +struct IVROverlay_IVROverlay_021_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -38807,7 +38469,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayCurvature_params float *pfCurvature; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -38815,7 +38477,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayCurvature_params W32_PTR(float *pfCurvature, pfCurvature, float *); }; -struct IVROverlay_IVROverlay_022_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_021_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -38823,7 +38485,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -38831,7 +38493,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_022_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_021_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -38839,7 +38501,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -38847,7 +38509,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_022_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_021_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -38855,7 +38517,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -38863,7 +38525,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_022_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_021_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -38871,7 +38533,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -38879,7 +38541,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_022_GetOverlayRenderModel_params +struct IVROverlay_IVROverlay_021_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -38890,7 +38552,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayRenderModel_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -38901,7 +38563,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayRenderModel_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_022_SetOverlayRenderModel_params +struct IVROverlay_IVROverlay_021_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -38910,7 +38572,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayRenderModel_params const HmdColor_t *pColor; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayRenderModel_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayRenderModel_params { struct u_iface u_iface; uint32_t _ret; @@ -38919,7 +38581,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayRenderModel_params W32_PTR(const HmdColor_t *pColor, pColor, const HmdColor_t *); }; -struct IVROverlay_IVROverlay_022_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_021_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -38927,7 +38589,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -38935,7 +38597,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_022_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_021_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -38944,7 +38606,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -38953,7 +38615,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_022_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_021_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -38962,7 +38624,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -38971,7 +38633,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -38980,7 +38642,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -38989,7 +38651,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -38998,7 +38660,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -39007,7 +38669,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -39016,7 +38678,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -39025,7 +38687,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -39035,7 +38697,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -39045,7 +38707,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_022_GetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_021_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -39054,7 +38716,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayTransformOverlayRelative_params HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -39063,7 +38725,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformOverlayRelative_params W32_PTR(HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_022_SetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_021_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -39072,7 +38734,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayTransformOverlayRelative_params const HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -39081,81 +38743,49 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformOverlayRelative_params W32_PTR(const HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_022_SetOverlayTransformCursor_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulCursorOverlayHandle; - const HmdVector2_t *pvHotspot; -}; - -struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformCursor_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulCursorOverlayHandle; - W32_PTR(const HmdVector2_t *pvHotspot, pvHotspot, const HmdVector2_t *); -}; - -struct IVROverlay_IVROverlay_022_GetOverlayTransformCursor_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - HmdVector2_t *pvHotspot; -}; - -struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformCursor_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(HmdVector2_t *pvHotspot, pvHotspot, HmdVector2_t *); -}; - -struct IVROverlay_IVROverlay_022_ShowOverlay_params +struct IVROverlay_IVROverlay_021_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_022_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_021_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_022_HideOverlay_params +struct IVROverlay_IVROverlay_021_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_022_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_021_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_022_IsOverlayVisible_params +struct IVROverlay_IVROverlay_021_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_022_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_021_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_022_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_021_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -39165,7 +38795,7 @@ struct IVROverlay_IVROverlay_022_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_022_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_021_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -39175,7 +38805,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_022_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_021_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -39184,7 +38814,7 @@ struct IVROverlay_IVROverlay_022_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_022_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_021_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -39193,7 +38823,7 @@ struct wow64_IVROverlay_IVROverlay_022_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_022_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_021_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -39201,7 +38831,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -39209,7 +38839,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_022_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_021_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -39217,7 +38847,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -39225,7 +38855,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_022_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_021_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -39233,7 +38863,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -39241,7 +38871,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_022_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_021_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -39249,7 +38879,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -39257,7 +38887,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_022_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_021_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -39266,7 +38896,7 @@ struct IVROverlay_IVROverlay_022_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_022_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_021_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -39275,21 +38905,21 @@ struct wow64_IVROverlay_IVROverlay_022_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_022_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_021_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_022_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_021_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_022_SetOverlayDualAnalogTransform_params +struct IVROverlay_IVROverlay_021_SetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -39299,7 +38929,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayDualAnalogTransform_params float fRadius; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayDualAnalogTransform_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -39309,7 +38939,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayDualAnalogTransform_params float fRadius; }; -struct IVROverlay_IVROverlay_022_GetOverlayDualAnalogTransform_params +struct IVROverlay_IVROverlay_021_GetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -39319,7 +38949,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayDualAnalogTransform_params float *pfRadius; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayDualAnalogTransform_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayDualAnalogTransform_params { struct u_iface u_iface; uint32_t _ret; @@ -39329,145 +38959,59 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayDualAnalogTransform_params W32_PTR(float *pfRadius, pfRadius, float *); }; -struct IVROverlay_IVROverlay_022_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_021_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives; - uint32_t unNumMaskPrimitives; - uint32_t unPrimitiveSize; + const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - W32_PTR(VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, pMaskPrimitives, VROverlayIntersectionMaskPrimitive_t *); - uint32_t unNumMaskPrimitives; - uint32_t unPrimitiveSize; + W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_022_TriggerLaserMouseHapticVibration_params +struct IVROverlay_IVROverlay_021_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fDurationSeconds; - float fFrequency; - float fAmplitude; }; -struct wow64_IVROverlay_IVROverlay_022_TriggerLaserMouseHapticVibration_params +struct wow64_IVROverlay_IVROverlay_021_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - float fDurationSeconds; - float fFrequency; - float fAmplitude; }; -struct IVROverlay_IVROverlay_022_SetOverlayCursor_params +struct IVROverlay_IVROverlay_021_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint64_t ulCursorHandle; + void *pvBuffer; + uint32_t unWidth; + uint32_t unHeight; + uint32_t unDepth; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayCursor_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; - uint64_t ulCursorHandle; + W32_PTR(void *pvBuffer, pvBuffer, void *); + uint32_t unWidth; + uint32_t unHeight; + uint32_t unDepth; }; -struct IVROverlay_IVROverlay_022_SetOverlayCursorPositionOverride_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - const HmdVector2_t *pvCursor; -}; - -struct wow64_IVROverlay_IVROverlay_022_SetOverlayCursorPositionOverride_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(const HmdVector2_t *pvCursor, pvCursor, const HmdVector2_t *); -}; - -struct IVROverlay_IVROverlay_022_ClearOverlayCursorPositionOverride_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; -}; - -struct wow64_IVROverlay_IVROverlay_022_ClearOverlayCursorPositionOverride_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; -}; - -struct IVROverlay_IVROverlay_022_SetOverlayTexture_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - const w_Texture_t *pTexture; -}; - -struct wow64_IVROverlay_IVROverlay_022_SetOverlayTexture_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); -}; - -struct IVROverlay_IVROverlay_022_ClearOverlayTexture_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; -}; - -struct wow64_IVROverlay_IVROverlay_022_ClearOverlayTexture_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; -}; - -struct IVROverlay_IVROverlay_022_SetOverlayRaw_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - void *pvBuffer; - uint32_t unWidth; - uint32_t unHeight; - uint32_t unBytesPerPixel; -}; - -struct wow64_IVROverlay_IVROverlay_022_SetOverlayRaw_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(void *pvBuffer, pvBuffer, void *); - uint32_t unWidth; - uint32_t unHeight; - uint32_t unBytesPerPixel; -}; - -struct IVROverlay_IVROverlay_022_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_021_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -39475,7 +39019,7 @@ struct IVROverlay_IVROverlay_022_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_022_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_021_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -39483,7 +39027,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_022_GetOverlayTexture_params +struct IVROverlay_IVROverlay_021_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -39498,7 +39042,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -39513,7 +39057,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_022_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_021_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -39521,7 +39065,7 @@ struct IVROverlay_IVROverlay_022_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_022_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_021_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -39529,7 +39073,7 @@ struct wow64_IVROverlay_IVROverlay_022_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_022_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_021_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -39538,7 +39082,7 @@ struct IVROverlay_IVROverlay_022_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_022_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_021_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -39547,7 +39091,7 @@ struct wow64_IVROverlay_IVROverlay_022_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_022_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_021_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -39557,7 +39101,7 @@ struct IVROverlay_IVROverlay_022_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_022_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_021_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -39567,33 +39111,33 @@ struct wow64_IVROverlay_IVROverlay_022_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_022_IsDashboardVisible_params +struct IVROverlay_IVROverlay_021_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_022_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_021_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_022_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_021_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_022_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_021_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_022_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_021_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -39601,7 +39145,7 @@ struct IVROverlay_IVROverlay_022_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_022_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_021_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -39609,7 +39153,7 @@ struct wow64_IVROverlay_IVROverlay_022_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_022_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_021_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -39617,7 +39161,7 @@ struct IVROverlay_IVROverlay_022_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_022_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_021_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -39625,31 +39169,31 @@ struct wow64_IVROverlay_IVROverlay_022_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_022_ShowDashboard_params +struct IVROverlay_IVROverlay_021_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_022_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_021_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_022_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_021_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_022_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_021_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_022_ShowKeyboard_params +struct IVROverlay_IVROverlay_021_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -39662,7 +39206,7 @@ struct IVROverlay_IVROverlay_022_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_022_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_021_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -39675,7 +39219,7 @@ struct wow64_IVROverlay_IVROverlay_022_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_022_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_021_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -39689,7 +39233,7 @@ struct IVROverlay_IVROverlay_022_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_022_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_021_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -39703,7 +39247,7 @@ struct wow64_IVROverlay_IVROverlay_022_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_022_GetKeyboardText_params +struct IVROverlay_IVROverlay_021_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -39711,7 +39255,7 @@ struct IVROverlay_IVROverlay_022_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_022_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_021_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -39719,45 +39263,81 @@ struct wow64_IVROverlay_IVROverlay_022_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_022_HideKeyboard_params +struct IVROverlay_IVROverlay_021_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_022_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_021_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_022_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_021_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_022_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_021_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_022_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_021_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_022_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_021_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_022_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_021_SetOverlayIntersectionMask_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives; + uint32_t unNumMaskPrimitives; + uint32_t unPrimitiveSize; +}; + +struct wow64_IVROverlay_IVROverlay_021_SetOverlayIntersectionMask_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, pMaskPrimitives, VROverlayIntersectionMaskPrimitive_t *); + uint32_t unNumMaskPrimitives; + uint32_t unPrimitiveSize; +}; + +struct IVROverlay_IVROverlay_021_GetOverlayFlags_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *pFlags; +}; + +struct wow64_IVROverlay_IVROverlay_021_GetOverlayFlags_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); +}; + +struct IVROverlay_IVROverlay_021_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -39769,7 +39349,7 @@ struct IVROverlay_IVROverlay_022_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_022_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_021_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -39781,17 +39361,17 @@ struct wow64_IVROverlay_IVROverlay_022_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_022_CloseMessageOverlay_params +struct IVROverlay_IVROverlay_021_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_022_CloseMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_021_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_024_FindOverlay_params +struct IVROverlay_IVROverlay_022_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -39799,7 +39379,7 @@ struct IVROverlay_IVROverlay_024_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_024_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_022_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -39807,7 +39387,7 @@ struct wow64_IVROverlay_IVROverlay_024_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_024_CreateOverlay_params +struct IVROverlay_IVROverlay_022_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -39816,7 +39396,7 @@ struct IVROverlay_IVROverlay_024_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_024_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_022_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -39825,21 +39405,21 @@ struct wow64_IVROverlay_IVROverlay_024_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_024_DestroyOverlay_params +struct IVROverlay_IVROverlay_022_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_024_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_022_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_024_GetOverlayKey_params +struct IVROverlay_IVROverlay_022_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -39849,7 +39429,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -39859,7 +39439,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_024_GetOverlayName_params +struct IVROverlay_IVROverlay_022_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -39869,7 +39449,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -39879,7 +39459,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_024_SetOverlayName_params +struct IVROverlay_IVROverlay_022_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -39887,7 +39467,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayName_params const char *pchName; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayName_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -39895,7 +39475,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayName_params W32_PTR(const char *pchName, pchName, const char *); }; -struct IVROverlay_IVROverlay_024_GetOverlayImageData_params +struct IVROverlay_IVROverlay_022_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -39906,7 +39486,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -39917,21 +39497,21 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_024_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_022_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_024_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_022_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -39939,7 +39519,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -39947,21 +39527,21 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_024_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_022_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_024_SetOverlayFlag_params +struct IVROverlay_IVROverlay_022_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -39970,7 +39550,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -39979,7 +39559,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_024_GetOverlayFlag_params +struct IVROverlay_IVROverlay_022_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -39988,7 +39568,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -39997,7 +39577,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_024_GetOverlayFlags_params +struct IVROverlay_IVROverlay_022_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -40005,7 +39585,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayFlags_params uint32_t *pFlags; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayFlags_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -40013,7 +39593,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayFlags_params W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVROverlay_IVROverlay_024_SetOverlayColor_params +struct IVROverlay_IVROverlay_022_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -40023,7 +39603,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -40033,7 +39613,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_024_GetOverlayColor_params +struct IVROverlay_IVROverlay_022_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -40043,7 +39623,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -40053,7 +39633,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_024_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_022_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -40061,7 +39641,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -40069,7 +39649,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_024_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_022_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -40077,7 +39657,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -40085,7 +39665,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_024_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_022_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -40093,7 +39673,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -40101,7 +39681,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_024_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_022_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -40109,7 +39689,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -40117,7 +39697,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_024_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_022_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -40125,7 +39705,7 @@ struct IVROverlay_IVROverlay_024_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -40133,7 +39713,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_024_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_022_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -40141,7 +39721,7 @@ struct IVROverlay_IVROverlay_024_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -40149,7 +39729,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_024_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_022_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -40157,7 +39737,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -40165,7 +39745,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_024_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_022_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -40173,7 +39753,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -40181,7 +39761,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_024_SetOverlayCurvature_params +struct IVROverlay_IVROverlay_022_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -40189,7 +39769,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayCurvature_params float fCurvature; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -40197,7 +39777,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayCurvature_params float fCurvature; }; -struct IVROverlay_IVROverlay_024_GetOverlayCurvature_params +struct IVROverlay_IVROverlay_022_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -40205,7 +39785,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayCurvature_params float *pfCurvature; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -40213,7 +39793,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayCurvature_params W32_PTR(float *pfCurvature, pfCurvature, float *); }; -struct IVROverlay_IVROverlay_024_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_022_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -40221,7 +39801,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -40229,7 +39809,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_024_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_022_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -40237,7 +39817,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -40245,7 +39825,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_024_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_022_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -40253,7 +39833,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -40261,7 +39841,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_024_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_022_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -40269,7 +39849,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -40277,7 +39857,47 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_024_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_022_GetOverlayRenderModel_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + char *pchValue; + uint32_t unBufferSize; + HmdColor_t *pColor; + uint32_t *pError; +}; + +struct wow64_IVROverlay_IVROverlay_022_GetOverlayRenderModel_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(char *pchValue, pchValue, char *); + uint32_t unBufferSize; + W32_PTR(HmdColor_t *pColor, pColor, HmdColor_t *); + W32_PTR(uint32_t *pError, pError, uint32_t *); +}; + +struct IVROverlay_IVROverlay_022_SetOverlayRenderModel_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + const char *pchRenderModel; + const HmdColor_t *pColor; +}; + +struct wow64_IVROverlay_IVROverlay_022_SetOverlayRenderModel_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(const char *pchRenderModel, pchRenderModel, const char *); + W32_PTR(const HmdColor_t *pColor, pColor, const HmdColor_t *); +}; + +struct IVROverlay_IVROverlay_022_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -40285,7 +39905,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -40293,7 +39913,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_024_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_022_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -40302,7 +39922,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -40311,7 +39931,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_024_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_022_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -40320,7 +39940,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -40329,7 +39949,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -40338,7 +39958,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -40347,7 +39967,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -40356,7 +39976,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -40365,7 +39985,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -40374,7 +39994,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -40383,7 +40003,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -40393,7 +40013,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -40403,7 +40023,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_024_GetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_022_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -40412,7 +40032,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayTransformOverlayRelative_params HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -40421,7 +40041,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformOverlayRelative_params W32_PTR(HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_024_SetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_022_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -40430,7 +40050,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayTransformOverlayRelative_params const HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -40439,7 +40059,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformOverlayRelative_params W32_PTR(const HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_024_SetOverlayTransformCursor_params +struct IVROverlay_IVROverlay_022_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -40447,7 +40067,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayTransformCursor_params const HmdVector2_t *pvHotspot; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformCursor_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -40455,7 +40075,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformCursor_params W32_PTR(const HmdVector2_t *pvHotspot, pvHotspot, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_024_GetOverlayTransformCursor_params +struct IVROverlay_IVROverlay_022_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -40463,7 +40083,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayTransformCursor_params HmdVector2_t *pvHotspot; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformCursor_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -40471,49 +40091,49 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformCursor_params W32_PTR(HmdVector2_t *pvHotspot, pvHotspot, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_024_ShowOverlay_params +struct IVROverlay_IVROverlay_022_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_024_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_022_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_024_HideOverlay_params +struct IVROverlay_IVROverlay_022_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_024_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_022_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_024_IsOverlayVisible_params +struct IVROverlay_IVROverlay_022_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_024_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_022_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_024_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_022_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -40523,7 +40143,7 @@ struct IVROverlay_IVROverlay_024_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_024_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_022_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -40533,25 +40153,25 @@ struct wow64_IVROverlay_IVROverlay_024_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_024_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_022_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_11030 *pEvent; + w_VREvent_t_1322 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_024_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_022_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_11030 *pEvent, pEvent, w32_VREvent_t_11030 *); + W32_PTR(w32_VREvent_t_1322 *pEvent, pEvent, w32_VREvent_t_1322 *); uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_024_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_022_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -40559,7 +40179,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -40567,7 +40187,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_024_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_022_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -40575,7 +40195,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -40583,7 +40203,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_024_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_022_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -40591,7 +40211,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -40599,7 +40219,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_024_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_022_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -40607,7 +40227,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -40615,7 +40235,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_024_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_022_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -40624,7 +40244,7 @@ struct IVROverlay_IVROverlay_024_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_024_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_022_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -40633,21 +40253,61 @@ struct wow64_IVROverlay_IVROverlay_024_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_024_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_022_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_024_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_022_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_024_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_022_SetOverlayDualAnalogTransform_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlay; + uint32_t eWhich; + const HmdVector2_t *pvCenter; + float fRadius; +}; + +struct wow64_IVROverlay_IVROverlay_022_SetOverlayDualAnalogTransform_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlay; + uint32_t eWhich; + W32_PTR(const HmdVector2_t *pvCenter, pvCenter, const HmdVector2_t *); + float fRadius; +}; + +struct IVROverlay_IVROverlay_022_GetOverlayDualAnalogTransform_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlay; + uint32_t eWhich; + HmdVector2_t *pvCenter; + float *pfRadius; +}; + +struct wow64_IVROverlay_IVROverlay_022_GetOverlayDualAnalogTransform_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlay; + uint32_t eWhich; + W32_PTR(HmdVector2_t *pvCenter, pvCenter, HmdVector2_t *); + W32_PTR(float *pfRadius, pfRadius, float *); +}; + +struct IVROverlay_IVROverlay_022_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -40657,7 +40317,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -40667,7 +40327,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_024_TriggerLaserMouseHapticVibration_params +struct IVROverlay_IVROverlay_022_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; @@ -40677,7 +40337,7 @@ struct IVROverlay_IVROverlay_024_TriggerLaserMouseHapticVibration_params float fAmplitude; }; -struct wow64_IVROverlay_IVROverlay_024_TriggerLaserMouseHapticVibration_params +struct wow64_IVROverlay_IVROverlay_022_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; @@ -40687,7 +40347,7 @@ struct wow64_IVROverlay_IVROverlay_024_TriggerLaserMouseHapticVibration_params float fAmplitude; }; -struct IVROverlay_IVROverlay_024_SetOverlayCursor_params +struct IVROverlay_IVROverlay_022_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -40695,7 +40355,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayCursor_params uint64_t ulCursorHandle; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayCursor_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -40703,7 +40363,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayCursor_params uint64_t ulCursorHandle; }; -struct IVROverlay_IVROverlay_024_SetOverlayCursorPositionOverride_params +struct IVROverlay_IVROverlay_022_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; @@ -40711,7 +40371,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayCursorPositionOverride_params const HmdVector2_t *pvCursor; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayCursorPositionOverride_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; @@ -40719,21 +40379,21 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayCursorPositionOverride_params W32_PTR(const HmdVector2_t *pvCursor, pvCursor, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_024_ClearOverlayCursorPositionOverride_params +struct IVROverlay_IVROverlay_022_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_024_ClearOverlayCursorPositionOverride_params +struct wow64_IVROverlay_IVROverlay_022_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_024_SetOverlayTexture_params +struct IVROverlay_IVROverlay_022_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -40741,7 +40401,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -40749,21 +40409,21 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_024_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_022_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_024_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_022_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_024_SetOverlayRaw_params +struct IVROverlay_IVROverlay_022_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -40774,7 +40434,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayRaw_params uint32_t unBytesPerPixel; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -40785,7 +40445,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayRaw_params uint32_t unBytesPerPixel; }; -struct IVROverlay_IVROverlay_024_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_022_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -40793,7 +40453,7 @@ struct IVROverlay_IVROverlay_024_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_024_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_022_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -40801,7 +40461,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_024_GetOverlayTexture_params +struct IVROverlay_IVROverlay_022_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -40816,7 +40476,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -40831,7 +40491,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_024_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_022_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -40839,7 +40499,7 @@ struct IVROverlay_IVROverlay_024_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_024_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_022_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -40847,7 +40507,7 @@ struct wow64_IVROverlay_IVROverlay_024_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_024_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_022_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -40856,7 +40516,7 @@ struct IVROverlay_IVROverlay_024_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_024_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_022_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -40865,7 +40525,7 @@ struct wow64_IVROverlay_IVROverlay_024_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_024_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_022_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -40875,7 +40535,7 @@ struct IVROverlay_IVROverlay_024_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_024_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_022_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -40885,33 +40545,33 @@ struct wow64_IVROverlay_IVROverlay_024_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_024_IsDashboardVisible_params +struct IVROverlay_IVROverlay_022_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_024_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_022_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_024_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_022_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_024_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_022_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_024_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_022_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -40919,7 +40579,7 @@ struct IVROverlay_IVROverlay_024_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_024_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_022_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -40927,7 +40587,7 @@ struct wow64_IVROverlay_IVROverlay_024_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_024_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_022_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -40935,7 +40595,7 @@ struct IVROverlay_IVROverlay_024_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_024_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_022_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -40943,85 +40603,85 @@ struct wow64_IVROverlay_IVROverlay_024_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_024_ShowDashboard_params +struct IVROverlay_IVROverlay_022_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_024_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_022_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_024_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_022_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_024_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_022_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_024_ShowKeyboard_params +struct IVROverlay_IVROverlay_022_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; uint32_t eInputMode; uint32_t eLineInputMode; - uint32_t unFlags; const char *pchDescription; uint32_t unCharMax; const char *pchExistingText; + int8_t bUseMinimalMode; uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_024_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_022_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; uint32_t eInputMode; uint32_t eLineInputMode; - uint32_t unFlags; W32_PTR(const char *pchDescription, pchDescription, const char *); uint32_t unCharMax; W32_PTR(const char *pchExistingText, pchExistingText, const char *); + int8_t bUseMinimalMode; uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_024_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_022_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; uint32_t eInputMode; uint32_t eLineInputMode; - uint32_t unFlags; const char *pchDescription; uint32_t unCharMax; const char *pchExistingText; + int8_t bUseMinimalMode; uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_024_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_022_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; uint32_t eInputMode; uint32_t eLineInputMode; - uint32_t unFlags; W32_PTR(const char *pchDescription, pchDescription, const char *); uint32_t unCharMax; W32_PTR(const char *pchExistingText, pchExistingText, const char *); + int8_t bUseMinimalMode; uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_024_GetKeyboardText_params +struct IVROverlay_IVROverlay_022_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -41029,7 +40689,7 @@ struct IVROverlay_IVROverlay_024_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_024_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_022_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -41037,45 +40697,45 @@ struct wow64_IVROverlay_IVROverlay_024_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_024_HideKeyboard_params +struct IVROverlay_IVROverlay_022_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_024_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_022_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_024_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_022_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_024_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_022_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_024_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_022_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_024_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_022_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_024_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_022_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -41087,7 +40747,7 @@ struct IVROverlay_IVROverlay_024_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_024_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_022_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -41099,17 +40759,17 @@ struct wow64_IVROverlay_IVROverlay_024_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_024_CloseMessageOverlay_params +struct IVROverlay_IVROverlay_022_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_024_CloseMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_022_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_025_FindOverlay_params +struct IVROverlay_IVROverlay_024_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -41117,7 +40777,7 @@ struct IVROverlay_IVROverlay_025_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_025_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_024_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -41125,7 +40785,7 @@ struct wow64_IVROverlay_IVROverlay_025_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_025_CreateOverlay_params +struct IVROverlay_IVROverlay_024_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -41134,7 +40794,7 @@ struct IVROverlay_IVROverlay_025_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_025_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_024_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -41143,21 +40803,21 @@ struct wow64_IVROverlay_IVROverlay_025_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_025_DestroyOverlay_params +struct IVROverlay_IVROverlay_024_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_025_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_024_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_025_GetOverlayKey_params +struct IVROverlay_IVROverlay_024_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -41167,7 +40827,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -41177,7 +40837,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_025_GetOverlayName_params +struct IVROverlay_IVROverlay_024_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -41187,7 +40847,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -41197,7 +40857,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayName_params +struct IVROverlay_IVROverlay_024_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -41205,7 +40865,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayName_params const char *pchName; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayName_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -41213,7 +40873,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayName_params W32_PTR(const char *pchName, pchName, const char *); }; -struct IVROverlay_IVROverlay_025_GetOverlayImageData_params +struct IVROverlay_IVROverlay_024_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -41224,7 +40884,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -41235,21 +40895,21 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_025_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_024_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_025_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_024_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -41257,7 +40917,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -41265,21 +40925,21 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_025_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_024_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_025_SetOverlayFlag_params +struct IVROverlay_IVROverlay_024_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -41288,7 +40948,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -41297,7 +40957,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_025_GetOverlayFlag_params +struct IVROverlay_IVROverlay_024_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -41306,7 +40966,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -41315,7 +40975,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_025_GetOverlayFlags_params +struct IVROverlay_IVROverlay_024_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -41323,7 +40983,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayFlags_params uint32_t *pFlags; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayFlags_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -41331,7 +40991,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayFlags_params W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayColor_params +struct IVROverlay_IVROverlay_024_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -41341,7 +41001,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -41351,7 +41011,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_025_GetOverlayColor_params +struct IVROverlay_IVROverlay_024_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -41361,7 +41021,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -41371,7 +41031,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_025_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_024_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -41379,7 +41039,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -41387,7 +41047,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_025_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_024_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -41395,7 +41055,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -41403,7 +41063,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_025_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_024_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -41411,7 +41071,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -41419,7 +41079,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_025_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_024_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -41427,7 +41087,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -41435,7 +41095,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_025_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_024_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -41443,7 +41103,7 @@ struct IVROverlay_IVROverlay_025_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -41451,7 +41111,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_025_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_024_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -41459,7 +41119,7 @@ struct IVROverlay_IVROverlay_025_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -41467,7 +41127,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_024_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -41475,7 +41135,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -41483,7 +41143,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_025_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_024_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -41491,7 +41151,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -41499,7 +41159,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_025_SetOverlayCurvature_params +struct IVROverlay_IVROverlay_024_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -41507,7 +41167,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayCurvature_params float fCurvature; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -41515,7 +41175,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayCurvature_params float fCurvature; }; -struct IVROverlay_IVROverlay_025_GetOverlayCurvature_params +struct IVROverlay_IVROverlay_024_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -41523,7 +41183,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayCurvature_params float *pfCurvature; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -41531,7 +41191,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayCurvature_params W32_PTR(float *pfCurvature, pfCurvature, float *); }; -struct IVROverlay_IVROverlay_025_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_024_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -41539,7 +41199,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -41547,7 +41207,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_025_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_024_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -41555,7 +41215,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -41563,7 +41223,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_024_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -41571,7 +41231,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -41579,7 +41239,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_025_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_024_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -41587,7 +41247,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -41595,7 +41255,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_025_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_024_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -41603,7 +41263,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -41611,7 +41271,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_024_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -41620,7 +41280,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -41629,7 +41289,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_025_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_024_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -41638,7 +41298,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -41647,7 +41307,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -41656,7 +41316,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -41665,7 +41325,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -41674,7 +41334,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -41683,7 +41343,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -41692,7 +41352,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -41701,7 +41361,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -41711,7 +41371,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -41721,7 +41381,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_025_GetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_024_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -41730,7 +41390,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayTransformOverlayRelative_params HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -41739,7 +41399,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformOverlayRelative_params W32_PTR(HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_024_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -41748,7 +41408,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayTransformOverlayRelative_params const HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -41757,7 +41417,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformOverlayRelative_params W32_PTR(const HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayTransformCursor_params +struct IVROverlay_IVROverlay_024_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -41765,7 +41425,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayTransformCursor_params const HmdVector2_t *pvHotspot; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformCursor_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -41773,7 +41433,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformCursor_params W32_PTR(const HmdVector2_t *pvHotspot, pvHotspot, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_025_GetOverlayTransformCursor_params +struct IVROverlay_IVROverlay_024_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -41781,7 +41441,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayTransformCursor_params HmdVector2_t *pvHotspot; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformCursor_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -41789,71 +41449,49 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformCursor_params W32_PTR(HmdVector2_t *pvHotspot, pvHotspot, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayTransformProjection_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eTrackingOrigin; - const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; - const VROverlayProjection_t *pProjection; - uint32_t eEye; -}; - -struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformProjection_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - uint32_t eTrackingOrigin; - W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); - W32_PTR(const VROverlayProjection_t *pProjection, pProjection, const VROverlayProjection_t *); - uint32_t eEye; -}; - -struct IVROverlay_IVROverlay_025_ShowOverlay_params +struct IVROverlay_IVROverlay_024_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_025_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_024_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_025_HideOverlay_params +struct IVROverlay_IVROverlay_024_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_025_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_024_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_025_IsOverlayVisible_params +struct IVROverlay_IVROverlay_024_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_025_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_024_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_025_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_024_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -41863,7 +41501,7 @@ struct IVROverlay_IVROverlay_025_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_025_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_024_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -41873,25 +41511,25 @@ struct wow64_IVROverlay_IVROverlay_025_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_025_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_024_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_1168 *pEvent; + w_VREvent_t_11030 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_025_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_024_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_1168 *pEvent, pEvent, w32_VREvent_t_1168 *); + W32_PTR(w32_VREvent_t_11030 *pEvent, pEvent, w32_VREvent_t_11030 *); uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_025_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_024_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -41899,7 +41537,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -41907,7 +41545,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_024_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -41915,7 +41553,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -41923,7 +41561,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_025_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_024_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -41931,7 +41569,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -41939,7 +41577,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_025_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_024_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -41947,7 +41585,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -41955,7 +41593,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_025_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_024_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -41964,7 +41602,7 @@ struct IVROverlay_IVROverlay_025_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_025_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_024_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -41973,21 +41611,21 @@ struct wow64_IVROverlay_IVROverlay_025_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_025_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_024_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_025_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_024_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_025_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_024_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -41997,7 +41635,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -42007,7 +41645,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_025_TriggerLaserMouseHapticVibration_params +struct IVROverlay_IVROverlay_024_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; @@ -42017,7 +41655,7 @@ struct IVROverlay_IVROverlay_025_TriggerLaserMouseHapticVibration_params float fAmplitude; }; -struct wow64_IVROverlay_IVROverlay_025_TriggerLaserMouseHapticVibration_params +struct wow64_IVROverlay_IVROverlay_024_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; @@ -42027,7 +41665,7 @@ struct wow64_IVROverlay_IVROverlay_025_TriggerLaserMouseHapticVibration_params float fAmplitude; }; -struct IVROverlay_IVROverlay_025_SetOverlayCursor_params +struct IVROverlay_IVROverlay_024_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -42035,7 +41673,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayCursor_params uint64_t ulCursorHandle; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayCursor_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -42043,7 +41681,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayCursor_params uint64_t ulCursorHandle; }; -struct IVROverlay_IVROverlay_025_SetOverlayCursorPositionOverride_params +struct IVROverlay_IVROverlay_024_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; @@ -42051,7 +41689,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayCursorPositionOverride_params const HmdVector2_t *pvCursor; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayCursorPositionOverride_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; @@ -42059,21 +41697,21 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayCursorPositionOverride_params W32_PTR(const HmdVector2_t *pvCursor, pvCursor, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_025_ClearOverlayCursorPositionOverride_params +struct IVROverlay_IVROverlay_024_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_025_ClearOverlayCursorPositionOverride_params +struct wow64_IVROverlay_IVROverlay_024_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_025_SetOverlayTexture_params +struct IVROverlay_IVROverlay_024_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -42081,7 +41719,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -42089,21 +41727,21 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_025_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_024_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_025_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_024_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_025_SetOverlayRaw_params +struct IVROverlay_IVROverlay_024_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -42114,7 +41752,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayRaw_params uint32_t unBytesPerPixel; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -42125,7 +41763,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayRaw_params uint32_t unBytesPerPixel; }; -struct IVROverlay_IVROverlay_025_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_024_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -42133,7 +41771,7 @@ struct IVROverlay_IVROverlay_025_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_025_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_024_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -42141,7 +41779,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_025_GetOverlayTexture_params +struct IVROverlay_IVROverlay_024_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -42156,7 +41794,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -42171,7 +41809,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_025_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_024_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -42179,7 +41817,7 @@ struct IVROverlay_IVROverlay_025_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_025_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_024_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -42187,7 +41825,7 @@ struct wow64_IVROverlay_IVROverlay_025_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_025_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_024_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -42196,7 +41834,7 @@ struct IVROverlay_IVROverlay_025_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_025_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_024_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -42205,7 +41843,7 @@ struct wow64_IVROverlay_IVROverlay_025_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_025_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_024_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -42215,7 +41853,7 @@ struct IVROverlay_IVROverlay_025_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_025_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_024_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -42225,33 +41863,33 @@ struct wow64_IVROverlay_IVROverlay_025_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_025_IsDashboardVisible_params +struct IVROverlay_IVROverlay_024_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_025_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_024_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_025_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_024_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_025_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_024_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_025_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_024_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -42259,7 +41897,7 @@ struct IVROverlay_IVROverlay_025_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_025_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_024_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -42267,7 +41905,7 @@ struct wow64_IVROverlay_IVROverlay_025_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_025_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_024_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -42275,7 +41913,7 @@ struct IVROverlay_IVROverlay_025_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_025_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_024_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -42283,31 +41921,31 @@ struct wow64_IVROverlay_IVROverlay_025_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_025_ShowDashboard_params +struct IVROverlay_IVROverlay_024_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_025_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_024_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_025_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_024_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_025_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_024_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_025_ShowKeyboard_params +struct IVROverlay_IVROverlay_024_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -42320,7 +41958,7 @@ struct IVROverlay_IVROverlay_025_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_025_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_024_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -42333,7 +41971,7 @@ struct wow64_IVROverlay_IVROverlay_025_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_025_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_024_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -42347,7 +41985,7 @@ struct IVROverlay_IVROverlay_025_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_025_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_024_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -42361,7 +41999,7 @@ struct wow64_IVROverlay_IVROverlay_025_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_025_GetKeyboardText_params +struct IVROverlay_IVROverlay_024_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -42369,7 +42007,7 @@ struct IVROverlay_IVROverlay_025_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_025_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_024_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -42377,45 +42015,45 @@ struct wow64_IVROverlay_IVROverlay_025_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_025_HideKeyboard_params +struct IVROverlay_IVROverlay_024_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_025_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_024_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_025_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_024_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_025_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_024_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_025_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_024_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_025_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_024_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_025_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_024_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -42427,7 +42065,7 @@ struct IVROverlay_IVROverlay_025_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_025_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_024_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -42439,17 +42077,17 @@ struct wow64_IVROverlay_IVROverlay_025_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_025_CloseMessageOverlay_params +struct IVROverlay_IVROverlay_024_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_025_CloseMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_024_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_026_FindOverlay_params +struct IVROverlay_IVROverlay_025_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -42457,7 +42095,7 @@ struct IVROverlay_IVROverlay_026_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_026_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_025_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -42465,7 +42103,7 @@ struct wow64_IVROverlay_IVROverlay_026_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_026_CreateOverlay_params +struct IVROverlay_IVROverlay_025_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -42474,7 +42112,7 @@ struct IVROverlay_IVROverlay_026_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_026_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_025_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -42483,21 +42121,21 @@ struct wow64_IVROverlay_IVROverlay_026_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_026_DestroyOverlay_params +struct IVROverlay_IVROverlay_025_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_026_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_025_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_026_GetOverlayKey_params +struct IVROverlay_IVROverlay_025_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -42507,7 +42145,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -42517,7 +42155,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_026_GetOverlayName_params +struct IVROverlay_IVROverlay_025_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -42527,7 +42165,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -42537,7 +42175,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayName_params +struct IVROverlay_IVROverlay_025_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -42545,7 +42183,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayName_params const char *pchName; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayName_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -42553,7 +42191,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayName_params W32_PTR(const char *pchName, pchName, const char *); }; -struct IVROverlay_IVROverlay_026_GetOverlayImageData_params +struct IVROverlay_IVROverlay_025_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -42564,7 +42202,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -42575,21 +42213,21 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_026_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_025_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_026_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_025_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -42597,7 +42235,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -42605,21 +42243,21 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_026_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_025_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_026_SetOverlayFlag_params +struct IVROverlay_IVROverlay_025_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -42628,7 +42266,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -42637,7 +42275,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_026_GetOverlayFlag_params +struct IVROverlay_IVROverlay_025_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -42646,7 +42284,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -42655,7 +42293,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_026_GetOverlayFlags_params +struct IVROverlay_IVROverlay_025_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -42663,7 +42301,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayFlags_params uint32_t *pFlags; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayFlags_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -42671,7 +42309,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayFlags_params W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayColor_params +struct IVROverlay_IVROverlay_025_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -42681,7 +42319,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -42691,7 +42329,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_026_GetOverlayColor_params +struct IVROverlay_IVROverlay_025_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -42701,7 +42339,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -42711,7 +42349,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_026_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_025_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -42719,7 +42357,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -42727,7 +42365,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_026_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_025_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -42735,7 +42373,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -42743,7 +42381,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_026_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_025_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -42751,7 +42389,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -42759,7 +42397,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_026_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_025_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -42767,7 +42405,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -42775,7 +42413,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_026_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_025_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -42783,7 +42421,7 @@ struct IVROverlay_IVROverlay_026_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -42791,7 +42429,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_026_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_025_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -42799,7 +42437,7 @@ struct IVROverlay_IVROverlay_026_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -42807,7 +42445,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_025_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -42815,7 +42453,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -42823,7 +42461,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_026_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_025_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -42831,7 +42469,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -42839,7 +42477,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_026_SetOverlayCurvature_params +struct IVROverlay_IVROverlay_025_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -42847,7 +42485,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayCurvature_params float fCurvature; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -42855,7 +42493,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayCurvature_params float fCurvature; }; -struct IVROverlay_IVROverlay_026_GetOverlayCurvature_params +struct IVROverlay_IVROverlay_025_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -42863,7 +42501,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayCurvature_params float *pfCurvature; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -42871,39 +42509,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayCurvature_params W32_PTR(float *pfCurvature, pfCurvature, float *); }; -struct IVROverlay_IVROverlay_026_SetOverlayPreCurvePitch_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - float fRadians; -}; - -struct wow64_IVROverlay_IVROverlay_026_SetOverlayPreCurvePitch_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - float fRadians; -}; - -struct IVROverlay_IVROverlay_026_GetOverlayPreCurvePitch_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - float *pfRadians; -}; - -struct wow64_IVROverlay_IVROverlay_026_GetOverlayPreCurvePitch_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - W32_PTR(float *pfRadians, pfRadians, float *); -}; - -struct IVROverlay_IVROverlay_026_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_025_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -42911,7 +42517,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -42919,7 +42525,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_026_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_025_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -42927,7 +42533,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -42935,7 +42541,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_025_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -42943,7 +42549,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -42951,7 +42557,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_026_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_025_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -42959,7 +42565,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -42967,7 +42573,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_026_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_025_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -42975,7 +42581,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -42983,7 +42589,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_025_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -42992,7 +42598,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -43001,7 +42607,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_026_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_025_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -43010,7 +42616,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -43019,7 +42625,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -43028,7 +42634,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -43037,7 +42643,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -43046,7 +42652,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -43055,7 +42661,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -43064,7 +42670,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -43073,7 +42679,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -43083,7 +42689,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -43093,7 +42699,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_026_GetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_025_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -43102,7 +42708,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayTransformOverlayRelative_params HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -43111,7 +42717,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformOverlayRelative_params W32_PTR(HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayTransformOverlayRelative_params +struct IVROverlay_IVROverlay_025_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -43120,7 +42726,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayTransformOverlayRelative_params const HmdMatrix34_t *pmatParentOverlayToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformOverlayRelative_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformOverlayRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -43129,7 +42735,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformOverlayRelative_params W32_PTR(const HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayTransformCursor_params +struct IVROverlay_IVROverlay_025_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -43137,7 +42743,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayTransformCursor_params const HmdVector2_t *pvHotspot; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformCursor_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -43145,7 +42751,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformCursor_params W32_PTR(const HmdVector2_t *pvHotspot, pvHotspot, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_026_GetOverlayTransformCursor_params +struct IVROverlay_IVROverlay_025_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -43153,7 +42759,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayTransformCursor_params HmdVector2_t *pvHotspot; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformCursor_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -43161,7 +42767,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformCursor_params W32_PTR(HmdVector2_t *pvHotspot, pvHotspot, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayTransformProjection_params +struct IVROverlay_IVROverlay_025_SetOverlayTransformProjection_params { struct u_iface u_iface; uint32_t _ret; @@ -43172,7 +42778,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayTransformProjection_params uint32_t eEye; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformProjection_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayTransformProjection_params { struct u_iface u_iface; uint32_t _ret; @@ -43183,49 +42789,49 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformProjection_params uint32_t eEye; }; -struct IVROverlay_IVROverlay_026_ShowOverlay_params +struct IVROverlay_IVROverlay_025_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_026_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_025_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_026_HideOverlay_params +struct IVROverlay_IVROverlay_025_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_026_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_025_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_026_IsOverlayVisible_params +struct IVROverlay_IVROverlay_025_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_026_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_025_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_026_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_025_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -43235,7 +42841,7 @@ struct IVROverlay_IVROverlay_026_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_026_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_025_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -43245,21 +42851,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_026_WaitFrameSync_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint32_t nTimeoutMs; -}; - -struct wow64_IVROverlay_IVROverlay_026_WaitFrameSync_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint32_t nTimeoutMs; -}; - -struct IVROverlay_IVROverlay_026_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_025_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -43268,7 +42860,7 @@ struct IVROverlay_IVROverlay_026_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_026_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_025_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -43277,7 +42869,7 @@ struct wow64_IVROverlay_IVROverlay_026_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_026_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_025_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -43285,7 +42877,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -43293,7 +42885,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_025_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -43301,7 +42893,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -43309,7 +42901,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_026_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_025_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -43317,7 +42909,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -43325,7 +42917,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_026_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_025_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -43333,7 +42925,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -43341,7 +42933,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_026_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_025_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -43350,7 +42942,7 @@ struct IVROverlay_IVROverlay_026_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_026_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_025_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -43359,21 +42951,21 @@ struct wow64_IVROverlay_IVROverlay_026_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_026_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_025_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_026_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_025_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_026_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_025_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -43383,7 +42975,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -43393,7 +42985,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_026_TriggerLaserMouseHapticVibration_params +struct IVROverlay_IVROverlay_025_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; @@ -43403,7 +42995,7 @@ struct IVROverlay_IVROverlay_026_TriggerLaserMouseHapticVibration_params float fAmplitude; }; -struct wow64_IVROverlay_IVROverlay_026_TriggerLaserMouseHapticVibration_params +struct wow64_IVROverlay_IVROverlay_025_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; @@ -43413,7 +43005,7 @@ struct wow64_IVROverlay_IVROverlay_026_TriggerLaserMouseHapticVibration_params float fAmplitude; }; -struct IVROverlay_IVROverlay_026_SetOverlayCursor_params +struct IVROverlay_IVROverlay_025_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -43421,7 +43013,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayCursor_params uint64_t ulCursorHandle; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayCursor_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -43429,7 +43021,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayCursor_params uint64_t ulCursorHandle; }; -struct IVROverlay_IVROverlay_026_SetOverlayCursorPositionOverride_params +struct IVROverlay_IVROverlay_025_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; @@ -43437,7 +43029,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayCursorPositionOverride_params const HmdVector2_t *pvCursor; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayCursorPositionOverride_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; @@ -43445,21 +43037,21 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayCursorPositionOverride_params W32_PTR(const HmdVector2_t *pvCursor, pvCursor, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_026_ClearOverlayCursorPositionOverride_params +struct IVROverlay_IVROverlay_025_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_026_ClearOverlayCursorPositionOverride_params +struct wow64_IVROverlay_IVROverlay_025_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_026_SetOverlayTexture_params +struct IVROverlay_IVROverlay_025_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -43467,7 +43059,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -43475,21 +43067,21 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_026_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_025_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_026_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_025_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_026_SetOverlayRaw_params +struct IVROverlay_IVROverlay_025_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -43500,7 +43092,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayRaw_params uint32_t unBytesPerPixel; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -43511,7 +43103,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayRaw_params uint32_t unBytesPerPixel; }; -struct IVROverlay_IVROverlay_026_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_025_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -43519,7 +43111,7 @@ struct IVROverlay_IVROverlay_026_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_026_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_025_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -43527,7 +43119,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_026_GetOverlayTexture_params +struct IVROverlay_IVROverlay_025_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -43542,7 +43134,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -43557,7 +43149,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_026_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_025_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -43565,7 +43157,7 @@ struct IVROverlay_IVROverlay_026_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_026_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_025_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -43573,7 +43165,7 @@ struct wow64_IVROverlay_IVROverlay_026_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_026_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_025_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -43582,7 +43174,7 @@ struct IVROverlay_IVROverlay_026_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_026_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_025_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -43591,7 +43183,7 @@ struct wow64_IVROverlay_IVROverlay_026_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_026_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_025_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -43601,7 +43193,7 @@ struct IVROverlay_IVROverlay_026_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_026_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_025_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -43611,33 +43203,33 @@ struct wow64_IVROverlay_IVROverlay_026_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_026_IsDashboardVisible_params +struct IVROverlay_IVROverlay_025_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_026_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_025_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_026_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_025_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_026_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_025_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_026_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_025_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -43645,7 +43237,7 @@ struct IVROverlay_IVROverlay_026_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_026_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_025_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -43653,7 +43245,7 @@ struct wow64_IVROverlay_IVROverlay_026_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_026_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_025_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -43661,7 +43253,7 @@ struct IVROverlay_IVROverlay_026_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_026_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_025_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -43669,31 +43261,31 @@ struct wow64_IVROverlay_IVROverlay_026_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_026_ShowDashboard_params +struct IVROverlay_IVROverlay_025_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_026_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_025_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_026_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_025_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_026_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_025_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_026_ShowKeyboard_params +struct IVROverlay_IVROverlay_025_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -43706,7 +43298,7 @@ struct IVROverlay_IVROverlay_026_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_026_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_025_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -43719,7 +43311,7 @@ struct wow64_IVROverlay_IVROverlay_026_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_026_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_025_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -43733,7 +43325,7 @@ struct IVROverlay_IVROverlay_026_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_026_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_025_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -43747,7 +43339,7 @@ struct wow64_IVROverlay_IVROverlay_026_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_026_GetKeyboardText_params +struct IVROverlay_IVROverlay_025_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -43755,7 +43347,7 @@ struct IVROverlay_IVROverlay_026_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_026_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_025_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -43763,45 +43355,45 @@ struct wow64_IVROverlay_IVROverlay_026_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_026_HideKeyboard_params +struct IVROverlay_IVROverlay_025_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_026_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_025_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_026_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_025_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_026_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_025_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_026_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_025_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_026_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_025_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_026_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_025_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -43813,7 +43405,7 @@ struct IVROverlay_IVROverlay_026_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_026_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_025_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -43825,17 +43417,17 @@ struct wow64_IVROverlay_IVROverlay_026_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_026_CloseMessageOverlay_params +struct IVROverlay_IVROverlay_025_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_026_CloseMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_025_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_027_FindOverlay_params +struct IVROverlay_IVROverlay_026_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -43843,7 +43435,7 @@ struct IVROverlay_IVROverlay_027_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_027_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_026_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -43851,7 +43443,7 @@ struct wow64_IVROverlay_IVROverlay_027_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_027_CreateOverlay_params +struct IVROverlay_IVROverlay_026_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -43860,7 +43452,7 @@ struct IVROverlay_IVROverlay_027_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_027_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_026_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -43869,21 +43461,21 @@ struct wow64_IVROverlay_IVROverlay_027_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_027_DestroyOverlay_params +struct IVROverlay_IVROverlay_026_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_027_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_026_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_027_GetOverlayKey_params +struct IVROverlay_IVROverlay_026_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -43893,7 +43485,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -43903,7 +43495,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_027_GetOverlayName_params +struct IVROverlay_IVROverlay_026_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -43913,7 +43505,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -43923,7 +43515,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_027_SetOverlayName_params +struct IVROverlay_IVROverlay_026_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -43931,7 +43523,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayName_params const char *pchName; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayName_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -43939,7 +43531,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayName_params W32_PTR(const char *pchName, pchName, const char *); }; -struct IVROverlay_IVROverlay_027_GetOverlayImageData_params +struct IVROverlay_IVROverlay_026_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -43950,7 +43542,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -43961,21 +43553,21 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_027_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_026_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_027_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_026_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -43983,7 +43575,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -43991,21 +43583,21 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_027_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_026_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_027_SetOverlayFlag_params +struct IVROverlay_IVROverlay_026_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -44014,7 +43606,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -44023,7 +43615,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_027_GetOverlayFlag_params +struct IVROverlay_IVROverlay_026_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -44032,7 +43624,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -44041,7 +43633,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_027_GetOverlayFlags_params +struct IVROverlay_IVROverlay_026_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -44049,7 +43641,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayFlags_params uint32_t *pFlags; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayFlags_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -44057,7 +43649,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayFlags_params W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVROverlay_IVROverlay_027_SetOverlayColor_params +struct IVROverlay_IVROverlay_026_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -44067,7 +43659,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -44077,7 +43669,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_027_GetOverlayColor_params +struct IVROverlay_IVROverlay_026_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -44087,7 +43679,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -44097,7 +43689,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_027_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_026_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -44105,7 +43697,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -44113,7 +43705,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_027_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_026_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -44121,7 +43713,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -44129,7 +43721,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_027_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_026_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -44137,7 +43729,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -44145,7 +43737,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_027_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_026_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -44153,7 +43745,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -44161,7 +43753,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_027_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_026_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -44169,7 +43761,7 @@ struct IVROverlay_IVROverlay_027_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -44177,7 +43769,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_027_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_026_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -44185,7 +43777,7 @@ struct IVROverlay_IVROverlay_027_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -44193,7 +43785,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_027_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_026_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -44201,7 +43793,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -44209,7 +43801,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_027_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_026_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -44217,7 +43809,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -44225,7 +43817,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_027_SetOverlayCurvature_params +struct IVROverlay_IVROverlay_026_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -44233,7 +43825,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayCurvature_params float fCurvature; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -44241,7 +43833,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayCurvature_params float fCurvature; }; -struct IVROverlay_IVROverlay_027_GetOverlayCurvature_params +struct IVROverlay_IVROverlay_026_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -44249,7 +43841,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayCurvature_params float *pfCurvature; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -44257,7 +43849,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayCurvature_params W32_PTR(float *pfCurvature, pfCurvature, float *); }; -struct IVROverlay_IVROverlay_027_SetOverlayPreCurvePitch_params +struct IVROverlay_IVROverlay_026_SetOverlayPreCurvePitch_params { struct u_iface u_iface; uint32_t _ret; @@ -44265,7 +43857,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayPreCurvePitch_params float fRadians; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayPreCurvePitch_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayPreCurvePitch_params { struct u_iface u_iface; uint32_t _ret; @@ -44273,7 +43865,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayPreCurvePitch_params float fRadians; }; -struct IVROverlay_IVROverlay_027_GetOverlayPreCurvePitch_params +struct IVROverlay_IVROverlay_026_GetOverlayPreCurvePitch_params { struct u_iface u_iface; uint32_t _ret; @@ -44281,7 +43873,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayPreCurvePitch_params float *pfRadians; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayPreCurvePitch_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayPreCurvePitch_params { struct u_iface u_iface; uint32_t _ret; @@ -44289,7 +43881,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayPreCurvePitch_params W32_PTR(float *pfRadians, pfRadians, float *); }; -struct IVROverlay_IVROverlay_027_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_026_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -44297,7 +43889,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -44305,7 +43897,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_027_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_026_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -44313,7 +43905,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -44321,7 +43913,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_027_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_026_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -44329,7 +43921,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -44337,7 +43929,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_027_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_026_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -44345,7 +43937,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -44353,7 +43945,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_027_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_026_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -44361,7 +43953,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -44369,7 +43961,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_027_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_026_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -44378,7 +43970,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -44387,7 +43979,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_027_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_026_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -44396,7 +43988,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -44405,7 +43997,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -44414,7 +44006,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -44423,7 +44015,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -44432,7 +44024,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -44441,7 +44033,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -44450,7 +44042,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -44459,7 +44051,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -44469,7 +44061,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -44479,7 +44071,43 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_027_SetOverlayTransformCursor_params +struct IVROverlay_IVROverlay_026_GetOverlayTransformOverlayRelative_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint64_t *ulOverlayHandleParent; + HmdMatrix34_t *pmatParentOverlayToOverlayTransform; +}; + +struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformOverlayRelative_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint64_t *ulOverlayHandleParent, ulOverlayHandleParent, uint64_t *); + W32_PTR(HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, HmdMatrix34_t *); +}; + +struct IVROverlay_IVROverlay_026_SetOverlayTransformOverlayRelative_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint64_t ulOverlayHandleParent; + const HmdMatrix34_t *pmatParentOverlayToOverlayTransform; +}; + +struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformOverlayRelative_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint64_t ulOverlayHandleParent; + W32_PTR(const HmdMatrix34_t *pmatParentOverlayToOverlayTransform, pmatParentOverlayToOverlayTransform, const HmdMatrix34_t *); +}; + +struct IVROverlay_IVROverlay_026_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -44487,7 +44115,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayTransformCursor_params const HmdVector2_t *pvHotspot; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformCursor_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -44495,7 +44123,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformCursor_params W32_PTR(const HmdVector2_t *pvHotspot, pvHotspot, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_027_GetOverlayTransformCursor_params +struct IVROverlay_IVROverlay_026_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -44503,7 +44131,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayTransformCursor_params HmdVector2_t *pvHotspot; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformCursor_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -44511,7 +44139,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformCursor_params W32_PTR(HmdVector2_t *pvHotspot, pvHotspot, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_027_SetOverlayTransformProjection_params +struct IVROverlay_IVROverlay_026_SetOverlayTransformProjection_params { struct u_iface u_iface; uint32_t _ret; @@ -44522,7 +44150,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayTransformProjection_params uint32_t eEye; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformProjection_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayTransformProjection_params { struct u_iface u_iface; uint32_t _ret; @@ -44533,49 +44161,49 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformProjection_params uint32_t eEye; }; -struct IVROverlay_IVROverlay_027_ShowOverlay_params +struct IVROverlay_IVROverlay_026_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_027_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_026_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_027_HideOverlay_params +struct IVROverlay_IVROverlay_026_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_027_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_026_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_027_IsOverlayVisible_params +struct IVROverlay_IVROverlay_026_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_027_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_026_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_027_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_026_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -44585,7 +44213,7 @@ struct IVROverlay_IVROverlay_027_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_027_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_026_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -44595,39 +44223,39 @@ struct wow64_IVROverlay_IVROverlay_027_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_027_WaitFrameSync_params +struct IVROverlay_IVROverlay_026_WaitFrameSync_params { struct u_iface u_iface; uint32_t _ret; uint32_t nTimeoutMs; }; -struct wow64_IVROverlay_IVROverlay_027_WaitFrameSync_params +struct wow64_IVROverlay_IVROverlay_026_WaitFrameSync_params { struct u_iface u_iface; uint32_t _ret; uint32_t nTimeoutMs; }; -struct IVROverlay_IVROverlay_027_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_026_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - w_VREvent_t_223 *pEvent; + w_VREvent_t_1168 *pEvent; uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_027_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_026_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; - W32_PTR(w32_VREvent_t_223 *pEvent, pEvent, w32_VREvent_t_223 *); + W32_PTR(w32_VREvent_t_1168 *pEvent, pEvent, w32_VREvent_t_1168 *); uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_027_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_026_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -44635,7 +44263,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -44643,7 +44271,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_027_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_026_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -44651,7 +44279,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -44659,7 +44287,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_027_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_026_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -44667,7 +44295,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -44675,7 +44303,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_027_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_026_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -44683,7 +44311,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -44691,7 +44319,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_027_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_026_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -44700,7 +44328,7 @@ struct IVROverlay_IVROverlay_027_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_027_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_026_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -44709,21 +44337,21 @@ struct wow64_IVROverlay_IVROverlay_027_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_027_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_026_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_027_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_026_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_027_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_026_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -44733,7 +44361,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -44743,7 +44371,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_027_TriggerLaserMouseHapticVibration_params +struct IVROverlay_IVROverlay_026_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; @@ -44753,7 +44381,7 @@ struct IVROverlay_IVROverlay_027_TriggerLaserMouseHapticVibration_params float fAmplitude; }; -struct wow64_IVROverlay_IVROverlay_027_TriggerLaserMouseHapticVibration_params +struct wow64_IVROverlay_IVROverlay_026_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; @@ -44763,7 +44391,7 @@ struct wow64_IVROverlay_IVROverlay_027_TriggerLaserMouseHapticVibration_params float fAmplitude; }; -struct IVROverlay_IVROverlay_027_SetOverlayCursor_params +struct IVROverlay_IVROverlay_026_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -44771,7 +44399,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayCursor_params uint64_t ulCursorHandle; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayCursor_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -44779,7 +44407,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayCursor_params uint64_t ulCursorHandle; }; -struct IVROverlay_IVROverlay_027_SetOverlayCursorPositionOverride_params +struct IVROverlay_IVROverlay_026_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; @@ -44787,7 +44415,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayCursorPositionOverride_params const HmdVector2_t *pvCursor; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayCursorPositionOverride_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; @@ -44795,21 +44423,21 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayCursorPositionOverride_params W32_PTR(const HmdVector2_t *pvCursor, pvCursor, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_027_ClearOverlayCursorPositionOverride_params +struct IVROverlay_IVROverlay_026_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_027_ClearOverlayCursorPositionOverride_params +struct wow64_IVROverlay_IVROverlay_026_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_027_SetOverlayTexture_params +struct IVROverlay_IVROverlay_026_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -44817,7 +44445,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -44825,21 +44453,21 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_027_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_026_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_027_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_026_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_027_SetOverlayRaw_params +struct IVROverlay_IVROverlay_026_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -44850,7 +44478,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayRaw_params uint32_t unBytesPerPixel; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -44861,7 +44489,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayRaw_params uint32_t unBytesPerPixel; }; -struct IVROverlay_IVROverlay_027_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_026_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -44869,7 +44497,7 @@ struct IVROverlay_IVROverlay_027_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_027_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_026_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -44877,7 +44505,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_027_GetOverlayTexture_params +struct IVROverlay_IVROverlay_026_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -44892,7 +44520,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -44907,7 +44535,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_027_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_026_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -44915,7 +44543,7 @@ struct IVROverlay_IVROverlay_027_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_027_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_026_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -44923,7 +44551,7 @@ struct wow64_IVROverlay_IVROverlay_027_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_027_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_026_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -44932,7 +44560,7 @@ struct IVROverlay_IVROverlay_027_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_027_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_026_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -44941,7 +44569,7 @@ struct wow64_IVROverlay_IVROverlay_027_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_027_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_026_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -44951,7 +44579,7 @@ struct IVROverlay_IVROverlay_027_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_027_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_026_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -44961,33 +44589,33 @@ struct wow64_IVROverlay_IVROverlay_027_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_027_IsDashboardVisible_params +struct IVROverlay_IVROverlay_026_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_027_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_026_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_027_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_026_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_027_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_026_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_027_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_026_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -44995,7 +44623,7 @@ struct IVROverlay_IVROverlay_027_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_027_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_026_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -45003,7 +44631,7 @@ struct wow64_IVROverlay_IVROverlay_027_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_027_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_026_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -45011,7 +44639,7 @@ struct IVROverlay_IVROverlay_027_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_027_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_026_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -45019,31 +44647,31 @@ struct wow64_IVROverlay_IVROverlay_027_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_027_ShowDashboard_params +struct IVROverlay_IVROverlay_026_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_027_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_026_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_027_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_026_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_027_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_026_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_027_ShowKeyboard_params +struct IVROverlay_IVROverlay_026_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -45056,7 +44684,7 @@ struct IVROverlay_IVROverlay_027_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_027_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_026_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -45069,7 +44697,7 @@ struct wow64_IVROverlay_IVROverlay_027_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_027_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_026_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -45083,7 +44711,7 @@ struct IVROverlay_IVROverlay_027_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_027_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_026_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -45097,7 +44725,7 @@ struct wow64_IVROverlay_IVROverlay_027_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_027_GetKeyboardText_params +struct IVROverlay_IVROverlay_026_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -45105,7 +44733,7 @@ struct IVROverlay_IVROverlay_027_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_027_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_026_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -45113,45 +44741,45 @@ struct wow64_IVROverlay_IVROverlay_027_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_027_HideKeyboard_params +struct IVROverlay_IVROverlay_026_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_027_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_026_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_027_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_026_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_027_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_026_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_027_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_026_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_027_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_026_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_027_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_026_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -45163,7 +44791,7 @@ struct IVROverlay_IVROverlay_027_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_027_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_026_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -45175,17 +44803,17 @@ struct wow64_IVROverlay_IVROverlay_027_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_027_CloseMessageOverlay_params +struct IVROverlay_IVROverlay_026_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_027_CloseMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_026_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_028_FindOverlay_params +struct IVROverlay_IVROverlay_027_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -45193,7 +44821,7 @@ struct IVROverlay_IVROverlay_028_FindOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_028_FindOverlay_params +struct wow64_IVROverlay_IVROverlay_027_FindOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -45201,7 +44829,7 @@ struct wow64_IVROverlay_IVROverlay_028_FindOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_028_CreateOverlay_params +struct IVROverlay_IVROverlay_027_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -45210,7 +44838,7 @@ struct IVROverlay_IVROverlay_028_CreateOverlay_params uint64_t *pOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_028_CreateOverlay_params +struct wow64_IVROverlay_IVROverlay_027_CreateOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -45219,41 +44847,21 @@ struct wow64_IVROverlay_IVROverlay_028_CreateOverlay_params W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_028_CreateSubviewOverlay_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t parentOverlayHandle; - const char *pchSubviewOverlayKey; - const char *pchSubviewOverlayName; - uint64_t *pSubviewOverlayHandle; -}; - -struct wow64_IVROverlay_IVROverlay_028_CreateSubviewOverlay_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t parentOverlayHandle; - W32_PTR(const char *pchSubviewOverlayKey, pchSubviewOverlayKey, const char *); - W32_PTR(const char *pchSubviewOverlayName, pchSubviewOverlayName, const char *); - W32_PTR(uint64_t *pSubviewOverlayHandle, pSubviewOverlayHandle, uint64_t *); -}; - -struct IVROverlay_IVROverlay_028_DestroyOverlay_params +struct IVROverlay_IVROverlay_027_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_028_DestroyOverlay_params +struct wow64_IVROverlay_IVROverlay_027_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_028_GetOverlayKey_params +struct IVROverlay_IVROverlay_027_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -45263,7 +44871,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayKey_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayKey_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayKey_params { struct u_iface u_iface; uint32_t _ret; @@ -45273,7 +44881,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayKey_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_028_GetOverlayName_params +struct IVROverlay_IVROverlay_027_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -45283,7 +44891,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayName_params uint32_t *pError; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayName_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -45293,7 +44901,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayName_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVROverlay_IVROverlay_028_SetOverlayName_params +struct IVROverlay_IVROverlay_027_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -45301,7 +44909,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayName_params const char *pchName; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayName_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayName_params { struct u_iface u_iface; uint32_t _ret; @@ -45309,7 +44917,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayName_params W32_PTR(const char *pchName, pchName, const char *); }; -struct IVROverlay_IVROverlay_028_GetOverlayImageData_params +struct IVROverlay_IVROverlay_027_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -45320,7 +44928,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayImageData_params uint32_t *punHeight; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayImageData_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayImageData_params { struct u_iface u_iface; uint32_t _ret; @@ -45331,21 +44939,21 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayImageData_params W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum_params +struct IVROverlay_IVROverlay_027_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVROverlay_IVROverlay_028_SetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_027_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -45353,7 +44961,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayRenderingPid_params uint32_t unPID; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; @@ -45361,21 +44969,21 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayRenderingPid_params uint32_t unPID; }; -struct IVROverlay_IVROverlay_028_GetOverlayRenderingPid_params +struct IVROverlay_IVROverlay_027_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayRenderingPid_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_028_SetOverlayFlag_params +struct IVROverlay_IVROverlay_027_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -45384,7 +44992,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayFlag_params int8_t bEnabled; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -45393,7 +45001,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayFlag_params int8_t bEnabled; }; -struct IVROverlay_IVROverlay_028_GetOverlayFlag_params +struct IVROverlay_IVROverlay_027_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -45402,7 +45010,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayFlag_params int8_t *pbEnabled; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayFlag_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; @@ -45411,7 +45019,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayFlag_params W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVROverlay_IVROverlay_028_GetOverlayFlags_params +struct IVROverlay_IVROverlay_027_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -45419,7 +45027,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayFlags_params uint32_t *pFlags; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayFlags_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; @@ -45427,7 +45035,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayFlags_params W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVROverlay_IVROverlay_028_SetOverlayColor_params +struct IVROverlay_IVROverlay_027_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -45437,7 +45045,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayColor_params float fBlue; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -45447,7 +45055,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayColor_params float fBlue; }; -struct IVROverlay_IVROverlay_028_GetOverlayColor_params +struct IVROverlay_IVROverlay_027_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -45457,7 +45065,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayColor_params float *pfBlue; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayColor_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayColor_params { struct u_iface u_iface; uint32_t _ret; @@ -45467,7 +45075,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayColor_params W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVROverlay_IVROverlay_028_SetOverlayAlpha_params +struct IVROverlay_IVROverlay_027_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -45475,7 +45083,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayAlpha_params float fAlpha; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -45483,7 +45091,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayAlpha_params float fAlpha; }; -struct IVROverlay_IVROverlay_028_GetOverlayAlpha_params +struct IVROverlay_IVROverlay_027_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -45491,7 +45099,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayAlpha_params float *pfAlpha; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayAlpha_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; @@ -45499,7 +45107,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayAlpha_params W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVROverlay_IVROverlay_028_SetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_027_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -45507,7 +45115,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayTexelAspect_params float fTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -45515,7 +45123,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayTexelAspect_params float fTexelAspect; }; -struct IVROverlay_IVROverlay_028_GetOverlayTexelAspect_params +struct IVROverlay_IVROverlay_027_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -45523,7 +45131,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayTexelAspect_params float *pfTexelAspect; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayTexelAspect_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; @@ -45531,7 +45139,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayTexelAspect_params W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVROverlay_IVROverlay_028_SetOverlaySortOrder_params +struct IVROverlay_IVROverlay_027_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -45539,7 +45147,7 @@ struct IVROverlay_IVROverlay_028_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -45547,7 +45155,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlaySortOrder_params uint32_t unSortOrder; }; -struct IVROverlay_IVROverlay_028_GetOverlaySortOrder_params +struct IVROverlay_IVROverlay_027_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -45555,7 +45163,7 @@ struct IVROverlay_IVROverlay_028_GetOverlaySortOrder_params uint32_t *punSortOrder; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlaySortOrder_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; @@ -45563,7 +45171,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlaySortOrder_params W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVROverlay_IVROverlay_028_SetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_027_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -45571,7 +45179,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -45579,7 +45187,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayWidthInMeters_params float fWidthInMeters; }; -struct IVROverlay_IVROverlay_028_GetOverlayWidthInMeters_params +struct IVROverlay_IVROverlay_027_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -45587,7 +45195,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayWidthInMeters_params float *pfWidthInMeters; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayWidthInMeters_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; @@ -45595,7 +45203,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayWidthInMeters_params W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVROverlay_IVROverlay_028_SetOverlayCurvature_params +struct IVROverlay_IVROverlay_027_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -45603,7 +45211,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayCurvature_params float fCurvature; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -45611,7 +45219,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayCurvature_params float fCurvature; }; -struct IVROverlay_IVROverlay_028_GetOverlayCurvature_params +struct IVROverlay_IVROverlay_027_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -45619,7 +45227,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayCurvature_params float *pfCurvature; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayCurvature_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; @@ -45627,7 +45235,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayCurvature_params W32_PTR(float *pfCurvature, pfCurvature, float *); }; -struct IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch_params +struct IVROverlay_IVROverlay_027_SetOverlayPreCurvePitch_params { struct u_iface u_iface; uint32_t _ret; @@ -45635,7 +45243,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch_params float fRadians; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayPreCurvePitch_params { struct u_iface u_iface; uint32_t _ret; @@ -45643,7 +45251,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch_params float fRadians; }; -struct IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch_params +struct IVROverlay_IVROverlay_027_GetOverlayPreCurvePitch_params { struct u_iface u_iface; uint32_t _ret; @@ -45651,7 +45259,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch_params float *pfRadians; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayPreCurvePitch_params { struct u_iface u_iface; uint32_t _ret; @@ -45659,7 +45267,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch_params W32_PTR(float *pfRadians, pfRadians, float *); }; -struct IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_027_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -45667,7 +45275,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -45675,7 +45283,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace_params uint32_t eTextureColorSpace; }; -struct IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace_params +struct IVROverlay_IVROverlay_027_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -45683,7 +45291,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace_params uint32_t *peTextureColorSpace; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayTextureColorSpace_params { struct u_iface u_iface; uint32_t _ret; @@ -45691,7 +45299,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace_params W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVROverlay_IVROverlay_028_SetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_027_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -45699,7 +45307,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayTextureBounds_params const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -45707,7 +45315,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayTextureBounds_params W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_028_GetOverlayTextureBounds_params +struct IVROverlay_IVROverlay_027_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -45715,7 +45323,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayTextureBounds_params VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureBounds_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; @@ -45723,7 +45331,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureBounds_params W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_028_GetOverlayTransformType_params +struct IVROverlay_IVROverlay_027_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -45731,7 +45339,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayTransformType_params uint32_t *peTransformType; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformType_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; @@ -45739,7 +45347,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformType_params W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_027_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -45748,7 +45356,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute_params const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -45757,7 +45365,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute_params W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute_params +struct IVROverlay_IVROverlay_027_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -45766,7 +45374,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute_params HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; @@ -45775,7 +45383,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute_params W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -45784,7 +45392,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative_params const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -45793,7 +45401,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative_ W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative_params +struct IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -45802,7 +45410,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative_params HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; @@ -45811,7 +45419,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative_ W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -45820,7 +45428,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent_param const char *pchComponentName; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -45829,7 +45437,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent_params +struct IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -45839,7 +45447,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent_param uint32_t unComponentNameSize; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; @@ -45849,7 +45457,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent uint32_t unComponentNameSize; }; -struct IVROverlay_IVROverlay_028_SetOverlayTransformCursor_params +struct IVROverlay_IVROverlay_027_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -45857,7 +45465,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayTransformCursor_params const HmdVector2_t *pvHotspot; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformCursor_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -45865,7 +45473,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformCursor_params W32_PTR(const HmdVector2_t *pvHotspot, pvHotspot, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_028_GetOverlayTransformCursor_params +struct IVROverlay_IVROverlay_027_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -45873,7 +45481,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayTransformCursor_params HmdVector2_t *pvHotspot; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformCursor_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -45881,7 +45489,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformCursor_params W32_PTR(HmdVector2_t *pvHotspot, pvHotspot, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_028_SetOverlayTransformProjection_params +struct IVROverlay_IVROverlay_027_SetOverlayTransformProjection_params { struct u_iface u_iface; uint32_t _ret; @@ -45892,7 +45500,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayTransformProjection_params uint32_t eEye; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformProjection_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayTransformProjection_params { struct u_iface u_iface; uint32_t _ret; @@ -45903,67 +45511,49 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformProjection_params uint32_t eEye; }; -struct IVROverlay_IVROverlay_028_SetSubviewPosition_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - float fX; - float fY; -}; - -struct wow64_IVROverlay_IVROverlay_028_SetSubviewPosition_params -{ - struct u_iface u_iface; - uint32_t _ret; - uint64_t ulOverlayHandle; - float fX; - float fY; -}; - -struct IVROverlay_IVROverlay_028_ShowOverlay_params +struct IVROverlay_IVROverlay_027_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_028_ShowOverlay_params +struct wow64_IVROverlay_IVROverlay_027_ShowOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_028_HideOverlay_params +struct IVROverlay_IVROverlay_027_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_028_HideOverlay_params +struct wow64_IVROverlay_IVROverlay_027_HideOverlay_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_028_IsOverlayVisible_params +struct IVROverlay_IVROverlay_027_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_028_IsOverlayVisible_params +struct wow64_IVROverlay_IVROverlay_027_IsOverlayVisible_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates_params +struct IVROverlay_IVROverlay_027_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -45973,7 +45563,7 @@ struct IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates_params HmdMatrix34_t *pmatTransform; }; -struct wow64_IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates_params +struct wow64_IVROverlay_IVROverlay_027_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; @@ -45983,21 +45573,21 @@ struct wow64_IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates_params W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_028_WaitFrameSync_params +struct IVROverlay_IVROverlay_027_WaitFrameSync_params { struct u_iface u_iface; uint32_t _ret; uint32_t nTimeoutMs; }; -struct wow64_IVROverlay_IVROverlay_028_WaitFrameSync_params +struct wow64_IVROverlay_IVROverlay_027_WaitFrameSync_params { struct u_iface u_iface; uint32_t _ret; uint32_t nTimeoutMs; }; -struct IVROverlay_IVROverlay_028_PollNextOverlayEvent_params +struct IVROverlay_IVROverlay_027_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -46006,7 +45596,7 @@ struct IVROverlay_IVROverlay_028_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct wow64_IVROverlay_IVROverlay_028_PollNextOverlayEvent_params +struct wow64_IVROverlay_IVROverlay_027_PollNextOverlayEvent_params { struct u_iface u_iface; int8_t _ret; @@ -46015,7 +45605,7 @@ struct wow64_IVROverlay_IVROverlay_028_PollNextOverlayEvent_params uint32_t uncbVREvent; }; -struct IVROverlay_IVROverlay_028_GetOverlayInputMethod_params +struct IVROverlay_IVROverlay_027_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -46023,7 +45613,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayInputMethod_params uint32_t *peInputMethod; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -46031,7 +45621,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayInputMethod_params W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVROverlay_IVROverlay_028_SetOverlayInputMethod_params +struct IVROverlay_IVROverlay_027_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -46039,7 +45629,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayInputMethod_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; @@ -46047,7 +45637,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayInputMethod_params uint32_t eInputMethod; }; -struct IVROverlay_IVROverlay_028_GetOverlayMouseScale_params +struct IVROverlay_IVROverlay_027_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -46055,7 +45645,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayMouseScale_params HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -46063,7 +45653,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayMouseScale_params W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVROverlay_IVROverlay_028_SetOverlayMouseScale_params +struct IVROverlay_IVROverlay_027_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -46071,7 +45661,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayMouseScale_params const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayMouseScale_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; @@ -46079,7 +45669,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayMouseScale_params W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_028_ComputeOverlayIntersection_params +struct IVROverlay_IVROverlay_027_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -46088,7 +45678,7 @@ struct IVROverlay_IVROverlay_028_ComputeOverlayIntersection_params VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVROverlay_IVROverlay_028_ComputeOverlayIntersection_params +struct wow64_IVROverlay_IVROverlay_027_ComputeOverlayIntersection_params { struct u_iface u_iface; int8_t _ret; @@ -46097,21 +45687,21 @@ struct wow64_IVROverlay_IVROverlay_028_ComputeOverlayIntersection_params W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVROverlay_IVROverlay_028_IsHoverTargetOverlay_params +struct IVROverlay_IVROverlay_027_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_028_IsHoverTargetOverlay_params +struct wow64_IVROverlay_IVROverlay_027_IsHoverTargetOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_028_SetOverlayIntersectionMask_params +struct IVROverlay_IVROverlay_027_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -46121,7 +45711,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayIntersectionMask_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; @@ -46131,7 +45721,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayIntersectionMask_params uint32_t unPrimitiveSize; }; -struct IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration_params +struct IVROverlay_IVROverlay_027_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; @@ -46141,7 +45731,7 @@ struct IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration_params float fAmplitude; }; -struct wow64_IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration_params +struct wow64_IVROverlay_IVROverlay_027_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; @@ -46151,7 +45741,7 @@ struct wow64_IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration_params float fAmplitude; }; -struct IVROverlay_IVROverlay_028_SetOverlayCursor_params +struct IVROverlay_IVROverlay_027_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -46159,7 +45749,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayCursor_params uint64_t ulCursorHandle; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayCursor_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; @@ -46167,7 +45757,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayCursor_params uint64_t ulCursorHandle; }; -struct IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride_params +struct IVROverlay_IVROverlay_027_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; @@ -46175,7 +45765,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride_params const HmdVector2_t *pvCursor; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; @@ -46183,21 +45773,21 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride_params W32_PTR(const HmdVector2_t *pvCursor, pvCursor, const HmdVector2_t *); }; -struct IVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride_params +struct IVROverlay_IVROverlay_027_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride_params +struct wow64_IVROverlay_IVROverlay_027_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_028_SetOverlayTexture_params +struct IVROverlay_IVROverlay_027_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -46205,7 +45795,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayTexture_params const w_Texture_t *pTexture; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -46213,21 +45803,21 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayTexture_params W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVROverlay_IVROverlay_028_ClearOverlayTexture_params +struct IVROverlay_IVROverlay_027_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_028_ClearOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_027_ClearOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_028_SetOverlayRaw_params +struct IVROverlay_IVROverlay_027_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -46238,7 +45828,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayRaw_params uint32_t unBytesPerPixel; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayRaw_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayRaw_params { struct u_iface u_iface; uint32_t _ret; @@ -46249,7 +45839,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayRaw_params uint32_t unBytesPerPixel; }; -struct IVROverlay_IVROverlay_028_SetOverlayFromFile_params +struct IVROverlay_IVROverlay_027_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -46257,7 +45847,7 @@ struct IVROverlay_IVROverlay_028_SetOverlayFromFile_params const char *pchFilePath; }; -struct wow64_IVROverlay_IVROverlay_028_SetOverlayFromFile_params +struct wow64_IVROverlay_IVROverlay_027_SetOverlayFromFile_params { struct u_iface u_iface; uint32_t _ret; @@ -46265,7 +45855,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetOverlayFromFile_params W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVROverlay_IVROverlay_028_GetOverlayTexture_params +struct IVROverlay_IVROverlay_027_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -46280,7 +45870,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayTexture_params VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayTexture_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; @@ -46295,7 +45885,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayTexture_params W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle_params +struct IVROverlay_IVROverlay_027_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -46303,7 +45893,7 @@ struct IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle_params void *pNativeTextureHandle; }; -struct wow64_IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle_params +struct wow64_IVROverlay_IVROverlay_027_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; @@ -46311,7 +45901,7 @@ struct wow64_IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle_params W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVROverlay_IVROverlay_028_GetOverlayTextureSize_params +struct IVROverlay_IVROverlay_027_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -46320,7 +45910,7 @@ struct IVROverlay_IVROverlay_028_GetOverlayTextureSize_params uint32_t *pHeight; }; -struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureSize_params +struct wow64_IVROverlay_IVROverlay_027_GetOverlayTextureSize_params { struct u_iface u_iface; uint32_t _ret; @@ -46329,7 +45919,7 @@ struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureSize_params W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVROverlay_IVROverlay_028_CreateDashboardOverlay_params +struct IVROverlay_IVROverlay_027_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -46339,7 +45929,7 @@ struct IVROverlay_IVROverlay_028_CreateDashboardOverlay_params uint64_t *pThumbnailHandle; }; -struct wow64_IVROverlay_IVROverlay_028_CreateDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_027_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -46349,33 +45939,33 @@ struct wow64_IVROverlay_IVROverlay_028_CreateDashboardOverlay_params W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVROverlay_IVROverlay_028_IsDashboardVisible_params +struct IVROverlay_IVROverlay_027_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVROverlay_IVROverlay_028_IsDashboardVisible_params +struct wow64_IVROverlay_IVROverlay_027_IsDashboardVisible_params { struct u_iface u_iface; int8_t _ret; }; -struct IVROverlay_IVROverlay_028_IsActiveDashboardOverlay_params +struct IVROverlay_IVROverlay_027_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct wow64_IVROverlay_IVROverlay_028_IsActiveDashboardOverlay_params +struct wow64_IVROverlay_IVROverlay_027_IsActiveDashboardOverlay_params { struct u_iface u_iface; int8_t _ret; uint64_t ulOverlayHandle; }; -struct IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_027_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -46383,7 +45973,7 @@ struct IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct wow64_IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_027_SetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -46391,7 +45981,7 @@ struct wow64_IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess_params uint32_t unProcessId; }; -struct IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess_params +struct IVROverlay_IVROverlay_027_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -46399,7 +45989,7 @@ struct IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess_params uint32_t *punProcessId; }; -struct wow64_IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess_params +struct wow64_IVROverlay_IVROverlay_027_GetDashboardOverlaySceneProcess_params { struct u_iface u_iface; uint32_t _ret; @@ -46407,31 +45997,31 @@ struct wow64_IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess_params W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); }; -struct IVROverlay_IVROverlay_028_ShowDashboard_params +struct IVROverlay_IVROverlay_027_ShowDashboard_params { struct u_iface u_iface; const char *pchOverlayToShow; }; -struct wow64_IVROverlay_IVROverlay_028_ShowDashboard_params +struct wow64_IVROverlay_IVROverlay_027_ShowDashboard_params { struct u_iface u_iface; W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); }; -struct IVROverlay_IVROverlay_028_GetPrimaryDashboardDevice_params +struct IVROverlay_IVROverlay_027_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct wow64_IVROverlay_IVROverlay_028_GetPrimaryDashboardDevice_params +struct wow64_IVROverlay_IVROverlay_027_GetPrimaryDashboardDevice_params { struct u_iface u_iface; uint32_t _ret; }; -struct IVROverlay_IVROverlay_028_ShowKeyboard_params +struct IVROverlay_IVROverlay_027_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -46444,7 +46034,7 @@ struct IVROverlay_IVROverlay_028_ShowKeyboard_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_028_ShowKeyboard_params +struct wow64_IVROverlay_IVROverlay_027_ShowKeyboard_params { struct u_iface u_iface; uint32_t _ret; @@ -46457,7 +46047,7 @@ struct wow64_IVROverlay_IVROverlay_028_ShowKeyboard_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_028_ShowKeyboardForOverlay_params +struct IVROverlay_IVROverlay_027_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -46471,7 +46061,7 @@ struct IVROverlay_IVROverlay_028_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct wow64_IVROverlay_IVROverlay_028_ShowKeyboardForOverlay_params +struct wow64_IVROverlay_IVROverlay_027_ShowKeyboardForOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -46485,7 +46075,7 @@ struct wow64_IVROverlay_IVROverlay_028_ShowKeyboardForOverlay_params uint64_t uUserValue; }; -struct IVROverlay_IVROverlay_028_GetKeyboardText_params +struct IVROverlay_IVROverlay_027_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -46493,7 +46083,7 @@ struct IVROverlay_IVROverlay_028_GetKeyboardText_params uint32_t cchText; }; -struct wow64_IVROverlay_IVROverlay_028_GetKeyboardText_params +struct wow64_IVROverlay_IVROverlay_027_GetKeyboardText_params { struct u_iface u_iface; uint32_t _ret; @@ -46501,45 +46091,45 @@ struct wow64_IVROverlay_IVROverlay_028_GetKeyboardText_params uint32_t cchText; }; -struct IVROverlay_IVROverlay_028_HideKeyboard_params +struct IVROverlay_IVROverlay_027_HideKeyboard_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_028_HideKeyboard_params +struct wow64_IVROverlay_IVROverlay_027_HideKeyboard_params { struct u_iface u_iface; }; -struct IVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute_params +struct IVROverlay_IVROverlay_027_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; }; -struct wow64_IVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute_params +struct wow64_IVROverlay_IVROverlay_027_SetKeyboardTransformAbsolute_params { struct u_iface u_iface; uint32_t eTrackingOrigin; W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); }; -struct IVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay_params +struct IVROverlay_IVROverlay_027_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct wow64_IVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay_params +struct wow64_IVROverlay_IVROverlay_027_SetKeyboardPositionForOverlay_params { struct u_iface u_iface; uint64_t ulOverlayHandle; HmdRect2_t avoidRect; }; -struct IVROverlay_IVROverlay_028_ShowMessageOverlay_params +struct IVROverlay_IVROverlay_027_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -46551,7 +46141,7 @@ struct IVROverlay_IVROverlay_028_ShowMessageOverlay_params const char *pchButton3Text; }; -struct wow64_IVROverlay_IVROverlay_028_ShowMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_027_ShowMessageOverlay_params { struct u_iface u_iface; uint32_t _ret; @@ -46563,1133 +46153,2611 @@ struct wow64_IVROverlay_IVROverlay_028_ShowMessageOverlay_params W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); }; -struct IVROverlay_IVROverlay_028_CloseMessageOverlay_params +struct IVROverlay_IVROverlay_027_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct wow64_IVROverlay_IVROverlay_028_CloseMessageOverlay_params +struct wow64_IVROverlay_IVROverlay_027_CloseMessageOverlay_params { struct u_iface u_iface; }; -struct IVRRenderModels_IVRRenderModels_001_LoadRenderModel_params +struct IVROverlay_IVROverlay_028_FindOverlay_params { struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - w_RenderModel_t_090 *pRenderModel; + uint32_t _ret; + const char *pchOverlayKey; + uint64_t *pOverlayHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_001_LoadRenderModel_params +struct wow64_IVROverlay_IVROverlay_028_FindOverlay_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(w32_RenderModel_t_090 *pRenderModel, pRenderModel, w32_RenderModel_t_090 *); + uint32_t _ret; + W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); + W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVRRenderModels_IVRRenderModels_001_FreeRenderModel_params +struct IVROverlay_IVROverlay_028_CreateOverlay_params { struct u_iface u_iface; - w_RenderModel_t_090 *pRenderModel; + uint32_t _ret; + const char *pchOverlayKey; + const char *pchOverlayName; + uint64_t *pOverlayHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_001_FreeRenderModel_params +struct wow64_IVROverlay_IVROverlay_028_CreateOverlay_params { struct u_iface u_iface; - W32_PTR(w32_RenderModel_t_090 *pRenderModel, pRenderModel, w32_RenderModel_t_090 *); + uint32_t _ret; + W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); + W32_PTR(const char *pchOverlayName, pchOverlayName, const char *); + W32_PTR(uint64_t *pOverlayHandle, pOverlayHandle, uint64_t *); }; -struct IVRRenderModels_IVRRenderModels_001_GetRenderModelName_params +struct IVROverlay_IVROverlay_028_CreateSubviewOverlay_params { struct u_iface u_iface; uint32_t _ret; - uint32_t unRenderModelIndex; - char *pchRenderModelName; - uint32_t unRenderModelNameLen; + uint64_t parentOverlayHandle; + const char *pchSubviewOverlayKey; + const char *pchSubviewOverlayName; + uint64_t *pSubviewOverlayHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_001_GetRenderModelName_params +struct wow64_IVROverlay_IVROverlay_028_CreateSubviewOverlay_params { struct u_iface u_iface; uint32_t _ret; - uint32_t unRenderModelIndex; - W32_PTR(char *pchRenderModelName, pchRenderModelName, char *); - uint32_t unRenderModelNameLen; + uint64_t parentOverlayHandle; + W32_PTR(const char *pchSubviewOverlayKey, pchSubviewOverlayKey, const char *); + W32_PTR(const char *pchSubviewOverlayName, pchSubviewOverlayName, const char *); + W32_PTR(uint64_t *pSubviewOverlayHandle, pSubviewOverlayHandle, uint64_t *); }; -struct IVRRenderModels_IVRRenderModels_001_GetRenderModelCount_params +struct IVROverlay_IVROverlay_028_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; + uint64_t ulOverlayHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_001_GetRenderModelCount_params +struct wow64_IVROverlay_IVROverlay_028_DestroyOverlay_params { struct u_iface u_iface; uint32_t _ret; + uint64_t ulOverlayHandle; }; -struct IVRRenderModels_IVRRenderModels_002_LoadRenderModel_params +struct IVROverlay_IVROverlay_028_GetOverlayKey_params { struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - w_RenderModel_t_0912 **ppRenderModel; + uint32_t _ret; + uint64_t ulOverlayHandle; + char *pchValue; + uint32_t unBufferSize; + uint32_t *pError; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_LoadRenderModel_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayKey_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(w32_RenderModel_t_0912 **ppRenderModel, ppRenderModel, w32_RenderModel_t_0912 **); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(char *pchValue, pchValue, char *); + uint32_t unBufferSize; + W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRRenderModels_IVRRenderModels_002_FreeRenderModel_params +struct IVROverlay_IVROverlay_028_GetOverlayName_params { struct u_iface u_iface; - w_RenderModel_t_0912 *pRenderModel; + uint32_t _ret; + uint64_t ulOverlayHandle; + char *pchValue; + uint32_t unBufferSize; + uint32_t *pError; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_FreeRenderModel_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayName_params { struct u_iface u_iface; - W32_PTR(w32_RenderModel_t_0912 *pRenderModel, pRenderModel, w32_RenderModel_t_0912 *); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(char *pchValue, pchValue, char *); + uint32_t unBufferSize; + W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRRenderModels_IVRRenderModels_002_LoadTexture_params +struct IVROverlay_IVROverlay_028_SetOverlayName_params { struct u_iface u_iface; - int8_t _ret; - int32_t textureId; - w_RenderModel_TextureMap_t_090 **ppTexture; + uint32_t _ret; + uint64_t ulOverlayHandle; + const char *pchName; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_LoadTexture_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayName_params { struct u_iface u_iface; - int8_t _ret; - int32_t textureId; - W32_PTR(w32_RenderModel_TextureMap_t_090 **ppTexture, ppTexture, w32_RenderModel_TextureMap_t_090 **); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(const char *pchName, pchName, const char *); }; -struct IVRRenderModels_IVRRenderModels_002_FreeTexture_params +struct IVROverlay_IVROverlay_028_GetOverlayImageData_params { struct u_iface u_iface; - w_RenderModel_TextureMap_t_090 *pTexture; + uint32_t _ret; + uint64_t ulOverlayHandle; + void *pvBuffer; + uint32_t unBufferSize; + uint32_t *punWidth; + uint32_t *punHeight; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_FreeTexture_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayImageData_params { struct u_iface u_iface; - W32_PTR(w32_RenderModel_TextureMap_t_090 *pTexture, pTexture, w32_RenderModel_TextureMap_t_090 *); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(void *pvBuffer, pvBuffer, void *); + uint32_t unBufferSize; + W32_PTR(uint32_t *punWidth, punWidth, uint32_t *); + W32_PTR(uint32_t *punHeight, punHeight, uint32_t *); }; -struct IVRRenderModels_IVRRenderModels_002_GetRenderModelName_params +struct IVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t unRenderModelIndex; - char *pchRenderModelName; - uint32_t unRenderModelNameLen; + struct u_buffer _ret; + uint32_t error; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_GetRenderModelName_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayErrorNameFromEnum_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t unRenderModelIndex; - W32_PTR(char *pchRenderModelName, pchRenderModelName, char *); - uint32_t unRenderModelNameLen; + struct u_buffer _ret; + uint32_t error; }; -struct IVRRenderModels_IVRRenderModels_002_GetRenderModelCount_params +struct IVROverlay_IVROverlay_028_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t unPID; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_GetRenderModelCount_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t unPID; }; -struct IVRRenderModels_IVRRenderModels_002_GetComponentCount_params +struct IVROverlay_IVROverlay_028_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; + uint64_t ulOverlayHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_GetComponentCount_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayRenderingPid_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + uint64_t ulOverlayHandle; }; -struct IVRRenderModels_IVRRenderModels_002_GetComponentName_params +struct IVROverlay_IVROverlay_028_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - uint32_t unComponentIndex; - char *pchComponentName; - uint32_t unComponentNameLen; + uint64_t ulOverlayHandle; + uint32_t eOverlayFlag; + int8_t bEnabled; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_GetComponentName_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayFlag_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - uint32_t unComponentIndex; - W32_PTR(char *pchComponentName, pchComponentName, char *); - uint32_t unComponentNameLen; + uint64_t ulOverlayHandle; + uint32_t eOverlayFlag; + int8_t bEnabled; }; -struct IVRRenderModels_IVRRenderModels_002_GetComponentButtonMask_params +struct IVROverlay_IVROverlay_028_GetOverlayFlag_params { struct u_iface u_iface; - uint64_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eOverlayFlag; + int8_t *pbEnabled; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_GetComponentButtonMask_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayFlag_params { struct u_iface u_iface; - uint64_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eOverlayFlag; + W32_PTR(int8_t *pbEnabled, pbEnabled, int8_t *); }; -struct IVRRenderModels_IVRRenderModels_002_GetComponentRenderModelName_params +struct IVROverlay_IVROverlay_028_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; - char *pchComponentRenderModelName; - uint32_t unComponentRenderModelNameLen; + uint64_t ulOverlayHandle; + uint32_t *pFlags; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_GetComponentRenderModelName_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayFlags_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); - W32_PTR(char *pchComponentRenderModelName, pchComponentRenderModelName, char *); - uint32_t unComponentRenderModelNameLen; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *pFlags, pFlags, uint32_t *); }; -struct IVRRenderModels_IVRRenderModels_002_GetComponentState_params +struct IVROverlay_IVROverlay_028_SetOverlayColor_params { struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; - const w_VRControllerState001_t *pControllerState; - RenderModel_ComponentState_t *pComponentState; + uint32_t _ret; + uint64_t ulOverlayHandle; + float fRed; + float fGreen; + float fBlue; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_GetComponentState_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayColor_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); - W32_PTR(const w32_VRControllerState001_t *pControllerState, pControllerState, const w32_VRControllerState001_t *); - W32_PTR(RenderModel_ComponentState_t *pComponentState, pComponentState, RenderModel_ComponentState_t *); + uint32_t _ret; + uint64_t ulOverlayHandle; + float fRed; + float fGreen; + float fBlue; }; -struct IVRRenderModels_IVRRenderModels_002_RenderModelHasComponent_params +struct IVROverlay_IVROverlay_028_GetOverlayColor_params { struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; + uint32_t _ret; + uint64_t ulOverlayHandle; + float *pfRed; + float *pfGreen; + float *pfBlue; }; -struct wow64_IVRRenderModels_IVRRenderModels_002_RenderModelHasComponent_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayColor_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(float *pfRed, pfRed, float *); + W32_PTR(float *pfGreen, pfGreen, float *); + W32_PTR(float *pfBlue, pfBlue, float *); }; -struct IVRRenderModels_IVRRenderModels_004_LoadRenderModel_Async_params +struct IVROverlay_IVROverlay_028_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - w_RenderModel_t_0912 **ppRenderModel; + uint64_t ulOverlayHandle; + float fAlpha; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_LoadRenderModel_Async_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayAlpha_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(w32_RenderModel_t_0912 **ppRenderModel, ppRenderModel, w32_RenderModel_t_0912 **); + uint64_t ulOverlayHandle; + float fAlpha; }; -struct IVRRenderModels_IVRRenderModels_004_FreeRenderModel_params +struct IVROverlay_IVROverlay_028_GetOverlayAlpha_params { struct u_iface u_iface; - w_RenderModel_t_0912 *pRenderModel; + uint32_t _ret; + uint64_t ulOverlayHandle; + float *pfAlpha; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_FreeRenderModel_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayAlpha_params { struct u_iface u_iface; - W32_PTR(w32_RenderModel_t_0912 *pRenderModel, pRenderModel, w32_RenderModel_t_0912 *); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(float *pfAlpha, pfAlpha, float *); }; -struct IVRRenderModels_IVRRenderModels_004_LoadTexture_Async_params +struct IVROverlay_IVROverlay_028_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - w_RenderModel_TextureMap_t_090 **ppTexture; + uint64_t ulOverlayHandle; + float fTexelAspect; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_LoadTexture_Async_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTexelAspect_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - W32_PTR(w32_RenderModel_TextureMap_t_090 **ppTexture, ppTexture, w32_RenderModel_TextureMap_t_090 **); + uint64_t ulOverlayHandle; + float fTexelAspect; }; -struct IVRRenderModels_IVRRenderModels_004_FreeTexture_params +struct IVROverlay_IVROverlay_028_GetOverlayTexelAspect_params { struct u_iface u_iface; - w_RenderModel_TextureMap_t_090 *pTexture; + uint32_t _ret; + uint64_t ulOverlayHandle; + float *pfTexelAspect; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_FreeTexture_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTexelAspect_params { struct u_iface u_iface; - W32_PTR(w32_RenderModel_TextureMap_t_090 *pTexture, pTexture, w32_RenderModel_TextureMap_t_090 *); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(float *pfTexelAspect, pfTexelAspect, float *); }; -struct IVRRenderModels_IVRRenderModels_004_LoadTextureD3D11_Async_params +struct IVROverlay_IVROverlay_028_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - void *pD3D11Device; - void **ppD3D11Texture2D; + uint64_t ulOverlayHandle; + uint32_t unSortOrder; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_LoadTextureD3D11_Async_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlaySortOrder_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - W32_PTR(void *pD3D11Device, pD3D11Device, void *); - W32_PTR(void **ppD3D11Texture2D, ppD3D11Texture2D, void **); + uint64_t ulOverlayHandle; + uint32_t unSortOrder; }; -struct IVRRenderModels_IVRRenderModels_004_FreeTextureD3D11_params +struct IVROverlay_IVROverlay_028_GetOverlaySortOrder_params { struct u_iface u_iface; - void *pD3D11Texture2D; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *punSortOrder; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_FreeTextureD3D11_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlaySortOrder_params { struct u_iface u_iface; - W32_PTR(void *pD3D11Texture2D, pD3D11Texture2D, void *); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *punSortOrder, punSortOrder, uint32_t *); }; -struct IVRRenderModels_IVRRenderModels_004_GetRenderModelName_params +struct IVROverlay_IVROverlay_028_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; - uint32_t unRenderModelIndex; - char *pchRenderModelName; - uint32_t unRenderModelNameLen; + uint64_t ulOverlayHandle; + float fWidthInMeters; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_GetRenderModelName_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; - uint32_t unRenderModelIndex; - W32_PTR(char *pchRenderModelName, pchRenderModelName, char *); - uint32_t unRenderModelNameLen; + uint64_t ulOverlayHandle; + float fWidthInMeters; }; -struct IVRRenderModels_IVRRenderModels_004_GetRenderModelCount_params +struct IVROverlay_IVROverlay_028_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; + uint64_t ulOverlayHandle; + float *pfWidthInMeters; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_GetRenderModelCount_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayWidthInMeters_params { struct u_iface u_iface; uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(float *pfWidthInMeters, pfWidthInMeters, float *); }; -struct IVRRenderModels_IVRRenderModels_004_GetComponentCount_params +struct IVROverlay_IVROverlay_028_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; + uint64_t ulOverlayHandle; + float fCurvature; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_GetComponentCount_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + uint64_t ulOverlayHandle; + float fCurvature; }; -struct IVRRenderModels_IVRRenderModels_004_GetComponentName_params +struct IVROverlay_IVROverlay_028_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - uint32_t unComponentIndex; - char *pchComponentName; - uint32_t unComponentNameLen; + uint64_t ulOverlayHandle; + float *pfCurvature; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_GetComponentName_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayCurvature_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - uint32_t unComponentIndex; - W32_PTR(char *pchComponentName, pchComponentName, char *); - uint32_t unComponentNameLen; + uint64_t ulOverlayHandle; + W32_PTR(float *pfCurvature, pfCurvature, float *); }; -struct IVRRenderModels_IVRRenderModels_004_GetComponentButtonMask_params +struct IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch_params { struct u_iface u_iface; - uint64_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; + uint32_t _ret; + uint64_t ulOverlayHandle; + float fRadians; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_GetComponentButtonMask_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayPreCurvePitch_params { struct u_iface u_iface; - uint64_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); + uint32_t _ret; + uint64_t ulOverlayHandle; + float fRadians; }; -struct IVRRenderModels_IVRRenderModels_004_GetComponentRenderModelName_params +struct IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; - char *pchComponentRenderModelName; - uint32_t unComponentRenderModelNameLen; + uint64_t ulOverlayHandle; + float *pfRadians; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_GetComponentRenderModelName_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayPreCurvePitch_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); - W32_PTR(char *pchComponentRenderModelName, pchComponentRenderModelName, char *); - uint32_t unComponentRenderModelNameLen; + uint64_t ulOverlayHandle; + W32_PTR(float *pfRadians, pfRadians, float *); }; -struct IVRRenderModels_IVRRenderModels_004_GetComponentState_params +struct IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace_params { struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; - const w_VRControllerState001_t *pControllerState; - const RenderModel_ControllerMode_State_t *pState; - RenderModel_ComponentState_t *pComponentState; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eTextureColorSpace; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_GetComponentState_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTextureColorSpace_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); - W32_PTR(const w32_VRControllerState001_t *pControllerState, pControllerState, const w32_VRControllerState001_t *); - W32_PTR(const RenderModel_ControllerMode_State_t *pState, pState, const RenderModel_ControllerMode_State_t *); - W32_PTR(RenderModel_ComponentState_t *pComponentState, pComponentState, RenderModel_ComponentState_t *); + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eTextureColorSpace; }; -struct IVRRenderModels_IVRRenderModels_004_RenderModelHasComponent_params +struct IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace_params { struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *peTextureColorSpace; }; -struct wow64_IVRRenderModels_IVRRenderModels_004_RenderModelHasComponent_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureColorSpace_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *peTextureColorSpace, peTextureColorSpace, uint32_t *); }; -struct IVRRenderModels_IVRRenderModels_005_LoadRenderModel_Async_params +struct IVROverlay_IVROverlay_028_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - w_RenderModel_t_0912 **ppRenderModel; + uint64_t ulOverlayHandle; + const VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_LoadRenderModel_Async_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTextureBounds_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(w32_RenderModel_t_0912 **ppRenderModel, ppRenderModel, w32_RenderModel_t_0912 **); + uint64_t ulOverlayHandle; + W32_PTR(const VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, const VRTextureBounds_t *); }; -struct IVRRenderModels_IVRRenderModels_005_FreeRenderModel_params +struct IVROverlay_IVROverlay_028_GetOverlayTextureBounds_params { struct u_iface u_iface; - w_RenderModel_t_0912 *pRenderModel; + uint32_t _ret; + uint64_t ulOverlayHandle; + VRTextureBounds_t *pOverlayTextureBounds; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_FreeRenderModel_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureBounds_params { struct u_iface u_iface; - W32_PTR(w32_RenderModel_t_0912 *pRenderModel, pRenderModel, w32_RenderModel_t_0912 *); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(VRTextureBounds_t *pOverlayTextureBounds, pOverlayTextureBounds, VRTextureBounds_t *); }; -struct IVRRenderModels_IVRRenderModels_005_LoadTexture_Async_params +struct IVROverlay_IVROverlay_028_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - w_RenderModel_TextureMap_t_090 **ppTexture; + uint64_t ulOverlayHandle; + uint32_t *peTransformType; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_LoadTexture_Async_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformType_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - W32_PTR(w32_RenderModel_TextureMap_t_090 **ppTexture, ppTexture, w32_RenderModel_TextureMap_t_090 **); + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *peTransformType, peTransformType, uint32_t *); }; -struct IVRRenderModels_IVRRenderModels_005_FreeTexture_params +struct IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute_params { struct u_iface u_iface; - w_RenderModel_TextureMap_t_090 *pTexture; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eTrackingOrigin; + const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_FreeTexture_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformAbsolute_params { struct u_iface u_iface; - W32_PTR(w32_RenderModel_TextureMap_t_090 *pTexture, pTexture, w32_RenderModel_TextureMap_t_090 *); + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eTrackingOrigin; + W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); }; -struct IVRRenderModels_IVRRenderModels_005_LoadTextureD3D11_Async_params +struct IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - void *pD3D11Device; - void **ppD3D11Texture2D; + uint64_t ulOverlayHandle; + uint32_t *peTrackingOrigin; + HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_LoadTextureD3D11_Async_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformAbsolute_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - W32_PTR(void *pD3D11Device, pD3D11Device, void *); - W32_PTR(void **ppD3D11Texture2D, ppD3D11Texture2D, void **); + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *peTrackingOrigin, peTrackingOrigin, uint32_t *); + W32_PTR(HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, HmdMatrix34_t *); }; -struct IVRRenderModels_IVRRenderModels_005_LoadIntoTextureD3D11_Async_params +struct IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - void *pDstTexture; + uint64_t ulOverlayHandle; + uint32_t unTrackedDevice; + const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_LoadIntoTextureD3D11_Async_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - W32_PTR(void *pDstTexture, pDstTexture, void *); + uint64_t ulOverlayHandle; + uint32_t unTrackedDevice; + W32_PTR(const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, const HmdMatrix34_t *); }; -struct IVRRenderModels_IVRRenderModels_005_FreeTextureD3D11_params +struct IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; - void *pD3D11Texture2D; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *punTrackedDevice; + HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_FreeTextureD3D11_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceRelative_params { struct u_iface u_iface; - W32_PTR(void *pD3D11Texture2D, pD3D11Texture2D, void *); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *punTrackedDevice, punTrackedDevice, uint32_t *); + W32_PTR(HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform, pmatTrackedDeviceToOverlayTransform, HmdMatrix34_t *); }; -struct IVRRenderModels_IVRRenderModels_005_GetRenderModelName_params +struct IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; - uint32_t unRenderModelIndex; - char *pchRenderModelName; - uint32_t unRenderModelNameLen; -}; + uint64_t ulOverlayHandle; + uint32_t unDeviceIndex; + const char *pchComponentName; +}; -struct wow64_IVRRenderModels_IVRRenderModels_005_GetRenderModelName_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; - uint32_t unRenderModelIndex; - W32_PTR(char *pchRenderModelName, pchRenderModelName, char *); - uint32_t unRenderModelNameLen; + uint64_t ulOverlayHandle; + uint32_t unDeviceIndex; + W32_PTR(const char *pchComponentName, pchComponentName, const char *); }; -struct IVRRenderModels_IVRRenderModels_005_GetRenderModelCount_params +struct IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *punDeviceIndex; + char *pchComponentName; + uint32_t unComponentNameSize; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_GetRenderModelCount_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformTrackedDeviceComponent_params { struct u_iface u_iface; uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *punDeviceIndex, punDeviceIndex, uint32_t *); + W32_PTR(char *pchComponentName, pchComponentName, char *); + uint32_t unComponentNameSize; }; -struct IVRRenderModels_IVRRenderModels_005_GetComponentCount_params +struct IVROverlay_IVROverlay_028_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; + uint64_t ulCursorOverlayHandle; + const HmdVector2_t *pvHotspot; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_GetComponentCount_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + uint64_t ulCursorOverlayHandle; + W32_PTR(const HmdVector2_t *pvHotspot, pvHotspot, const HmdVector2_t *); }; -struct IVRRenderModels_IVRRenderModels_005_GetComponentName_params +struct IVROverlay_IVROverlay_028_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - uint32_t unComponentIndex; - char *pchComponentName; - uint32_t unComponentNameLen; + uint64_t ulOverlayHandle; + HmdVector2_t *pvHotspot; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_GetComponentName_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTransformCursor_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - uint32_t unComponentIndex; - W32_PTR(char *pchComponentName, pchComponentName, char *); - uint32_t unComponentNameLen; + uint64_t ulOverlayHandle; + W32_PTR(HmdVector2_t *pvHotspot, pvHotspot, HmdVector2_t *); }; -struct IVRRenderModels_IVRRenderModels_005_GetComponentButtonMask_params +struct IVROverlay_IVROverlay_028_SetOverlayTransformProjection_params { struct u_iface u_iface; - uint64_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eTrackingOrigin; + const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform; + const VROverlayProjection_t *pProjection; + uint32_t eEye; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_GetComponentButtonMask_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTransformProjection_params { struct u_iface u_iface; - uint64_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eTrackingOrigin; + W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform, pmatTrackingOriginToOverlayTransform, const HmdMatrix34_t *); + W32_PTR(const VROverlayProjection_t *pProjection, pProjection, const VROverlayProjection_t *); + uint32_t eEye; }; -struct IVRRenderModels_IVRRenderModels_005_GetComponentRenderModelName_params +struct IVROverlay_IVROverlay_028_SetSubviewPosition_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; - char *pchComponentRenderModelName; - uint32_t unComponentRenderModelNameLen; + uint64_t ulOverlayHandle; + float fX; + float fY; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_GetComponentRenderModelName_params +struct wow64_IVROverlay_IVROverlay_028_SetSubviewPosition_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); - W32_PTR(char *pchComponentRenderModelName, pchComponentRenderModelName, char *); - uint32_t unComponentRenderModelNameLen; + uint64_t ulOverlayHandle; + float fX; + float fY; }; -struct IVRRenderModels_IVRRenderModels_005_GetComponentState_params +struct IVROverlay_IVROverlay_028_ShowOverlay_params { struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; - const w_VRControllerState001_t *pControllerState; - const RenderModel_ControllerMode_State_t *pState; - RenderModel_ComponentState_t *pComponentState; + uint32_t _ret; + uint64_t ulOverlayHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_GetComponentState_params +struct wow64_IVROverlay_IVROverlay_028_ShowOverlay_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); - W32_PTR(const w32_VRControllerState001_t *pControllerState, pControllerState, const w32_VRControllerState001_t *); - W32_PTR(const RenderModel_ControllerMode_State_t *pState, pState, const RenderModel_ControllerMode_State_t *); - W32_PTR(RenderModel_ComponentState_t *pComponentState, pComponentState, RenderModel_ComponentState_t *); + uint32_t _ret; + uint64_t ulOverlayHandle; }; -struct IVRRenderModels_IVRRenderModels_005_RenderModelHasComponent_params +struct IVROverlay_IVROverlay_028_HideOverlay_params { struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; + uint32_t _ret; + uint64_t ulOverlayHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_RenderModelHasComponent_params +struct wow64_IVROverlay_IVROverlay_028_HideOverlay_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); + uint32_t _ret; + uint64_t ulOverlayHandle; }; -struct IVRRenderModels_IVRRenderModels_005_GetRenderModelThumbnailURL_params +struct IVROverlay_IVROverlay_028_IsOverlayVisible_params { struct u_iface u_iface; - uint32_t _ret; - const char *pchRenderModelName; - char *pchThumbnailURL; - uint32_t unThumbnailURLLen; - uint32_t *peError; + int8_t _ret; + uint64_t ulOverlayHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_GetRenderModelThumbnailURL_params +struct wow64_IVROverlay_IVROverlay_028_IsOverlayVisible_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(char *pchThumbnailURL, pchThumbnailURL, char *); - uint32_t unThumbnailURLLen; - W32_PTR(uint32_t *peError, peError, uint32_t *); + int8_t _ret; + uint64_t ulOverlayHandle; }; -struct IVRRenderModels_IVRRenderModels_005_GetRenderModelOriginalPath_params +struct IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - char *pchOriginalPath; - uint32_t unOriginalPathLen; - uint32_t *peError; + uint64_t ulOverlayHandle; + uint32_t eTrackingOrigin; + HmdVector2_t coordinatesInOverlay; + HmdMatrix34_t *pmatTransform; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_GetRenderModelOriginalPath_params +struct wow64_IVROverlay_IVROverlay_028_GetTransformForOverlayCoordinates_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(char *pchOriginalPath, pchOriginalPath, char *); - uint32_t unOriginalPathLen; - W32_PTR(uint32_t *peError, peError, uint32_t *); + uint64_t ulOverlayHandle; + uint32_t eTrackingOrigin; + HmdVector2_t coordinatesInOverlay; + W32_PTR(HmdMatrix34_t *pmatTransform, pmatTransform, HmdMatrix34_t *); }; -struct IVRRenderModels_IVRRenderModels_005_GetRenderModelErrorNameFromEnum_params +struct IVROverlay_IVROverlay_028_WaitFrameSync_params { struct u_iface u_iface; - struct u_buffer _ret; - uint32_t error; + uint32_t _ret; + uint32_t nTimeoutMs; }; -struct wow64_IVRRenderModels_IVRRenderModels_005_GetRenderModelErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_028_WaitFrameSync_params { struct u_iface u_iface; - struct u_buffer _ret; - uint32_t error; + uint32_t _ret; + uint32_t nTimeoutMs; }; -struct IVRRenderModels_IVRRenderModels_006_LoadRenderModel_Async_params +struct IVROverlay_IVROverlay_028_PollNextOverlayEvent_params { struct u_iface u_iface; - uint32_t _ret; - const char *pchRenderModelName; - w_RenderModel_t_0912 **ppRenderModel; + int8_t _ret; + uint64_t ulOverlayHandle; + w_VREvent_t_223 *pEvent; + uint32_t uncbVREvent; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_LoadRenderModel_Async_params +struct wow64_IVROverlay_IVROverlay_028_PollNextOverlayEvent_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(w32_RenderModel_t_0912 **ppRenderModel, ppRenderModel, w32_RenderModel_t_0912 **); + int8_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(w32_VREvent_t_223 *pEvent, pEvent, w32_VREvent_t_223 *); + uint32_t uncbVREvent; }; -struct IVRRenderModels_IVRRenderModels_006_FreeRenderModel_params +struct IVROverlay_IVROverlay_028_GetOverlayInputMethod_params { struct u_iface u_iface; - w_RenderModel_t_0912 *pRenderModel; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *peInputMethod; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_FreeRenderModel_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayInputMethod_params { struct u_iface u_iface; - W32_PTR(w32_RenderModel_t_0912 *pRenderModel, pRenderModel, w32_RenderModel_t_0912 *); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *peInputMethod, peInputMethod, uint32_t *); }; -struct IVRRenderModels_IVRRenderModels_006_LoadTexture_Async_params +struct IVROverlay_IVROverlay_028_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - w_RenderModel_TextureMap_t_1237 **ppTexture; + uint64_t ulOverlayHandle; + uint32_t eInputMethod; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_LoadTexture_Async_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayInputMethod_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - W32_PTR(w32_RenderModel_TextureMap_t_1237 **ppTexture, ppTexture, w32_RenderModel_TextureMap_t_1237 **); + uint64_t ulOverlayHandle; + uint32_t eInputMethod; }; -struct IVRRenderModels_IVRRenderModels_006_FreeTexture_params +struct IVROverlay_IVROverlay_028_GetOverlayMouseScale_params { struct u_iface u_iface; - w_RenderModel_TextureMap_t_1237 *pTexture; + uint32_t _ret; + uint64_t ulOverlayHandle; + HmdVector2_t *pvecMouseScale; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_FreeTexture_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayMouseScale_params { struct u_iface u_iface; - W32_PTR(w32_RenderModel_TextureMap_t_1237 *pTexture, pTexture, w32_RenderModel_TextureMap_t_1237 *); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(HmdVector2_t *pvecMouseScale, pvecMouseScale, HmdVector2_t *); }; -struct IVRRenderModels_IVRRenderModels_006_LoadTextureD3D11_Async_params +struct IVROverlay_IVROverlay_028_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - void *pD3D11Device; - void **ppD3D11Texture2D; + uint64_t ulOverlayHandle; + const HmdVector2_t *pvecMouseScale; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_LoadTextureD3D11_Async_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayMouseScale_params { struct u_iface u_iface; uint32_t _ret; - int32_t textureId; - W32_PTR(void *pD3D11Device, pD3D11Device, void *); - W32_PTR(void **ppD3D11Texture2D, ppD3D11Texture2D, void **); + uint64_t ulOverlayHandle; + W32_PTR(const HmdVector2_t *pvecMouseScale, pvecMouseScale, const HmdVector2_t *); }; -struct IVRRenderModels_IVRRenderModels_006_LoadIntoTextureD3D11_Async_params +struct IVROverlay_IVROverlay_028_ComputeOverlayIntersection_params { struct u_iface u_iface; - uint32_t _ret; - int32_t textureId; - void *pDstTexture; + int8_t _ret; + uint64_t ulOverlayHandle; + const VROverlayIntersectionParams_t *pParams; + VROverlayIntersectionResults_t *pResults; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_LoadIntoTextureD3D11_Async_params +struct wow64_IVROverlay_IVROverlay_028_ComputeOverlayIntersection_params { struct u_iface u_iface; - uint32_t _ret; - int32_t textureId; - W32_PTR(void *pDstTexture, pDstTexture, void *); + int8_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(const VROverlayIntersectionParams_t *pParams, pParams, const VROverlayIntersectionParams_t *); + W32_PTR(VROverlayIntersectionResults_t *pResults, pResults, VROverlayIntersectionResults_t *); }; -struct IVRRenderModels_IVRRenderModels_006_FreeTextureD3D11_params +struct IVROverlay_IVROverlay_028_IsHoverTargetOverlay_params { struct u_iface u_iface; - void *pD3D11Texture2D; + int8_t _ret; + uint64_t ulOverlayHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_FreeTextureD3D11_params +struct wow64_IVROverlay_IVROverlay_028_IsHoverTargetOverlay_params { struct u_iface u_iface; - W32_PTR(void *pD3D11Texture2D, pD3D11Texture2D, void *); + int8_t _ret; + uint64_t ulOverlayHandle; }; -struct IVRRenderModels_IVRRenderModels_006_GetRenderModelName_params +struct IVROverlay_IVROverlay_028_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; - uint32_t unRenderModelIndex; - char *pchRenderModelName; - uint32_t unRenderModelNameLen; + uint64_t ulOverlayHandle; + VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives; + uint32_t unNumMaskPrimitives; + uint32_t unPrimitiveSize; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_GetRenderModelName_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayIntersectionMask_params { struct u_iface u_iface; uint32_t _ret; - uint32_t unRenderModelIndex; - W32_PTR(char *pchRenderModelName, pchRenderModelName, char *); - uint32_t unRenderModelNameLen; + uint64_t ulOverlayHandle; + W32_PTR(VROverlayIntersectionMaskPrimitive_t *pMaskPrimitives, pMaskPrimitives, VROverlayIntersectionMaskPrimitive_t *); + uint32_t unNumMaskPrimitives; + uint32_t unPrimitiveSize; }; -struct IVRRenderModels_IVRRenderModels_006_GetRenderModelCount_params +struct IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; + uint64_t ulOverlayHandle; + float fDurationSeconds; + float fFrequency; + float fAmplitude; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_GetRenderModelCount_params +struct wow64_IVROverlay_IVROverlay_028_TriggerLaserMouseHapticVibration_params { struct u_iface u_iface; uint32_t _ret; + uint64_t ulOverlayHandle; + float fDurationSeconds; + float fFrequency; + float fAmplitude; }; -struct IVRRenderModels_IVRRenderModels_006_GetComponentCount_params +struct IVROverlay_IVROverlay_028_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; + uint64_t ulOverlayHandle; + uint64_t ulCursorHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentCount_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayCursor_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + uint64_t ulOverlayHandle; + uint64_t ulCursorHandle; }; -struct IVRRenderModels_IVRRenderModels_006_GetComponentName_params +struct IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - uint32_t unComponentIndex; - char *pchComponentName; - uint32_t unComponentNameLen; + uint64_t ulOverlayHandle; + const HmdVector2_t *pvCursor; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentName_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayCursorPositionOverride_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - uint32_t unComponentIndex; - W32_PTR(char *pchComponentName, pchComponentName, char *); - uint32_t unComponentNameLen; + uint64_t ulOverlayHandle; + W32_PTR(const HmdVector2_t *pvCursor, pvCursor, const HmdVector2_t *); }; -struct IVRRenderModels_IVRRenderModels_006_GetComponentButtonMask_params +struct IVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; - uint64_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; + uint32_t _ret; + uint64_t ulOverlayHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentButtonMask_params +struct wow64_IVROverlay_IVROverlay_028_ClearOverlayCursorPositionOverride_params { struct u_iface u_iface; - uint64_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); + uint32_t _ret; + uint64_t ulOverlayHandle; }; -struct IVRRenderModels_IVRRenderModels_006_GetComponentRenderModelName_params +struct IVROverlay_IVROverlay_028_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; - char *pchComponentRenderModelName; - uint32_t unComponentRenderModelNameLen; + uint64_t ulOverlayHandle; + const w_Texture_t *pTexture; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentRenderModelName_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); - W32_PTR(char *pchComponentRenderModelName, pchComponentRenderModelName, char *); - uint32_t unComponentRenderModelNameLen; + uint64_t ulOverlayHandle; + W32_PTR(const w32_Texture_t *pTexture, pTexture, const w32_Texture_t *); }; -struct IVRRenderModels_IVRRenderModels_006_GetComponentStateForDevicePath_params +struct IVROverlay_IVROverlay_028_ClearOverlayTexture_params { struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; - uint64_t devicePath; - const RenderModel_ControllerMode_State_t *pState; - RenderModel_ComponentState_t *pComponentState; + uint32_t _ret; + uint64_t ulOverlayHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentStateForDevicePath_params +struct wow64_IVROverlay_IVROverlay_028_ClearOverlayTexture_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); - uint64_t devicePath; - W32_PTR(const RenderModel_ControllerMode_State_t *pState, pState, const RenderModel_ControllerMode_State_t *); - W32_PTR(RenderModel_ComponentState_t *pComponentState, pComponentState, RenderModel_ComponentState_t *); + uint32_t _ret; + uint64_t ulOverlayHandle; }; -struct IVRRenderModels_IVRRenderModels_006_GetComponentState_params +struct IVROverlay_IVROverlay_028_SetOverlayRaw_params { struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; - const w_VRControllerState001_t *pControllerState; - const RenderModel_ControllerMode_State_t *pState; - RenderModel_ComponentState_t *pComponentState; + uint32_t _ret; + uint64_t ulOverlayHandle; + void *pvBuffer; + uint32_t unWidth; + uint32_t unHeight; + uint32_t unBytesPerPixel; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentState_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayRaw_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); - W32_PTR(const w32_VRControllerState001_t *pControllerState, pControllerState, const w32_VRControllerState001_t *); - W32_PTR(const RenderModel_ControllerMode_State_t *pState, pState, const RenderModel_ControllerMode_State_t *); - W32_PTR(RenderModel_ComponentState_t *pComponentState, pComponentState, RenderModel_ComponentState_t *); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(void *pvBuffer, pvBuffer, void *); + uint32_t unWidth; + uint32_t unHeight; + uint32_t unBytesPerPixel; }; -struct IVRRenderModels_IVRRenderModels_006_RenderModelHasComponent_params +struct IVROverlay_IVROverlay_028_SetOverlayFromFile_params { struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - const char *pchComponentName; + uint32_t _ret; + uint64_t ulOverlayHandle; + const char *pchFilePath; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_RenderModelHasComponent_params +struct wow64_IVROverlay_IVROverlay_028_SetOverlayFromFile_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(const char *pchComponentName, pchComponentName, const char *); + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(const char *pchFilePath, pchFilePath, const char *); }; -struct IVRRenderModels_IVRRenderModels_006_GetRenderModelThumbnailURL_params +struct IVROverlay_IVROverlay_028_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - char *pchThumbnailURL; - uint32_t unThumbnailURLLen; - uint32_t *peError; + uint64_t ulOverlayHandle; + void **pNativeTextureHandle; + void *pNativeTextureRef; + uint32_t *pWidth; + uint32_t *pHeight; + uint32_t *pNativeFormat; + uint32_t *pAPIType; + uint32_t *pColorSpace; + VRTextureBounds_t *pTextureBounds; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_GetRenderModelThumbnailURL_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTexture_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(char *pchThumbnailURL, pchThumbnailURL, char *); - uint32_t unThumbnailURLLen; - W32_PTR(uint32_t *peError, peError, uint32_t *); + uint64_t ulOverlayHandle; + W32_PTR(void **pNativeTextureHandle, pNativeTextureHandle, void **); + W32_PTR(void *pNativeTextureRef, pNativeTextureRef, void *); + W32_PTR(uint32_t *pWidth, pWidth, uint32_t *); + W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); + W32_PTR(uint32_t *pNativeFormat, pNativeFormat, uint32_t *); + W32_PTR(uint32_t *pAPIType, pAPIType, uint32_t *); + W32_PTR(uint32_t *pColorSpace, pColorSpace, uint32_t *); + W32_PTR(VRTextureBounds_t *pTextureBounds, pTextureBounds, VRTextureBounds_t *); }; -struct IVRRenderModels_IVRRenderModels_006_GetRenderModelOriginalPath_params +struct IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; - const char *pchRenderModelName; - char *pchOriginalPath; - uint32_t unOriginalPathLen; - uint32_t *peError; + uint64_t ulOverlayHandle; + void *pNativeTextureHandle; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_GetRenderModelOriginalPath_params +struct wow64_IVROverlay_IVROverlay_028_ReleaseNativeOverlayHandle_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(char *pchOriginalPath, pchOriginalPath, char *); - uint32_t unOriginalPathLen; - W32_PTR(uint32_t *peError, peError, uint32_t *); + uint64_t ulOverlayHandle; + W32_PTR(void *pNativeTextureHandle, pNativeTextureHandle, void *); }; -struct IVRRenderModels_IVRRenderModels_006_GetRenderModelErrorNameFromEnum_params +struct IVROverlay_IVROverlay_028_GetOverlayTextureSize_params { struct u_iface u_iface; - struct u_buffer _ret; - uint32_t error; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *pWidth; + uint32_t *pHeight; }; -struct wow64_IVRRenderModels_IVRRenderModels_006_GetRenderModelErrorNameFromEnum_params +struct wow64_IVROverlay_IVROverlay_028_GetOverlayTextureSize_params { struct u_iface u_iface; - struct u_buffer _ret; - uint32_t error; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *pWidth, pWidth, uint32_t *); + W32_PTR(uint32_t *pHeight, pHeight, uint32_t *); }; -struct IVRResources_IVRResources_001_LoadSharedResource_params +struct IVROverlay_IVROverlay_028_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; - const char *pchResourceName; - char *pchBuffer; - uint32_t unBufferLen; + const char *pchOverlayKey; + const char *pchOverlayFriendlyName; + uint64_t *pMainHandle; + uint64_t *pThumbnailHandle; }; -struct wow64_IVRResources_IVRResources_001_LoadSharedResource_params +struct wow64_IVROverlay_IVROverlay_028_CreateDashboardOverlay_params { struct u_iface u_iface; uint32_t _ret; - W32_PTR(const char *pchResourceName, pchResourceName, const char *); - W32_PTR(char *pchBuffer, pchBuffer, char *); - uint32_t unBufferLen; + W32_PTR(const char *pchOverlayKey, pchOverlayKey, const char *); + W32_PTR(const char *pchOverlayFriendlyName, pchOverlayFriendlyName, const char *); + W32_PTR(uint64_t *pMainHandle, pMainHandle, uint64_t *); + W32_PTR(uint64_t *pThumbnailHandle, pThumbnailHandle, uint64_t *); }; -struct IVRResources_IVRResources_001_GetResourceFullPath_params +struct IVROverlay_IVROverlay_028_IsDashboardVisible_params { struct u_iface u_iface; - uint32_t _ret; - const char *pchResourceName; - const char *pchResourceTypeDirectory; - char *pchPathBuffer; - uint32_t unBufferLen; + int8_t _ret; }; -struct wow64_IVRResources_IVRResources_001_GetResourceFullPath_params +struct wow64_IVROverlay_IVROverlay_028_IsDashboardVisible_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(const char *pchResourceName, pchResourceName, const char *); + int8_t _ret; +}; + +struct IVROverlay_IVROverlay_028_IsActiveDashboardOverlay_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; +}; + +struct wow64_IVROverlay_IVROverlay_028_IsActiveDashboardOverlay_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t ulOverlayHandle; +}; + +struct IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t unProcessId; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetDashboardOverlaySceneProcess_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t unProcessId; +}; + +struct IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t *punProcessId; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetDashboardOverlaySceneProcess_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + W32_PTR(uint32_t *punProcessId, punProcessId, uint32_t *); +}; + +struct IVROverlay_IVROverlay_028_ShowDashboard_params +{ + struct u_iface u_iface; + const char *pchOverlayToShow; +}; + +struct wow64_IVROverlay_IVROverlay_028_ShowDashboard_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchOverlayToShow, pchOverlayToShow, const char *); +}; + +struct IVROverlay_IVROverlay_028_GetPrimaryDashboardDevice_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetPrimaryDashboardDevice_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct IVROverlay_IVROverlay_028_ShowKeyboard_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t eInputMode; + uint32_t eLineInputMode; + uint32_t unFlags; + const char *pchDescription; + uint32_t unCharMax; + const char *pchExistingText; + uint64_t uUserValue; +}; + +struct wow64_IVROverlay_IVROverlay_028_ShowKeyboard_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t eInputMode; + uint32_t eLineInputMode; + uint32_t unFlags; + W32_PTR(const char *pchDescription, pchDescription, const char *); + uint32_t unCharMax; + W32_PTR(const char *pchExistingText, pchExistingText, const char *); + uint64_t uUserValue; +}; + +struct IVROverlay_IVROverlay_028_ShowKeyboardForOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eInputMode; + uint32_t eLineInputMode; + uint32_t unFlags; + const char *pchDescription; + uint32_t unCharMax; + const char *pchExistingText; + uint64_t uUserValue; +}; + +struct wow64_IVROverlay_IVROverlay_028_ShowKeyboardForOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t ulOverlayHandle; + uint32_t eInputMode; + uint32_t eLineInputMode; + uint32_t unFlags; + W32_PTR(const char *pchDescription, pchDescription, const char *); + uint32_t unCharMax; + W32_PTR(const char *pchExistingText, pchExistingText, const char *); + uint64_t uUserValue; +}; + +struct IVROverlay_IVROverlay_028_GetKeyboardText_params +{ + struct u_iface u_iface; + uint32_t _ret; + char *pchText; + uint32_t cchText; +}; + +struct wow64_IVROverlay_IVROverlay_028_GetKeyboardText_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(char *pchText, pchText, char *); + uint32_t cchText; +}; + +struct IVROverlay_IVROverlay_028_HideKeyboard_params +{ + struct u_iface u_iface; +}; + +struct wow64_IVROverlay_IVROverlay_028_HideKeyboard_params +{ + struct u_iface u_iface; +}; + +struct IVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute_params +{ + struct u_iface u_iface; + uint32_t eTrackingOrigin; + const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetKeyboardTransformAbsolute_params +{ + struct u_iface u_iface; + uint32_t eTrackingOrigin; + W32_PTR(const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform, pmatTrackingOriginToKeyboardTransform, const HmdMatrix34_t *); +}; + +struct IVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay_params +{ + struct u_iface u_iface; + uint64_t ulOverlayHandle; + HmdRect2_t avoidRect; +}; + +struct wow64_IVROverlay_IVROverlay_028_SetKeyboardPositionForOverlay_params +{ + struct u_iface u_iface; + uint64_t ulOverlayHandle; + HmdRect2_t avoidRect; +}; + +struct IVROverlay_IVROverlay_028_ShowMessageOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchText; + const char *pchCaption; + const char *pchButton0Text; + const char *pchButton1Text; + const char *pchButton2Text; + const char *pchButton3Text; +}; + +struct wow64_IVROverlay_IVROverlay_028_ShowMessageOverlay_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchText, pchText, const char *); + W32_PTR(const char *pchCaption, pchCaption, const char *); + W32_PTR(const char *pchButton0Text, pchButton0Text, const char *); + W32_PTR(const char *pchButton1Text, pchButton1Text, const char *); + W32_PTR(const char *pchButton2Text, pchButton2Text, const char *); + W32_PTR(const char *pchButton3Text, pchButton3Text, const char *); +}; + +struct IVROverlay_IVROverlay_028_CloseMessageOverlay_params +{ + struct u_iface u_iface; +}; + +struct wow64_IVROverlay_IVROverlay_028_CloseMessageOverlay_params +{ + struct u_iface u_iface; +}; + +struct IVRRenderModels_IVRRenderModels_001_LoadRenderModel_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + w_RenderModel_t_090 *pRenderModel; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_001_LoadRenderModel_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(w32_RenderModel_t_090 *pRenderModel, pRenderModel, w32_RenderModel_t_090 *); +}; + +struct IVRRenderModels_IVRRenderModels_001_FreeRenderModel_params +{ + struct u_iface u_iface; + w_RenderModel_t_090 *pRenderModel; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_001_FreeRenderModel_params +{ + struct u_iface u_iface; + W32_PTR(w32_RenderModel_t_090 *pRenderModel, pRenderModel, w32_RenderModel_t_090 *); +}; + +struct IVRRenderModels_IVRRenderModels_001_GetRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unRenderModelIndex; + char *pchRenderModelName; + uint32_t unRenderModelNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_001_GetRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unRenderModelIndex; + W32_PTR(char *pchRenderModelName, pchRenderModelName, char *); + uint32_t unRenderModelNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_001_GetRenderModelCount_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_001_GetRenderModelCount_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct IVRRenderModels_IVRRenderModels_001_GetComponentCount_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_001_GetComponentCount_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_001_GetComponentName_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + uint32_t unComponentIndex; + char *pchComponentName; + uint32_t unComponentNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_001_GetComponentName_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + uint32_t unComponentIndex; + W32_PTR(char *pchComponentName, pchComponentName, char *); + uint32_t unComponentNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_001_GetComponentButtonMask_params +{ + struct u_iface u_iface; + uint64_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_001_GetComponentButtonMask_params +{ + struct u_iface u_iface; + uint64_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_001_GetComponentRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; + char *pchComponentRenderModelName; + uint32_t unComponentRenderModelNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_001_GetComponentRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); + W32_PTR(char *pchComponentRenderModelName, pchComponentRenderModelName, char *); + uint32_t unComponentRenderModelNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_001_GetComponentState_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; + w_VRControllerState001_t controllerState; + ComponentState_t *pComponentState; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_001_GetComponentState_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); + w32_VRControllerState001_t controllerState; + W32_PTR(ComponentState_t *pComponentState, pComponentState, ComponentState_t *); +}; + +struct IVRRenderModels_IVRRenderModels_002_LoadRenderModel_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + w_RenderModel_t_0912 **ppRenderModel; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_LoadRenderModel_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(w32_RenderModel_t_0912 **ppRenderModel, ppRenderModel, w32_RenderModel_t_0912 **); +}; + +struct IVRRenderModels_IVRRenderModels_002_FreeRenderModel_params +{ + struct u_iface u_iface; + w_RenderModel_t_0912 *pRenderModel; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_FreeRenderModel_params +{ + struct u_iface u_iface; + W32_PTR(w32_RenderModel_t_0912 *pRenderModel, pRenderModel, w32_RenderModel_t_0912 *); +}; + +struct IVRRenderModels_IVRRenderModels_002_LoadTexture_params +{ + struct u_iface u_iface; + int8_t _ret; + int32_t textureId; + w_RenderModel_TextureMap_t_090 **ppTexture; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_LoadTexture_params +{ + struct u_iface u_iface; + int8_t _ret; + int32_t textureId; + W32_PTR(w32_RenderModel_TextureMap_t_090 **ppTexture, ppTexture, w32_RenderModel_TextureMap_t_090 **); +}; + +struct IVRRenderModels_IVRRenderModels_002_FreeTexture_params +{ + struct u_iface u_iface; + w_RenderModel_TextureMap_t_090 *pTexture; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_FreeTexture_params +{ + struct u_iface u_iface; + W32_PTR(w32_RenderModel_TextureMap_t_090 *pTexture, pTexture, w32_RenderModel_TextureMap_t_090 *); +}; + +struct IVRRenderModels_IVRRenderModels_002_GetRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unRenderModelIndex; + char *pchRenderModelName; + uint32_t unRenderModelNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_GetRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unRenderModelIndex; + W32_PTR(char *pchRenderModelName, pchRenderModelName, char *); + uint32_t unRenderModelNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_002_GetRenderModelCount_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_GetRenderModelCount_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct IVRRenderModels_IVRRenderModels_002_GetComponentCount_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_GetComponentCount_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_002_GetComponentName_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + uint32_t unComponentIndex; + char *pchComponentName; + uint32_t unComponentNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_GetComponentName_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + uint32_t unComponentIndex; + W32_PTR(char *pchComponentName, pchComponentName, char *); + uint32_t unComponentNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_002_GetComponentButtonMask_params +{ + struct u_iface u_iface; + uint64_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_GetComponentButtonMask_params +{ + struct u_iface u_iface; + uint64_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_002_GetComponentRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; + char *pchComponentRenderModelName; + uint32_t unComponentRenderModelNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_GetComponentRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); + W32_PTR(char *pchComponentRenderModelName, pchComponentRenderModelName, char *); + uint32_t unComponentRenderModelNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_002_GetComponentState_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; + const w_VRControllerState001_t *pControllerState; + RenderModel_ComponentState_t *pComponentState; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_GetComponentState_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); + W32_PTR(const w32_VRControllerState001_t *pControllerState, pControllerState, const w32_VRControllerState001_t *); + W32_PTR(RenderModel_ComponentState_t *pComponentState, pComponentState, RenderModel_ComponentState_t *); +}; + +struct IVRRenderModels_IVRRenderModels_002_RenderModelHasComponent_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_002_RenderModelHasComponent_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_004_LoadRenderModel_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + w_RenderModel_t_0912 **ppRenderModel; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_LoadRenderModel_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(w32_RenderModel_t_0912 **ppRenderModel, ppRenderModel, w32_RenderModel_t_0912 **); +}; + +struct IVRRenderModels_IVRRenderModels_004_FreeRenderModel_params +{ + struct u_iface u_iface; + w_RenderModel_t_0912 *pRenderModel; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_FreeRenderModel_params +{ + struct u_iface u_iface; + W32_PTR(w32_RenderModel_t_0912 *pRenderModel, pRenderModel, w32_RenderModel_t_0912 *); +}; + +struct IVRRenderModels_IVRRenderModels_004_LoadTexture_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + w_RenderModel_TextureMap_t_090 **ppTexture; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_LoadTexture_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + W32_PTR(w32_RenderModel_TextureMap_t_090 **ppTexture, ppTexture, w32_RenderModel_TextureMap_t_090 **); +}; + +struct IVRRenderModels_IVRRenderModels_004_FreeTexture_params +{ + struct u_iface u_iface; + w_RenderModel_TextureMap_t_090 *pTexture; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_FreeTexture_params +{ + struct u_iface u_iface; + W32_PTR(w32_RenderModel_TextureMap_t_090 *pTexture, pTexture, w32_RenderModel_TextureMap_t_090 *); +}; + +struct IVRRenderModels_IVRRenderModels_004_LoadTextureD3D11_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + void *pD3D11Device; + void **ppD3D11Texture2D; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_LoadTextureD3D11_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + W32_PTR(void *pD3D11Device, pD3D11Device, void *); + W32_PTR(void **ppD3D11Texture2D, ppD3D11Texture2D, void **); +}; + +struct IVRRenderModels_IVRRenderModels_004_FreeTextureD3D11_params +{ + struct u_iface u_iface; + void *pD3D11Texture2D; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_FreeTextureD3D11_params +{ + struct u_iface u_iface; + W32_PTR(void *pD3D11Texture2D, pD3D11Texture2D, void *); +}; + +struct IVRRenderModels_IVRRenderModels_004_GetRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unRenderModelIndex; + char *pchRenderModelName; + uint32_t unRenderModelNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_GetRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unRenderModelIndex; + W32_PTR(char *pchRenderModelName, pchRenderModelName, char *); + uint32_t unRenderModelNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_004_GetRenderModelCount_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_GetRenderModelCount_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct IVRRenderModels_IVRRenderModels_004_GetComponentCount_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_GetComponentCount_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_004_GetComponentName_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + uint32_t unComponentIndex; + char *pchComponentName; + uint32_t unComponentNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_GetComponentName_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + uint32_t unComponentIndex; + W32_PTR(char *pchComponentName, pchComponentName, char *); + uint32_t unComponentNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_004_GetComponentButtonMask_params +{ + struct u_iface u_iface; + uint64_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_GetComponentButtonMask_params +{ + struct u_iface u_iface; + uint64_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_004_GetComponentRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; + char *pchComponentRenderModelName; + uint32_t unComponentRenderModelNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_GetComponentRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); + W32_PTR(char *pchComponentRenderModelName, pchComponentRenderModelName, char *); + uint32_t unComponentRenderModelNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_004_GetComponentState_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; + const w_VRControllerState001_t *pControllerState; + const RenderModel_ControllerMode_State_t *pState; + RenderModel_ComponentState_t *pComponentState; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_GetComponentState_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); + W32_PTR(const w32_VRControllerState001_t *pControllerState, pControllerState, const w32_VRControllerState001_t *); + W32_PTR(const RenderModel_ControllerMode_State_t *pState, pState, const RenderModel_ControllerMode_State_t *); + W32_PTR(RenderModel_ComponentState_t *pComponentState, pComponentState, RenderModel_ComponentState_t *); +}; + +struct IVRRenderModels_IVRRenderModels_004_RenderModelHasComponent_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_004_RenderModelHasComponent_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_005_LoadRenderModel_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + w_RenderModel_t_0912 **ppRenderModel; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_LoadRenderModel_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(w32_RenderModel_t_0912 **ppRenderModel, ppRenderModel, w32_RenderModel_t_0912 **); +}; + +struct IVRRenderModels_IVRRenderModels_005_FreeRenderModel_params +{ + struct u_iface u_iface; + w_RenderModel_t_0912 *pRenderModel; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_FreeRenderModel_params +{ + struct u_iface u_iface; + W32_PTR(w32_RenderModel_t_0912 *pRenderModel, pRenderModel, w32_RenderModel_t_0912 *); +}; + +struct IVRRenderModels_IVRRenderModels_005_LoadTexture_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + w_RenderModel_TextureMap_t_090 **ppTexture; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_LoadTexture_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + W32_PTR(w32_RenderModel_TextureMap_t_090 **ppTexture, ppTexture, w32_RenderModel_TextureMap_t_090 **); +}; + +struct IVRRenderModels_IVRRenderModels_005_FreeTexture_params +{ + struct u_iface u_iface; + w_RenderModel_TextureMap_t_090 *pTexture; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_FreeTexture_params +{ + struct u_iface u_iface; + W32_PTR(w32_RenderModel_TextureMap_t_090 *pTexture, pTexture, w32_RenderModel_TextureMap_t_090 *); +}; + +struct IVRRenderModels_IVRRenderModels_005_LoadTextureD3D11_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + void *pD3D11Device; + void **ppD3D11Texture2D; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_LoadTextureD3D11_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + W32_PTR(void *pD3D11Device, pD3D11Device, void *); + W32_PTR(void **ppD3D11Texture2D, ppD3D11Texture2D, void **); +}; + +struct IVRRenderModels_IVRRenderModels_005_LoadIntoTextureD3D11_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + void *pDstTexture; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_LoadIntoTextureD3D11_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + W32_PTR(void *pDstTexture, pDstTexture, void *); +}; + +struct IVRRenderModels_IVRRenderModels_005_FreeTextureD3D11_params +{ + struct u_iface u_iface; + void *pD3D11Texture2D; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_FreeTextureD3D11_params +{ + struct u_iface u_iface; + W32_PTR(void *pD3D11Texture2D, pD3D11Texture2D, void *); +}; + +struct IVRRenderModels_IVRRenderModels_005_GetRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unRenderModelIndex; + char *pchRenderModelName; + uint32_t unRenderModelNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_GetRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unRenderModelIndex; + W32_PTR(char *pchRenderModelName, pchRenderModelName, char *); + uint32_t unRenderModelNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_005_GetRenderModelCount_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_GetRenderModelCount_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct IVRRenderModels_IVRRenderModels_005_GetComponentCount_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_GetComponentCount_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_005_GetComponentName_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + uint32_t unComponentIndex; + char *pchComponentName; + uint32_t unComponentNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_GetComponentName_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + uint32_t unComponentIndex; + W32_PTR(char *pchComponentName, pchComponentName, char *); + uint32_t unComponentNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_005_GetComponentButtonMask_params +{ + struct u_iface u_iface; + uint64_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_GetComponentButtonMask_params +{ + struct u_iface u_iface; + uint64_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_005_GetComponentRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; + char *pchComponentRenderModelName; + uint32_t unComponentRenderModelNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_GetComponentRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); + W32_PTR(char *pchComponentRenderModelName, pchComponentRenderModelName, char *); + uint32_t unComponentRenderModelNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_005_GetComponentState_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; + const w_VRControllerState001_t *pControllerState; + const RenderModel_ControllerMode_State_t *pState; + RenderModel_ComponentState_t *pComponentState; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_GetComponentState_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); + W32_PTR(const w32_VRControllerState001_t *pControllerState, pControllerState, const w32_VRControllerState001_t *); + W32_PTR(const RenderModel_ControllerMode_State_t *pState, pState, const RenderModel_ControllerMode_State_t *); + W32_PTR(RenderModel_ComponentState_t *pComponentState, pComponentState, RenderModel_ComponentState_t *); +}; + +struct IVRRenderModels_IVRRenderModels_005_RenderModelHasComponent_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_RenderModelHasComponent_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_005_GetRenderModelThumbnailURL_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + char *pchThumbnailURL; + uint32_t unThumbnailURLLen; + uint32_t *peError; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_GetRenderModelThumbnailURL_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(char *pchThumbnailURL, pchThumbnailURL, char *); + uint32_t unThumbnailURLLen; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRRenderModels_IVRRenderModels_005_GetRenderModelOriginalPath_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + char *pchOriginalPath; + uint32_t unOriginalPathLen; + uint32_t *peError; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_GetRenderModelOriginalPath_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(char *pchOriginalPath, pchOriginalPath, char *); + uint32_t unOriginalPathLen; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRRenderModels_IVRRenderModels_005_GetRenderModelErrorNameFromEnum_params +{ + struct u_iface u_iface; + struct u_buffer _ret; + uint32_t error; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_005_GetRenderModelErrorNameFromEnum_params +{ + struct u_iface u_iface; + struct u_buffer _ret; + uint32_t error; +}; + +struct IVRRenderModels_IVRRenderModels_006_LoadRenderModel_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + w_RenderModel_t_0912 **ppRenderModel; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_LoadRenderModel_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(w32_RenderModel_t_0912 **ppRenderModel, ppRenderModel, w32_RenderModel_t_0912 **); +}; + +struct IVRRenderModels_IVRRenderModels_006_FreeRenderModel_params +{ + struct u_iface u_iface; + w_RenderModel_t_0912 *pRenderModel; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_FreeRenderModel_params +{ + struct u_iface u_iface; + W32_PTR(w32_RenderModel_t_0912 *pRenderModel, pRenderModel, w32_RenderModel_t_0912 *); +}; + +struct IVRRenderModels_IVRRenderModels_006_LoadTexture_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + w_RenderModel_TextureMap_t_1237 **ppTexture; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_LoadTexture_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + W32_PTR(w32_RenderModel_TextureMap_t_1237 **ppTexture, ppTexture, w32_RenderModel_TextureMap_t_1237 **); +}; + +struct IVRRenderModels_IVRRenderModels_006_FreeTexture_params +{ + struct u_iface u_iface; + w_RenderModel_TextureMap_t_1237 *pTexture; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_FreeTexture_params +{ + struct u_iface u_iface; + W32_PTR(w32_RenderModel_TextureMap_t_1237 *pTexture, pTexture, w32_RenderModel_TextureMap_t_1237 *); +}; + +struct IVRRenderModels_IVRRenderModels_006_LoadTextureD3D11_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + void *pD3D11Device; + void **ppD3D11Texture2D; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_LoadTextureD3D11_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + W32_PTR(void *pD3D11Device, pD3D11Device, void *); + W32_PTR(void **ppD3D11Texture2D, ppD3D11Texture2D, void **); +}; + +struct IVRRenderModels_IVRRenderModels_006_LoadIntoTextureD3D11_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + void *pDstTexture; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_LoadIntoTextureD3D11_Async_params +{ + struct u_iface u_iface; + uint32_t _ret; + int32_t textureId; + W32_PTR(void *pDstTexture, pDstTexture, void *); +}; + +struct IVRRenderModels_IVRRenderModels_006_FreeTextureD3D11_params +{ + struct u_iface u_iface; + void *pD3D11Texture2D; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_FreeTextureD3D11_params +{ + struct u_iface u_iface; + W32_PTR(void *pD3D11Texture2D, pD3D11Texture2D, void *); +}; + +struct IVRRenderModels_IVRRenderModels_006_GetRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unRenderModelIndex; + char *pchRenderModelName; + uint32_t unRenderModelNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_GetRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unRenderModelIndex; + W32_PTR(char *pchRenderModelName, pchRenderModelName, char *); + uint32_t unRenderModelNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_006_GetRenderModelCount_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_GetRenderModelCount_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct IVRRenderModels_IVRRenderModels_006_GetComponentCount_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentCount_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_006_GetComponentName_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + uint32_t unComponentIndex; + char *pchComponentName; + uint32_t unComponentNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentName_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + uint32_t unComponentIndex; + W32_PTR(char *pchComponentName, pchComponentName, char *); + uint32_t unComponentNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_006_GetComponentButtonMask_params +{ + struct u_iface u_iface; + uint64_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentButtonMask_params +{ + struct u_iface u_iface; + uint64_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_006_GetComponentRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; + char *pchComponentRenderModelName; + uint32_t unComponentRenderModelNameLen; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentRenderModelName_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); + W32_PTR(char *pchComponentRenderModelName, pchComponentRenderModelName, char *); + uint32_t unComponentRenderModelNameLen; +}; + +struct IVRRenderModels_IVRRenderModels_006_GetComponentStateForDevicePath_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; + uint64_t devicePath; + const RenderModel_ControllerMode_State_t *pState; + RenderModel_ComponentState_t *pComponentState; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentStateForDevicePath_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); + uint64_t devicePath; + W32_PTR(const RenderModel_ControllerMode_State_t *pState, pState, const RenderModel_ControllerMode_State_t *); + W32_PTR(RenderModel_ComponentState_t *pComponentState, pComponentState, RenderModel_ComponentState_t *); +}; + +struct IVRRenderModels_IVRRenderModels_006_GetComponentState_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; + const w_VRControllerState001_t *pControllerState; + const RenderModel_ControllerMode_State_t *pState; + RenderModel_ComponentState_t *pComponentState; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_GetComponentState_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); + W32_PTR(const w32_VRControllerState001_t *pControllerState, pControllerState, const w32_VRControllerState001_t *); + W32_PTR(const RenderModel_ControllerMode_State_t *pState, pState, const RenderModel_ControllerMode_State_t *); + W32_PTR(RenderModel_ComponentState_t *pComponentState, pComponentState, RenderModel_ComponentState_t *); +}; + +struct IVRRenderModels_IVRRenderModels_006_RenderModelHasComponent_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + const char *pchComponentName; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_RenderModelHasComponent_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(const char *pchComponentName, pchComponentName, const char *); +}; + +struct IVRRenderModels_IVRRenderModels_006_GetRenderModelThumbnailURL_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + char *pchThumbnailURL; + uint32_t unThumbnailURLLen; + uint32_t *peError; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_GetRenderModelThumbnailURL_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(char *pchThumbnailURL, pchThumbnailURL, char *); + uint32_t unThumbnailURLLen; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRRenderModels_IVRRenderModels_006_GetRenderModelOriginalPath_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchRenderModelName; + char *pchOriginalPath; + uint32_t unOriginalPathLen; + uint32_t *peError; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_GetRenderModelOriginalPath_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(char *pchOriginalPath, pchOriginalPath, char *); + uint32_t unOriginalPathLen; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRRenderModels_IVRRenderModels_006_GetRenderModelErrorNameFromEnum_params +{ + struct u_iface u_iface; + struct u_buffer _ret; + uint32_t error; +}; + +struct wow64_IVRRenderModels_IVRRenderModels_006_GetRenderModelErrorNameFromEnum_params +{ + struct u_iface u_iface; + struct u_buffer _ret; + uint32_t error; +}; + +struct IVRResources_IVRResources_001_LoadSharedResource_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchResourceName; + char *pchBuffer; + uint32_t unBufferLen; +}; + +struct wow64_IVRResources_IVRResources_001_LoadSharedResource_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchResourceName, pchResourceName, const char *); + W32_PTR(char *pchBuffer, pchBuffer, char *); + uint32_t unBufferLen; +}; + +struct IVRResources_IVRResources_001_GetResourceFullPath_params +{ + struct u_iface u_iface; + uint32_t _ret; + const char *pchResourceName; + const char *pchResourceTypeDirectory; + char *pchPathBuffer; + uint32_t unBufferLen; +}; + +struct wow64_IVRResources_IVRResources_001_GetResourceFullPath_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(const char *pchResourceName, pchResourceName, const char *); W32_PTR(const char *pchResourceTypeDirectory, pchResourceTypeDirectory, const char *); W32_PTR(char *pchPathBuffer, pchPathBuffer, char *); uint32_t unBufferLen; @@ -47705,735 +48773,1333 @@ struct IVRScreenshots_IVRScreenshots_001_RequestScreenshot_params const char *pchVRFilename; }; -struct wow64_IVRScreenshots_IVRScreenshots_001_RequestScreenshot_params +struct wow64_IVRScreenshots_IVRScreenshots_001_RequestScreenshot_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(uint32_t *pOutScreenshotHandle, pOutScreenshotHandle, uint32_t *); + uint32_t type; + W32_PTR(const char *pchPreviewFilename, pchPreviewFilename, const char *); + W32_PTR(const char *pchVRFilename, pchVRFilename, const char *); +}; + +struct IVRScreenshots_IVRScreenshots_001_HookScreenshot_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t *pSupportedTypes; + int32_t numTypes; +}; + +struct wow64_IVRScreenshots_IVRScreenshots_001_HookScreenshot_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(uint32_t *pSupportedTypes, pSupportedTypes, uint32_t *); + int32_t numTypes; +}; + +struct IVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyType_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t screenshotHandle; + uint32_t *pError; +}; + +struct wow64_IVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyType_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t screenshotHandle; + W32_PTR(uint32_t *pError, pError, uint32_t *); +}; + +struct IVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyFilename_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t screenshotHandle; + uint32_t filenameType; + char *pchFilename; + uint32_t cchFilename; + uint32_t *pError; +}; + +struct wow64_IVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyFilename_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t screenshotHandle; + uint32_t filenameType; + W32_PTR(char *pchFilename, pchFilename, char *); + uint32_t cchFilename; + W32_PTR(uint32_t *pError, pError, uint32_t *); +}; + +struct IVRScreenshots_IVRScreenshots_001_UpdateScreenshotProgress_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t screenshotHandle; + float flProgress; +}; + +struct wow64_IVRScreenshots_IVRScreenshots_001_UpdateScreenshotProgress_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t screenshotHandle; + float flProgress; +}; + +struct IVRScreenshots_IVRScreenshots_001_TakeStereoScreenshot_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t *pOutScreenshotHandle; + const char *pchPreviewFilename; + const char *pchVRFilename; +}; + +struct wow64_IVRScreenshots_IVRScreenshots_001_TakeStereoScreenshot_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(uint32_t *pOutScreenshotHandle, pOutScreenshotHandle, uint32_t *); + W32_PTR(const char *pchPreviewFilename, pchPreviewFilename, const char *); + W32_PTR(const char *pchVRFilename, pchVRFilename, const char *); +}; + +struct IVRScreenshots_IVRScreenshots_001_SubmitScreenshot_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t screenshotHandle; + uint32_t type; + const char *pchSourcePreviewFilename; + const char *pchSourceVRFilename; +}; + +struct wow64_IVRScreenshots_IVRScreenshots_001_SubmitScreenshot_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t screenshotHandle; + uint32_t type; + W32_PTR(const char *pchSourcePreviewFilename, pchSourcePreviewFilename, const char *); + W32_PTR(const char *pchSourceVRFilename, pchSourceVRFilename, const char *); +}; + +struct IVRSettings_IVRSettings_001_GetSettingsErrorNameFromEnum_params +{ + struct u_iface u_iface; + struct u_buffer _ret; + uint32_t eError; +}; + +struct wow64_IVRSettings_IVRSettings_001_GetSettingsErrorNameFromEnum_params +{ + struct u_iface u_iface; + struct u_buffer _ret; + uint32_t eError; +}; + +struct IVRSettings_IVRSettings_001_Sync_params +{ + struct u_iface u_iface; + int8_t _ret; + int8_t bForce; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_001_Sync_params +{ + struct u_iface u_iface; + int8_t _ret; + int8_t bForce; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_001_GetBool_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchSection; + const char *pchSettingsKey; + int8_t bDefaultValue; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_001_GetBool_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + int8_t bDefaultValue; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_001_SetBool_params +{ + struct u_iface u_iface; + const char *pchSection; + const char *pchSettingsKey; + int8_t bValue; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_001_SetBool_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + int8_t bValue; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_001_GetInt32_params +{ + struct u_iface u_iface; + int32_t _ret; + const char *pchSection; + const char *pchSettingsKey; + int32_t nDefaultValue; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_001_GetInt32_params +{ + struct u_iface u_iface; + int32_t _ret; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + int32_t nDefaultValue; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_001_SetInt32_params +{ + struct u_iface u_iface; + const char *pchSection; + const char *pchSettingsKey; + int32_t nValue; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_001_SetInt32_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + int32_t nValue; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_001_GetFloat_params +{ + struct u_iface u_iface; + float _ret; + const char *pchSection; + const char *pchSettingsKey; + float flDefaultValue; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_001_GetFloat_params +{ + struct u_iface u_iface; + float _ret; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + float flDefaultValue; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_001_SetFloat_params +{ + struct u_iface u_iface; + const char *pchSection; + const char *pchSettingsKey; + float flValue; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_001_SetFloat_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + float flValue; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_001_GetString_params +{ + struct u_iface u_iface; + const char *pchSection; + const char *pchSettingsKey; + char *pchValue; + uint32_t unValueLen; + const char *pchDefaultValue; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_001_GetString_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + W32_PTR(char *pchValue, pchValue, char *); + uint32_t unValueLen; + W32_PTR(const char *pchDefaultValue, pchDefaultValue, const char *); + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_001_SetString_params +{ + struct u_iface u_iface; + const char *pchSection; + const char *pchSettingsKey; + const char *pchValue; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_001_SetString_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + W32_PTR(const char *pchValue, pchValue, const char *); + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_001_RemoveSection_params +{ + struct u_iface u_iface; + const char *pchSection; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_001_RemoveSection_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_001_RemoveKeyInSection_params +{ + struct u_iface u_iface; + const char *pchSection; + const char *pchSettingsKey; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_001_RemoveKeyInSection_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_002_GetSettingsErrorNameFromEnum_params +{ + struct u_iface u_iface; + struct u_buffer _ret; + uint32_t eError; +}; + +struct wow64_IVRSettings_IVRSettings_002_GetSettingsErrorNameFromEnum_params +{ + struct u_iface u_iface; + struct u_buffer _ret; + uint32_t eError; +}; + +struct IVRSettings_IVRSettings_002_Sync_params +{ + struct u_iface u_iface; + int8_t _ret; + int8_t bForce; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_002_Sync_params +{ + struct u_iface u_iface; + int8_t _ret; + int8_t bForce; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_002_SetBool_params +{ + struct u_iface u_iface; + const char *pchSection; + const char *pchSettingsKey; + int8_t bValue; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_002_SetBool_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + int8_t bValue; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_002_SetInt32_params +{ + struct u_iface u_iface; + const char *pchSection; + const char *pchSettingsKey; + int32_t nValue; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_002_SetInt32_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + int32_t nValue; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_002_SetFloat_params +{ + struct u_iface u_iface; + const char *pchSection; + const char *pchSettingsKey; + float flValue; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_002_SetFloat_params +{ + struct u_iface u_iface; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + float flValue; + W32_PTR(uint32_t *peError, peError, uint32_t *); +}; + +struct IVRSettings_IVRSettings_002_SetString_params +{ + struct u_iface u_iface; + const char *pchSection; + const char *pchSettingsKey; + const char *pchValue; + uint32_t *peError; +}; + +struct wow64_IVRSettings_IVRSettings_002_SetString_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(uint32_t *pOutScreenshotHandle, pOutScreenshotHandle, uint32_t *); - uint32_t type; - W32_PTR(const char *pchPreviewFilename, pchPreviewFilename, const char *); - W32_PTR(const char *pchVRFilename, pchVRFilename, const char *); + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + W32_PTR(const char *pchValue, pchValue, const char *); + W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRScreenshots_IVRScreenshots_001_HookScreenshot_params +struct IVRSettings_IVRSettings_002_GetBool_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t *pSupportedTypes; - int32_t numTypes; + int8_t _ret; + const char *pchSection; + const char *pchSettingsKey; + uint32_t *peError; }; -struct wow64_IVRScreenshots_IVRScreenshots_001_HookScreenshot_params +struct wow64_IVRSettings_IVRSettings_002_GetBool_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(uint32_t *pSupportedTypes, pSupportedTypes, uint32_t *); - int32_t numTypes; + int8_t _ret; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyType_params +struct IVRSettings_IVRSettings_002_GetInt32_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t screenshotHandle; - uint32_t *pError; + int32_t _ret; + const char *pchSection; + const char *pchSettingsKey; + uint32_t *peError; }; -struct wow64_IVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyType_params +struct wow64_IVRSettings_IVRSettings_002_GetInt32_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t screenshotHandle; - W32_PTR(uint32_t *pError, pError, uint32_t *); + int32_t _ret; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyFilename_params +struct IVRSettings_IVRSettings_002_GetFloat_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t screenshotHandle; - uint32_t filenameType; - char *pchFilename; - uint32_t cchFilename; - uint32_t *pError; + float _ret; + const char *pchSection; + const char *pchSettingsKey; + uint32_t *peError; }; -struct wow64_IVRScreenshots_IVRScreenshots_001_GetScreenshotPropertyFilename_params +struct wow64_IVRSettings_IVRSettings_002_GetFloat_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t screenshotHandle; - uint32_t filenameType; - W32_PTR(char *pchFilename, pchFilename, char *); - uint32_t cchFilename; - W32_PTR(uint32_t *pError, pError, uint32_t *); + float _ret; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRScreenshots_IVRScreenshots_001_UpdateScreenshotProgress_params +struct IVRSettings_IVRSettings_002_GetString_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t screenshotHandle; - float flProgress; + const char *pchSection; + const char *pchSettingsKey; + char *pchValue; + uint32_t unValueLen; + uint32_t *peError; }; -struct wow64_IVRScreenshots_IVRScreenshots_001_UpdateScreenshotProgress_params +struct wow64_IVRSettings_IVRSettings_002_GetString_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t screenshotHandle; - float flProgress; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + W32_PTR(char *pchValue, pchValue, char *); + uint32_t unValueLen; + W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRScreenshots_IVRScreenshots_001_TakeStereoScreenshot_params +struct IVRSettings_IVRSettings_002_RemoveSection_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t *pOutScreenshotHandle; - const char *pchPreviewFilename; - const char *pchVRFilename; + const char *pchSection; + uint32_t *peError; }; -struct wow64_IVRScreenshots_IVRScreenshots_001_TakeStereoScreenshot_params +struct wow64_IVRSettings_IVRSettings_002_RemoveSection_params { struct u_iface u_iface; - uint32_t _ret; - W32_PTR(uint32_t *pOutScreenshotHandle, pOutScreenshotHandle, uint32_t *); - W32_PTR(const char *pchPreviewFilename, pchPreviewFilename, const char *); - W32_PTR(const char *pchVRFilename, pchVRFilename, const char *); + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRScreenshots_IVRScreenshots_001_SubmitScreenshot_params +struct IVRSettings_IVRSettings_002_RemoveKeyInSection_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t screenshotHandle; - uint32_t type; - const char *pchSourcePreviewFilename; - const char *pchSourceVRFilename; + const char *pchSection; + const char *pchSettingsKey; + uint32_t *peError; }; -struct wow64_IVRScreenshots_IVRScreenshots_001_SubmitScreenshot_params +struct wow64_IVRSettings_IVRSettings_002_RemoveKeyInSection_params { struct u_iface u_iface; - uint32_t _ret; - uint32_t screenshotHandle; - uint32_t type; - W32_PTR(const char *pchSourcePreviewFilename, pchSourcePreviewFilename, const char *); - W32_PTR(const char *pchSourceVRFilename, pchSourceVRFilename, const char *); + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRSettings_IVRSettings_001_GetSettingsErrorNameFromEnum_params +struct IVRSettings_IVRSettings_003_GetSettingsErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eError; }; -struct wow64_IVRSettings_IVRSettings_001_GetSettingsErrorNameFromEnum_params +struct wow64_IVRSettings_IVRSettings_003_GetSettingsErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eError; }; -struct IVRSettings_IVRSettings_001_Sync_params +struct IVRSettings_IVRSettings_003_SetBool_params { struct u_iface u_iface; - int8_t _ret; - int8_t bForce; + const char *pchSection; + const char *pchSettingsKey; + int8_t bValue; uint32_t *peError; }; -struct wow64_IVRSettings_IVRSettings_001_Sync_params +struct wow64_IVRSettings_IVRSettings_003_SetBool_params { struct u_iface u_iface; - int8_t _ret; - int8_t bForce; + W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); + int8_t bValue; W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRSettings_IVRSettings_001_GetBool_params +struct IVRSettings_IVRSettings_003_SetInt32_params { struct u_iface u_iface; - int8_t _ret; const char *pchSection; const char *pchSettingsKey; - int8_t bDefaultValue; + int32_t nValue; uint32_t *peError; }; -struct wow64_IVRSettings_IVRSettings_001_GetBool_params +struct wow64_IVRSettings_IVRSettings_003_SetInt32_params { struct u_iface u_iface; - int8_t _ret; W32_PTR(const char *pchSection, pchSection, const char *); W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - int8_t bDefaultValue; + int32_t nValue; W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRSettings_IVRSettings_001_SetBool_params +struct IVRSettings_IVRSettings_003_SetFloat_params { struct u_iface u_iface; const char *pchSection; const char *pchSettingsKey; - int8_t bValue; + float flValue; uint32_t *peError; }; -struct wow64_IVRSettings_IVRSettings_001_SetBool_params +struct wow64_IVRSettings_IVRSettings_003_SetFloat_params { struct u_iface u_iface; W32_PTR(const char *pchSection, pchSection, const char *); W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - int8_t bValue; + float flValue; W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRSettings_IVRSettings_001_GetInt32_params +struct IVRSettings_IVRSettings_003_SetString_params { struct u_iface u_iface; - int32_t _ret; const char *pchSection; const char *pchSettingsKey; - int32_t nDefaultValue; + const char *pchValue; uint32_t *peError; }; -struct wow64_IVRSettings_IVRSettings_001_GetInt32_params +struct wow64_IVRSettings_IVRSettings_003_SetString_params { struct u_iface u_iface; - int32_t _ret; W32_PTR(const char *pchSection, pchSection, const char *); W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - int32_t nDefaultValue; + W32_PTR(const char *pchValue, pchValue, const char *); W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRSettings_IVRSettings_001_SetInt32_params +struct IVRSettings_IVRSettings_003_GetBool_params { struct u_iface u_iface; + int8_t _ret; const char *pchSection; const char *pchSettingsKey; - int32_t nValue; uint32_t *peError; }; -struct wow64_IVRSettings_IVRSettings_001_SetInt32_params +struct wow64_IVRSettings_IVRSettings_003_GetBool_params { struct u_iface u_iface; + int8_t _ret; W32_PTR(const char *pchSection, pchSection, const char *); W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - int32_t nValue; W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRSettings_IVRSettings_001_GetFloat_params +struct IVRSettings_IVRSettings_003_GetInt32_params { struct u_iface u_iface; - float _ret; + int32_t _ret; const char *pchSection; const char *pchSettingsKey; - float flDefaultValue; uint32_t *peError; }; -struct wow64_IVRSettings_IVRSettings_001_GetFloat_params +struct wow64_IVRSettings_IVRSettings_003_GetInt32_params { struct u_iface u_iface; - float _ret; + int32_t _ret; W32_PTR(const char *pchSection, pchSection, const char *); W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - float flDefaultValue; W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRSettings_IVRSettings_001_SetFloat_params +struct IVRSettings_IVRSettings_003_GetFloat_params { struct u_iface u_iface; + float _ret; const char *pchSection; const char *pchSettingsKey; - float flValue; uint32_t *peError; }; -struct wow64_IVRSettings_IVRSettings_001_SetFloat_params +struct wow64_IVRSettings_IVRSettings_003_GetFloat_params { struct u_iface u_iface; + float _ret; W32_PTR(const char *pchSection, pchSection, const char *); W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - float flValue; W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRSettings_IVRSettings_001_GetString_params +struct IVRSettings_IVRSettings_003_GetString_params { struct u_iface u_iface; const char *pchSection; const char *pchSettingsKey; char *pchValue; uint32_t unValueLen; - const char *pchDefaultValue; uint32_t *peError; }; -struct wow64_IVRSettings_IVRSettings_001_GetString_params +struct wow64_IVRSettings_IVRSettings_003_GetString_params { struct u_iface u_iface; W32_PTR(const char *pchSection, pchSection, const char *); W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); W32_PTR(char *pchValue, pchValue, char *); uint32_t unValueLen; - W32_PTR(const char *pchDefaultValue, pchDefaultValue, const char *); W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRSettings_IVRSettings_001_SetString_params +struct IVRSettings_IVRSettings_003_RemoveSection_params { struct u_iface u_iface; const char *pchSection; - const char *pchSettingsKey; - const char *pchValue; uint32_t *peError; }; -struct wow64_IVRSettings_IVRSettings_001_SetString_params +struct wow64_IVRSettings_IVRSettings_003_RemoveSection_params { struct u_iface u_iface; W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(const char *pchValue, pchValue, const char *); W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRSettings_IVRSettings_001_RemoveSection_params +struct IVRSettings_IVRSettings_003_RemoveKeyInSection_params { struct u_iface u_iface; const char *pchSection; + const char *pchSettingsKey; uint32_t *peError; }; -struct wow64_IVRSettings_IVRSettings_001_RemoveSection_params +struct wow64_IVRSettings_IVRSettings_003_RemoveKeyInSection_params { struct u_iface u_iface; W32_PTR(const char *pchSection, pchSection, const char *); + W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRSettings_IVRSettings_001_RemoveKeyInSection_params +struct IVRSystem_IVRSystem_003_GetWindowBounds_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - uint32_t *peError; + int32_t *pnX; + int32_t *pnY; + uint32_t *pnWidth; + uint32_t *pnHeight; }; -struct wow64_IVRSettings_IVRSettings_001_RemoveKeyInSection_params +struct wow64_IVRSystem_IVRSystem_003_GetWindowBounds_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + W32_PTR(int32_t *pnX, pnX, int32_t *); + W32_PTR(int32_t *pnY, pnY, int32_t *); + W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); + W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSettings_IVRSettings_002_GetSettingsErrorNameFromEnum_params +struct IVRSystem_IVRSystem_003_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; - struct u_buffer _ret; - uint32_t eError; + uint32_t *pnWidth; + uint32_t *pnHeight; }; -struct wow64_IVRSettings_IVRSettings_002_GetSettingsErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_003_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; - struct u_buffer _ret; - uint32_t eError; + W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); + W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSettings_IVRSettings_002_Sync_params +struct IVRSystem_IVRSystem_003_GetEyeOutputViewport_params +{ + struct u_iface u_iface; + uint32_t eEye; + uint32_t *pnX; + uint32_t *pnY; + uint32_t *pnWidth; + uint32_t *pnHeight; +}; + +struct wow64_IVRSystem_IVRSystem_003_GetEyeOutputViewport_params +{ + struct u_iface u_iface; + uint32_t eEye; + W32_PTR(uint32_t *pnX, pnX, uint32_t *); + W32_PTR(uint32_t *pnY, pnY, uint32_t *); + W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); + W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); +}; + +struct IVRSystem_IVRSystem_003_GetProjectionMatrix_params +{ + struct u_iface u_iface; + HmdMatrix44_t *_ret; + uint32_t eEye; + float fNearZ; + float fFarZ; + uint32_t eProjType; +}; + +struct wow64_IVRSystem_IVRSystem_003_GetProjectionMatrix_params +{ + struct u_iface u_iface; + W32_PTR(HmdMatrix44_t *_ret, _ret, HmdMatrix44_t *); + uint32_t eEye; + float fNearZ; + float fFarZ; + uint32_t eProjType; +}; + +struct IVRSystem_IVRSystem_003_GetProjectionRaw_params +{ + struct u_iface u_iface; + uint32_t eEye; + float *pfLeft; + float *pfRight; + float *pfTop; + float *pfBottom; +}; + +struct wow64_IVRSystem_IVRSystem_003_GetProjectionRaw_params +{ + struct u_iface u_iface; + uint32_t eEye; + W32_PTR(float *pfLeft, pfLeft, float *); + W32_PTR(float *pfRight, pfRight, float *); + W32_PTR(float *pfTop, pfTop, float *); + W32_PTR(float *pfBottom, pfBottom, float *); +}; + +struct IVRSystem_IVRSystem_003_ComputeDistortion_params +{ + struct u_iface u_iface; + DistortionCoordinates_t *_ret; + uint32_t eEye; + float fU; + float fV; +}; + +struct wow64_IVRSystem_IVRSystem_003_ComputeDistortion_params +{ + struct u_iface u_iface; + W32_PTR(DistortionCoordinates_t *_ret, _ret, DistortionCoordinates_t *); + uint32_t eEye; + float fU; + float fV; +}; + +struct IVRSystem_IVRSystem_003_GetEyeToHeadTransform_params +{ + struct u_iface u_iface; + HmdMatrix34_t *_ret; + uint32_t eEye; +}; + +struct wow64_IVRSystem_IVRSystem_003_GetEyeToHeadTransform_params +{ + struct u_iface u_iface; + W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); + uint32_t eEye; +}; + +struct IVRSystem_IVRSystem_003_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; - int8_t bForce; - uint32_t *peError; + float *pfSecondsSinceLastVsync; + uint64_t *pulFrameCounter; }; -struct wow64_IVRSettings_IVRSettings_002_Sync_params +struct wow64_IVRSystem_IVRSystem_003_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; - int8_t bForce; - W32_PTR(uint32_t *peError, peError, uint32_t *); + W32_PTR(float *pfSecondsSinceLastVsync, pfSecondsSinceLastVsync, float *); + W32_PTR(uint64_t *pulFrameCounter, pulFrameCounter, uint64_t *); }; -struct IVRSettings_IVRSettings_002_SetBool_params +struct IVRSystem_IVRSystem_003_GetD3D9AdapterIndex_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - int8_t bValue; - uint32_t *peError; + int32_t _ret; }; -struct wow64_IVRSettings_IVRSettings_002_SetBool_params +struct wow64_IVRSystem_IVRSystem_003_GetD3D9AdapterIndex_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - int8_t bValue; - W32_PTR(uint32_t *peError, peError, uint32_t *); + int32_t _ret; }; -struct IVRSettings_IVRSettings_002_SetInt32_params +struct IVRSystem_IVRSystem_003_GetDXGIOutputInfo_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - int32_t nValue; - uint32_t *peError; + int32_t *pnAdapterIndex; + int32_t *pnAdapterOutputIndex; }; -struct wow64_IVRSettings_IVRSettings_002_SetInt32_params +struct wow64_IVRSystem_IVRSystem_003_GetDXGIOutputInfo_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - int32_t nValue; - W32_PTR(uint32_t *peError, peError, uint32_t *); + W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); + W32_PTR(int32_t *pnAdapterOutputIndex, pnAdapterOutputIndex, int32_t *); +}; + +struct IVRSystem_IVRSystem_003_AttachToWindow_params +{ + struct u_iface u_iface; + int8_t _ret; + void *hWnd; +}; + +struct wow64_IVRSystem_IVRSystem_003_AttachToWindow_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(void *hWnd, hWnd, void *); +}; + +struct IVRSystem_IVRSystem_003_GetDeviceToAbsoluteTrackingPose_params +{ + struct u_iface u_iface; + uint32_t eOrigin; + float fPredictedSecondsToPhotonsFromNow; + TrackedDevicePose_t *pTrackedDevicePoseArray; + uint32_t unTrackedDevicePoseArrayCount; +}; + +struct wow64_IVRSystem_IVRSystem_003_GetDeviceToAbsoluteTrackingPose_params +{ + struct u_iface u_iface; + uint32_t eOrigin; + float fPredictedSecondsToPhotonsFromNow; + W32_PTR(TrackedDevicePose_t *pTrackedDevicePoseArray, pTrackedDevicePoseArray, TrackedDevicePose_t *); + uint32_t unTrackedDevicePoseArrayCount; +}; + +struct IVRSystem_IVRSystem_003_ResetSeatedZeroPose_params +{ + struct u_iface u_iface; +}; + +struct wow64_IVRSystem_IVRSystem_003_ResetSeatedZeroPose_params +{ + struct u_iface u_iface; +}; + +struct IVRSystem_IVRSystem_003_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +{ + struct u_iface u_iface; + HmdMatrix34_t *_ret; +}; + +struct wow64_IVRSystem_IVRSystem_003_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +{ + struct u_iface u_iface; + W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); +}; + +struct IVRSystem_IVRSystem_003_LoadRenderModel_params +{ + struct u_iface u_iface; + int8_t _ret; + const char *pchRenderModelName; + w_RenderModel_t_090 *pRenderModel; +}; + +struct wow64_IVRSystem_IVRSystem_003_LoadRenderModel_params +{ + struct u_iface u_iface; + int8_t _ret; + W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); + W32_PTR(w32_RenderModel_t_090 *pRenderModel, pRenderModel, w32_RenderModel_t_090 *); +}; + +struct IVRSystem_IVRSystem_003_FreeRenderModel_params +{ + struct u_iface u_iface; + w_RenderModel_t_090 *pRenderModel; +}; + +struct wow64_IVRSystem_IVRSystem_003_FreeRenderModel_params +{ + struct u_iface u_iface; + W32_PTR(w32_RenderModel_t_090 *pRenderModel, pRenderModel, w32_RenderModel_t_090 *); +}; + +struct IVRSystem_IVRSystem_003_GetTrackedDeviceClass_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unDeviceIndex; +}; + +struct wow64_IVRSystem_IVRSystem_003_GetTrackedDeviceClass_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unDeviceIndex; +}; + +struct IVRSystem_IVRSystem_003_IsTrackedDeviceConnected_params +{ + struct u_iface u_iface; + int8_t _ret; + uint32_t unDeviceIndex; +}; + +struct wow64_IVRSystem_IVRSystem_003_IsTrackedDeviceConnected_params +{ + struct u_iface u_iface; + int8_t _ret; + uint32_t unDeviceIndex; +}; + +struct IVRSystem_IVRSystem_003_GetBoolTrackedDeviceProperty_params +{ + struct u_iface u_iface; + int8_t _ret; + uint32_t unDeviceIndex; + uint32_t prop; + uint32_t *pError; +}; + +struct wow64_IVRSystem_IVRSystem_003_GetBoolTrackedDeviceProperty_params +{ + struct u_iface u_iface; + int8_t _ret; + uint32_t unDeviceIndex; + uint32_t prop; + W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSettings_IVRSettings_002_SetFloat_params +struct IVRSystem_IVRSystem_003_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - float flValue; - uint32_t *peError; + float _ret; + uint32_t unDeviceIndex; + uint32_t prop; + uint32_t *pError; }; -struct wow64_IVRSettings_IVRSettings_002_SetFloat_params +struct wow64_IVRSystem_IVRSystem_003_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - float flValue; - W32_PTR(uint32_t *peError, peError, uint32_t *); + float _ret; + uint32_t unDeviceIndex; + uint32_t prop; + W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSettings_IVRSettings_002_SetString_params +struct IVRSystem_IVRSystem_003_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - const char *pchValue; - uint32_t *peError; + int32_t _ret; + uint32_t unDeviceIndex; + uint32_t prop; + uint32_t *pError; }; -struct wow64_IVRSettings_IVRSettings_002_SetString_params +struct wow64_IVRSystem_IVRSystem_003_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(const char *pchValue, pchValue, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + int32_t _ret; + uint32_t unDeviceIndex; + uint32_t prop; + W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSettings_IVRSettings_002_GetBool_params +struct IVRSystem_IVRSystem_003_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; - int8_t _ret; - const char *pchSection; - const char *pchSettingsKey; - uint32_t *peError; + uint64_t _ret; + uint32_t unDeviceIndex; + uint32_t prop; + uint32_t *pError; }; -struct wow64_IVRSettings_IVRSettings_002_GetBool_params +struct wow64_IVRSystem_IVRSystem_003_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + uint64_t _ret; + uint32_t unDeviceIndex; + uint32_t prop; + W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSettings_IVRSettings_002_GetInt32_params +struct IVRSystem_IVRSystem_003_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; - int32_t _ret; - const char *pchSection; - const char *pchSettingsKey; - uint32_t *peError; + HmdMatrix34_t *_ret; + uint32_t unDeviceIndex; + uint32_t prop; + uint32_t *pError; }; -struct wow64_IVRSettings_IVRSettings_002_GetInt32_params +struct wow64_IVRSystem_IVRSystem_003_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; - int32_t _ret; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); + uint32_t unDeviceIndex; + uint32_t prop; + W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSettings_IVRSettings_002_GetFloat_params +struct IVRSystem_IVRSystem_003_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; - float _ret; - const char *pchSection; - const char *pchSettingsKey; - uint32_t *peError; + uint32_t _ret; + uint32_t unDeviceIndex; + uint32_t prop; + char *pchValue; + uint32_t unBufferSize; + uint32_t *pError; }; -struct wow64_IVRSettings_IVRSettings_002_GetFloat_params +struct wow64_IVRSystem_IVRSystem_003_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; - float _ret; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + uint32_t _ret; + uint32_t unDeviceIndex; + uint32_t prop; + W32_PTR(char *pchValue, pchValue, char *); + uint32_t unBufferSize; + W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSettings_IVRSettings_002_GetString_params +struct IVRSystem_IVRSystem_003_GetPropErrorNameFromEnum_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - char *pchValue; - uint32_t unValueLen; - uint32_t *peError; + struct u_buffer _ret; + uint32_t error; }; -struct wow64_IVRSettings_IVRSettings_002_GetString_params +struct wow64_IVRSystem_IVRSystem_003_GetPropErrorNameFromEnum_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(char *pchValue, pchValue, char *); - uint32_t unValueLen; - W32_PTR(uint32_t *peError, peError, uint32_t *); + struct u_buffer _ret; + uint32_t error; }; -struct IVRSettings_IVRSettings_002_RemoveSection_params +struct IVRSystem_IVRSystem_003_PollNextEvent_params { struct u_iface u_iface; - const char *pchSection; - uint32_t *peError; + int8_t _ret; + w_VREvent_t_090 *pEvent; }; -struct wow64_IVRSettings_IVRSettings_002_RemoveSection_params +struct wow64_IVRSystem_IVRSystem_003_PollNextEvent_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + int8_t _ret; + W32_PTR(w32_VREvent_t_090 *pEvent, pEvent, w32_VREvent_t_090 *); }; -struct IVRSettings_IVRSettings_002_RemoveKeyInSection_params +struct IVRSystem_IVRSystem_003_PollNextEventWithPose_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - uint32_t *peError; + int8_t _ret; + uint32_t eOrigin; + w_VREvent_t_090 *pEvent; + TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSettings_IVRSettings_002_RemoveKeyInSection_params +struct wow64_IVRSystem_IVRSystem_003_PollNextEventWithPose_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + int8_t _ret; + uint32_t eOrigin; + W32_PTR(w32_VREvent_t_090 *pEvent, pEvent, w32_VREvent_t_090 *); + W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSettings_IVRSettings_003_GetSettingsErrorNameFromEnum_params +struct IVRSystem_IVRSystem_003_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; - uint32_t eError; + uint32_t eType; }; -struct wow64_IVRSettings_IVRSettings_003_GetSettingsErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_003_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; - uint32_t eError; + uint32_t eType; }; -struct IVRSettings_IVRSettings_003_SetBool_params +struct IVRSystem_IVRSystem_003_GetHiddenAreaMesh_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - int8_t bValue; - uint32_t *peError; + w_HiddenAreaMesh_t *_ret; + uint32_t eEye; }; -struct wow64_IVRSettings_IVRSettings_003_SetBool_params +struct wow64_IVRSystem_IVRSystem_003_GetHiddenAreaMesh_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - int8_t bValue; - W32_PTR(uint32_t *peError, peError, uint32_t *); + W32_PTR(w32_HiddenAreaMesh_t *_ret, _ret, w32_HiddenAreaMesh_t *); + uint32_t eEye; }; -struct IVRSettings_IVRSettings_003_SetInt32_params +struct IVRSystem_IVRSystem_003_GetControllerState_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - int32_t nValue; - uint32_t *peError; + int8_t _ret; + uint32_t unControllerDeviceIndex; + w_VRControllerState001_t *pControllerState; }; -struct wow64_IVRSettings_IVRSettings_003_SetInt32_params +struct wow64_IVRSystem_IVRSystem_003_GetControllerState_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - int32_t nValue; - W32_PTR(uint32_t *peError, peError, uint32_t *); + int8_t _ret; + uint32_t unControllerDeviceIndex; + W32_PTR(w32_VRControllerState001_t *pControllerState, pControllerState, w32_VRControllerState001_t *); }; -struct IVRSettings_IVRSettings_003_SetFloat_params +struct IVRSystem_IVRSystem_003_GetControllerStateWithPose_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - float flValue; - uint32_t *peError; + int8_t _ret; + uint32_t eOrigin; + uint32_t unControllerDeviceIndex; + w_VRControllerState001_t *pControllerState; + TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSettings_IVRSettings_003_SetFloat_params +struct wow64_IVRSystem_IVRSystem_003_GetControllerStateWithPose_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - float flValue; - W32_PTR(uint32_t *peError, peError, uint32_t *); + int8_t _ret; + uint32_t eOrigin; + uint32_t unControllerDeviceIndex; + W32_PTR(w32_VRControllerState001_t *pControllerState, pControllerState, w32_VRControllerState001_t *); + W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSettings_IVRSettings_003_SetString_params +struct IVRSystem_IVRSystem_003_TriggerHapticPulse_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - const char *pchValue; - uint32_t *peError; + uint32_t unControllerDeviceIndex; + uint32_t unAxisId; + uint16_t usDurationMicroSec; }; -struct wow64_IVRSettings_IVRSettings_003_SetString_params +struct wow64_IVRSystem_IVRSystem_003_TriggerHapticPulse_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(const char *pchValue, pchValue, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + uint32_t unControllerDeviceIndex; + uint32_t unAxisId; + uint16_t usDurationMicroSec; }; -struct IVRSettings_IVRSettings_003_GetBool_params +struct IVRSystem_IVRSystem_003_GetButtonIdNameFromEnum_params { struct u_iface u_iface; - int8_t _ret; - const char *pchSection; - const char *pchSettingsKey; - uint32_t *peError; + struct u_buffer _ret; + uint32_t eButtonId; }; -struct wow64_IVRSettings_IVRSettings_003_GetBool_params +struct wow64_IVRSystem_IVRSystem_003_GetButtonIdNameFromEnum_params { struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + struct u_buffer _ret; + uint32_t eButtonId; }; -struct IVRSettings_IVRSettings_003_GetInt32_params +struct IVRSystem_IVRSystem_003_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; - int32_t _ret; - const char *pchSection; - const char *pchSettingsKey; - uint32_t *peError; + struct u_buffer _ret; + uint32_t eAxisType; }; -struct wow64_IVRSettings_IVRSettings_003_GetInt32_params +struct wow64_IVRSystem_IVRSystem_003_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; - int32_t _ret; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + struct u_buffer _ret; + uint32_t eAxisType; }; -struct IVRSettings_IVRSettings_003_GetFloat_params +struct IVRSystem_IVRSystem_003_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; - float _ret; - const char *pchSection; - const char *pchSettingsKey; - uint32_t *peError; + int8_t _ret; + const Compositor_OverlaySettings *overlaySettings; + HmdVector2_t vecWindowClientPositionOnScreen; + HmdVector2_t vecWindowClientSize; + uint32_t unControllerDeviceIndex; + uint32_t eOutputType; }; -struct wow64_IVRSettings_IVRSettings_003_GetFloat_params +struct wow64_IVRSystem_IVRSystem_003_HandleControllerOverlayInteractionAsMouse_params { struct u_iface u_iface; - float _ret; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + int8_t _ret; + W32_PTR(const Compositor_OverlaySettings *overlaySettings, overlaySettings, const Compositor_OverlaySettings *); + HmdVector2_t vecWindowClientPositionOnScreen; + HmdVector2_t vecWindowClientSize; + uint32_t unControllerDeviceIndex; + uint32_t eOutputType; }; -struct IVRSettings_IVRSettings_003_GetString_params +struct IVRSystem_IVRSystem_003_CaptureInputFocus_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - char *pchValue; - uint32_t unValueLen; - uint32_t *peError; + int8_t _ret; }; -struct wow64_IVRSettings_IVRSettings_003_GetString_params +struct wow64_IVRSystem_IVRSystem_003_CaptureInputFocus_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(char *pchValue, pchValue, char *); - uint32_t unValueLen; - W32_PTR(uint32_t *peError, peError, uint32_t *); + int8_t _ret; }; -struct IVRSettings_IVRSettings_003_RemoveSection_params +struct IVRSystem_IVRSystem_003_ReleaseInputFocus_params { struct u_iface u_iface; - const char *pchSection; - uint32_t *peError; }; -struct wow64_IVRSettings_IVRSettings_003_RemoveSection_params +struct wow64_IVRSystem_IVRSystem_003_ReleaseInputFocus_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); }; -struct IVRSettings_IVRSettings_003_RemoveKeyInSection_params +struct IVRSystem_IVRSystem_003_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; - const char *pchSection; - const char *pchSettingsKey; - uint32_t *peError; + int8_t _ret; }; -struct wow64_IVRSettings_IVRSettings_003_RemoveKeyInSection_params +struct wow64_IVRSystem_IVRSystem_003_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; - W32_PTR(const char *pchSection, pchSection, const char *); - W32_PTR(const char *pchSettingsKey, pchSettingsKey, const char *); - W32_PTR(uint32_t *peError, peError, uint32_t *); + int8_t _ret; }; -struct IVRSystem_IVRSystem_003_GetWindowBounds_params +struct IVRSystem_IVRSystem_004_GetWindowBounds_params { struct u_iface u_iface; int32_t *pnX; @@ -48442,7 +50108,7 @@ struct IVRSystem_IVRSystem_003_GetWindowBounds_params uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_003_GetWindowBounds_params +struct wow64_IVRSystem_IVRSystem_004_GetWindowBounds_params { struct u_iface u_iface; W32_PTR(int32_t *pnX, pnX, int32_t *); @@ -48451,21 +50117,21 @@ struct wow64_IVRSystem_IVRSystem_003_GetWindowBounds_params W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_003_GetRecommendedRenderTargetSize_params +struct IVRSystem_IVRSystem_004_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; uint32_t *pnWidth; uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_003_GetRecommendedRenderTargetSize_params +struct wow64_IVRSystem_IVRSystem_004_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_003_GetEyeOutputViewport_params +struct IVRSystem_IVRSystem_004_GetEyeOutputViewport_params { struct u_iface u_iface; uint32_t eEye; @@ -48475,7 +50141,7 @@ struct IVRSystem_IVRSystem_003_GetEyeOutputViewport_params uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_003_GetEyeOutputViewport_params +struct wow64_IVRSystem_IVRSystem_004_GetEyeOutputViewport_params { struct u_iface u_iface; uint32_t eEye; @@ -48485,7 +50151,7 @@ struct wow64_IVRSystem_IVRSystem_003_GetEyeOutputViewport_params W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_003_GetProjectionMatrix_params +struct IVRSystem_IVRSystem_004_GetProjectionMatrix_params { struct u_iface u_iface; HmdMatrix44_t *_ret; @@ -48495,7 +50161,7 @@ struct IVRSystem_IVRSystem_003_GetProjectionMatrix_params uint32_t eProjType; }; -struct wow64_IVRSystem_IVRSystem_003_GetProjectionMatrix_params +struct wow64_IVRSystem_IVRSystem_004_GetProjectionMatrix_params { struct u_iface u_iface; W32_PTR(HmdMatrix44_t *_ret, _ret, HmdMatrix44_t *); @@ -48505,7 +50171,7 @@ struct wow64_IVRSystem_IVRSystem_003_GetProjectionMatrix_params uint32_t eProjType; }; -struct IVRSystem_IVRSystem_003_GetProjectionRaw_params +struct IVRSystem_IVRSystem_004_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -48515,7 +50181,7 @@ struct IVRSystem_IVRSystem_003_GetProjectionRaw_params float *pfBottom; }; -struct wow64_IVRSystem_IVRSystem_003_GetProjectionRaw_params +struct wow64_IVRSystem_IVRSystem_004_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -48525,7 +50191,7 @@ struct wow64_IVRSystem_IVRSystem_003_GetProjectionRaw_params W32_PTR(float *pfBottom, pfBottom, float *); }; -struct IVRSystem_IVRSystem_003_ComputeDistortion_params +struct IVRSystem_IVRSystem_004_ComputeDistortion_params { struct u_iface u_iface; DistortionCoordinates_t *_ret; @@ -48534,7 +50200,7 @@ struct IVRSystem_IVRSystem_003_ComputeDistortion_params float fV; }; -struct wow64_IVRSystem_IVRSystem_003_ComputeDistortion_params +struct wow64_IVRSystem_IVRSystem_004_ComputeDistortion_params { struct u_iface u_iface; W32_PTR(DistortionCoordinates_t *_ret, _ret, DistortionCoordinates_t *); @@ -48543,21 +50209,21 @@ struct wow64_IVRSystem_IVRSystem_003_ComputeDistortion_params float fV; }; -struct IVRSystem_IVRSystem_003_GetEyeToHeadTransform_params +struct IVRSystem_IVRSystem_004_GetEyeToHeadTransform_params { struct u_iface u_iface; HmdMatrix34_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_003_GetEyeToHeadTransform_params +struct wow64_IVRSystem_IVRSystem_004_GetEyeToHeadTransform_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_003_GetTimeSinceLastVsync_params +struct IVRSystem_IVRSystem_004_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -48565,7 +50231,7 @@ struct IVRSystem_IVRSystem_003_GetTimeSinceLastVsync_params uint64_t *pulFrameCounter; }; -struct wow64_IVRSystem_IVRSystem_003_GetTimeSinceLastVsync_params +struct wow64_IVRSystem_IVRSystem_004_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -48573,47 +50239,47 @@ struct wow64_IVRSystem_IVRSystem_003_GetTimeSinceLastVsync_params W32_PTR(uint64_t *pulFrameCounter, pulFrameCounter, uint64_t *); }; -struct IVRSystem_IVRSystem_003_GetD3D9AdapterIndex_params +struct IVRSystem_IVRSystem_004_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct wow64_IVRSystem_IVRSystem_003_GetD3D9AdapterIndex_params +struct wow64_IVRSystem_IVRSystem_004_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct IVRSystem_IVRSystem_003_GetDXGIOutputInfo_params +struct IVRSystem_IVRSystem_004_GetDXGIOutputInfo_params { struct u_iface u_iface; int32_t *pnAdapterIndex; int32_t *pnAdapterOutputIndex; }; -struct wow64_IVRSystem_IVRSystem_003_GetDXGIOutputInfo_params +struct wow64_IVRSystem_IVRSystem_004_GetDXGIOutputInfo_params { struct u_iface u_iface; W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); W32_PTR(int32_t *pnAdapterOutputIndex, pnAdapterOutputIndex, int32_t *); }; -struct IVRSystem_IVRSystem_003_AttachToWindow_params +struct IVRSystem_IVRSystem_004_AttachToWindow_params { struct u_iface u_iface; int8_t _ret; void *hWnd; }; -struct wow64_IVRSystem_IVRSystem_003_AttachToWindow_params +struct wow64_IVRSystem_IVRSystem_004_AttachToWindow_params { struct u_iface u_iface; int8_t _ret; W32_PTR(void *hWnd, hWnd, void *); }; -struct IVRSystem_IVRSystem_003_GetDeviceToAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_004_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -48622,7 +50288,7 @@ struct IVRSystem_IVRSystem_003_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct wow64_IVRSystem_IVRSystem_003_GetDeviceToAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_004_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -48631,85 +50297,57 @@ struct wow64_IVRSystem_IVRSystem_003_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct IVRSystem_IVRSystem_003_ResetSeatedZeroPose_params +struct IVRSystem_IVRSystem_004_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_003_ResetSeatedZeroPose_params +struct wow64_IVRSystem_IVRSystem_004_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_003_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_004_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_003_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_004_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_003_LoadRenderModel_params -{ - struct u_iface u_iface; - int8_t _ret; - const char *pchRenderModelName; - w_RenderModel_t_090 *pRenderModel; -}; - -struct wow64_IVRSystem_IVRSystem_003_LoadRenderModel_params -{ - struct u_iface u_iface; - int8_t _ret; - W32_PTR(const char *pchRenderModelName, pchRenderModelName, const char *); - W32_PTR(w32_RenderModel_t_090 *pRenderModel, pRenderModel, w32_RenderModel_t_090 *); -}; - -struct IVRSystem_IVRSystem_003_FreeRenderModel_params -{ - struct u_iface u_iface; - w_RenderModel_t_090 *pRenderModel; -}; - -struct wow64_IVRSystem_IVRSystem_003_FreeRenderModel_params -{ - struct u_iface u_iface; - W32_PTR(w32_RenderModel_t_090 *pRenderModel, pRenderModel, w32_RenderModel_t_090 *); -}; - -struct IVRSystem_IVRSystem_003_GetTrackedDeviceClass_params +struct IVRSystem_IVRSystem_004_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_003_GetTrackedDeviceClass_params +struct wow64_IVRSystem_IVRSystem_004_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_003_IsTrackedDeviceConnected_params +struct IVRSystem_IVRSystem_004_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_003_IsTrackedDeviceConnected_params +struct wow64_IVRSystem_IVRSystem_004_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_003_GetBoolTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_004_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -48718,7 +50356,7 @@ struct IVRSystem_IVRSystem_003_GetBoolTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_003_GetBoolTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_004_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -48727,7 +50365,7 @@ struct wow64_IVRSystem_IVRSystem_003_GetBoolTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_003_GetFloatTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_004_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -48736,7 +50374,7 @@ struct IVRSystem_IVRSystem_003_GetFloatTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_003_GetFloatTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_004_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -48745,7 +50383,7 @@ struct wow64_IVRSystem_IVRSystem_003_GetFloatTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_003_GetInt32TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_004_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -48754,7 +50392,7 @@ struct IVRSystem_IVRSystem_003_GetInt32TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_003_GetInt32TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_004_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -48763,7 +50401,7 @@ struct wow64_IVRSystem_IVRSystem_003_GetInt32TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_003_GetUint64TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_004_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -48772,7 +50410,7 @@ struct IVRSystem_IVRSystem_003_GetUint64TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_003_GetUint64TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_004_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -48781,7 +50419,7 @@ struct wow64_IVRSystem_IVRSystem_003_GetUint64TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_003_GetMatrix34TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_004_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; HmdMatrix34_t *_ret; @@ -48790,7 +50428,7 @@ struct IVRSystem_IVRSystem_003_GetMatrix34TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_003_GetMatrix34TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_004_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); @@ -48799,7 +50437,7 @@ struct wow64_IVRSystem_IVRSystem_003_GetMatrix34TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_003_GetStringTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_004_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -48810,7 +50448,7 @@ struct IVRSystem_IVRSystem_003_GetStringTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_003_GetStringTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_004_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -48821,81 +50459,81 @@ struct wow64_IVRSystem_IVRSystem_003_GetStringTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_003_GetPropErrorNameFromEnum_params +struct IVRSystem_IVRSystem_004_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVRSystem_IVRSystem_003_GetPropErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_004_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVRSystem_IVRSystem_003_PollNextEvent_params +struct IVRSystem_IVRSystem_004_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - w_VREvent_t_090 *pEvent; + w_VREvent_t_092 *pEvent; }; -struct wow64_IVRSystem_IVRSystem_003_PollNextEvent_params +struct wow64_IVRSystem_IVRSystem_004_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - W32_PTR(w32_VREvent_t_090 *pEvent, pEvent, w32_VREvent_t_090 *); + W32_PTR(w32_VREvent_t_092 *pEvent, pEvent, w32_VREvent_t_092 *); }; -struct IVRSystem_IVRSystem_003_PollNextEventWithPose_params +struct IVRSystem_IVRSystem_004_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - w_VREvent_t_090 *pEvent; + w_VREvent_t_092 *pEvent; TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_003_PollNextEventWithPose_params +struct wow64_IVRSystem_IVRSystem_004_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - W32_PTR(w32_VREvent_t_090 *pEvent, pEvent, w32_VREvent_t_090 *); + W32_PTR(w32_VREvent_t_092 *pEvent, pEvent, w32_VREvent_t_092 *); W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_003_GetEventTypeNameFromEnum_params +struct IVRSystem_IVRSystem_004_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct wow64_IVRSystem_IVRSystem_003_GetEventTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_004_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct IVRSystem_IVRSystem_003_GetHiddenAreaMesh_params +struct IVRSystem_IVRSystem_004_GetHiddenAreaMesh_params { struct u_iface u_iface; w_HiddenAreaMesh_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_003_GetHiddenAreaMesh_params +struct wow64_IVRSystem_IVRSystem_004_GetHiddenAreaMesh_params { struct u_iface u_iface; W32_PTR(w32_HiddenAreaMesh_t *_ret, _ret, w32_HiddenAreaMesh_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_003_GetControllerState_params +struct IVRSystem_IVRSystem_004_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -48903,7 +50541,7 @@ struct IVRSystem_IVRSystem_003_GetControllerState_params w_VRControllerState001_t *pControllerState; }; -struct wow64_IVRSystem_IVRSystem_003_GetControllerState_params +struct wow64_IVRSystem_IVRSystem_004_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -48911,7 +50549,7 @@ struct wow64_IVRSystem_IVRSystem_003_GetControllerState_params W32_PTR(w32_VRControllerState001_t *pControllerState, pControllerState, w32_VRControllerState001_t *); }; -struct IVRSystem_IVRSystem_003_GetControllerStateWithPose_params +struct IVRSystem_IVRSystem_004_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -48921,7 +50559,7 @@ struct IVRSystem_IVRSystem_003_GetControllerStateWithPose_params TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_003_GetControllerStateWithPose_params +struct wow64_IVRSystem_IVRSystem_004_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -48931,7 +50569,7 @@ struct wow64_IVRSystem_IVRSystem_003_GetControllerStateWithPose_params W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_003_TriggerHapticPulse_params +struct IVRSystem_IVRSystem_004_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -48939,7 +50577,7 @@ struct IVRSystem_IVRSystem_003_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct wow64_IVRSystem_IVRSystem_003_TriggerHapticPulse_params +struct wow64_IVRSystem_IVRSystem_004_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -48947,91 +50585,89 @@ struct wow64_IVRSystem_IVRSystem_003_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct IVRSystem_IVRSystem_003_GetButtonIdNameFromEnum_params +struct IVRSystem_IVRSystem_004_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct wow64_IVRSystem_IVRSystem_003_GetButtonIdNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_004_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct IVRSystem_IVRSystem_003_GetControllerAxisTypeNameFromEnum_params +struct IVRSystem_IVRSystem_004_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct wow64_IVRSystem_IVRSystem_003_GetControllerAxisTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_004_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct IVRSystem_IVRSystem_003_HandleControllerOverlayInteractionAsMouse_params +struct IVRSystem_IVRSystem_004_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; - const Compositor_OverlaySettings *overlaySettings; - HmdVector2_t vecWindowClientPositionOnScreen; - HmdVector2_t vecWindowClientSize; - uint32_t unControllerDeviceIndex; - uint32_t eOutputType; }; -struct wow64_IVRSystem_IVRSystem_003_HandleControllerOverlayInteractionAsMouse_params +struct wow64_IVRSystem_IVRSystem_004_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; - W32_PTR(const Compositor_OverlaySettings *overlaySettings, overlaySettings, const Compositor_OverlaySettings *); - HmdVector2_t vecWindowClientPositionOnScreen; - HmdVector2_t vecWindowClientSize; - uint32_t unControllerDeviceIndex; - uint32_t eOutputType; }; -struct IVRSystem_IVRSystem_003_CaptureInputFocus_params +struct IVRSystem_IVRSystem_004_ReleaseInputFocus_params { struct u_iface u_iface; - int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_003_CaptureInputFocus_params +struct wow64_IVRSystem_IVRSystem_004_ReleaseInputFocus_params { struct u_iface u_iface; - int8_t _ret; }; -struct IVRSystem_IVRSystem_003_ReleaseInputFocus_params +struct IVRSystem_IVRSystem_004_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; + int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_003_ReleaseInputFocus_params +struct wow64_IVRSystem_IVRSystem_004_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; + int8_t _ret; }; -struct IVRSystem_IVRSystem_003_IsInputFocusCapturedByAnotherProcess_params +struct IVRSystem_IVRSystem_004_DriverDebugRequest_params { struct u_iface u_iface; - int8_t _ret; + uint32_t _ret; + uint32_t unDeviceIndex; + const char *pchRequest; + char *pchResponseBuffer; + uint32_t unResponseBufferSize; }; -struct wow64_IVRSystem_IVRSystem_003_IsInputFocusCapturedByAnotherProcess_params +struct wow64_IVRSystem_IVRSystem_004_DriverDebugRequest_params { struct u_iface u_iface; - int8_t _ret; + uint32_t _ret; + uint32_t unDeviceIndex; + W32_PTR(const char *pchRequest, pchRequest, const char *); + W32_PTR(char *pchResponseBuffer, pchResponseBuffer, char *); + uint32_t unResponseBufferSize; }; -struct IVRSystem_IVRSystem_004_GetWindowBounds_params +struct IVRSystem_IVRSystem_005_GetWindowBounds_params { struct u_iface u_iface; int32_t *pnX; @@ -49040,7 +50676,7 @@ struct IVRSystem_IVRSystem_004_GetWindowBounds_params uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_004_GetWindowBounds_params +struct wow64_IVRSystem_IVRSystem_005_GetWindowBounds_params { struct u_iface u_iface; W32_PTR(int32_t *pnX, pnX, int32_t *); @@ -49049,21 +50685,21 @@ struct wow64_IVRSystem_IVRSystem_004_GetWindowBounds_params W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_004_GetRecommendedRenderTargetSize_params +struct IVRSystem_IVRSystem_005_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; uint32_t *pnWidth; uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_004_GetRecommendedRenderTargetSize_params +struct wow64_IVRSystem_IVRSystem_005_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_004_GetEyeOutputViewport_params +struct IVRSystem_IVRSystem_005_GetEyeOutputViewport_params { struct u_iface u_iface; uint32_t eEye; @@ -49073,7 +50709,7 @@ struct IVRSystem_IVRSystem_004_GetEyeOutputViewport_params uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_004_GetEyeOutputViewport_params +struct wow64_IVRSystem_IVRSystem_005_GetEyeOutputViewport_params { struct u_iface u_iface; uint32_t eEye; @@ -49083,7 +50719,7 @@ struct wow64_IVRSystem_IVRSystem_004_GetEyeOutputViewport_params W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_004_GetProjectionMatrix_params +struct IVRSystem_IVRSystem_005_GetProjectionMatrix_params { struct u_iface u_iface; HmdMatrix44_t *_ret; @@ -49093,7 +50729,7 @@ struct IVRSystem_IVRSystem_004_GetProjectionMatrix_params uint32_t eProjType; }; -struct wow64_IVRSystem_IVRSystem_004_GetProjectionMatrix_params +struct wow64_IVRSystem_IVRSystem_005_GetProjectionMatrix_params { struct u_iface u_iface; W32_PTR(HmdMatrix44_t *_ret, _ret, HmdMatrix44_t *); @@ -49103,7 +50739,7 @@ struct wow64_IVRSystem_IVRSystem_004_GetProjectionMatrix_params uint32_t eProjType; }; -struct IVRSystem_IVRSystem_004_GetProjectionRaw_params +struct IVRSystem_IVRSystem_005_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -49113,7 +50749,7 @@ struct IVRSystem_IVRSystem_004_GetProjectionRaw_params float *pfBottom; }; -struct wow64_IVRSystem_IVRSystem_004_GetProjectionRaw_params +struct wow64_IVRSystem_IVRSystem_005_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -49123,7 +50759,7 @@ struct wow64_IVRSystem_IVRSystem_004_GetProjectionRaw_params W32_PTR(float *pfBottom, pfBottom, float *); }; -struct IVRSystem_IVRSystem_004_ComputeDistortion_params +struct IVRSystem_IVRSystem_005_ComputeDistortion_params { struct u_iface u_iface; DistortionCoordinates_t *_ret; @@ -49132,7 +50768,7 @@ struct IVRSystem_IVRSystem_004_ComputeDistortion_params float fV; }; -struct wow64_IVRSystem_IVRSystem_004_ComputeDistortion_params +struct wow64_IVRSystem_IVRSystem_005_ComputeDistortion_params { struct u_iface u_iface; W32_PTR(DistortionCoordinates_t *_ret, _ret, DistortionCoordinates_t *); @@ -49141,21 +50777,21 @@ struct wow64_IVRSystem_IVRSystem_004_ComputeDistortion_params float fV; }; -struct IVRSystem_IVRSystem_004_GetEyeToHeadTransform_params +struct IVRSystem_IVRSystem_005_GetEyeToHeadTransform_params { struct u_iface u_iface; HmdMatrix34_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_004_GetEyeToHeadTransform_params +struct wow64_IVRSystem_IVRSystem_005_GetEyeToHeadTransform_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_004_GetTimeSinceLastVsync_params +struct IVRSystem_IVRSystem_005_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -49163,7 +50799,7 @@ struct IVRSystem_IVRSystem_004_GetTimeSinceLastVsync_params uint64_t *pulFrameCounter; }; -struct wow64_IVRSystem_IVRSystem_004_GetTimeSinceLastVsync_params +struct wow64_IVRSystem_IVRSystem_005_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -49171,47 +50807,47 @@ struct wow64_IVRSystem_IVRSystem_004_GetTimeSinceLastVsync_params W32_PTR(uint64_t *pulFrameCounter, pulFrameCounter, uint64_t *); }; -struct IVRSystem_IVRSystem_004_GetD3D9AdapterIndex_params +struct IVRSystem_IVRSystem_005_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct wow64_IVRSystem_IVRSystem_004_GetD3D9AdapterIndex_params +struct wow64_IVRSystem_IVRSystem_005_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct IVRSystem_IVRSystem_004_GetDXGIOutputInfo_params +struct IVRSystem_IVRSystem_005_GetDXGIOutputInfo_params { struct u_iface u_iface; int32_t *pnAdapterIndex; int32_t *pnAdapterOutputIndex; }; -struct wow64_IVRSystem_IVRSystem_004_GetDXGIOutputInfo_params +struct wow64_IVRSystem_IVRSystem_005_GetDXGIOutputInfo_params { struct u_iface u_iface; W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); W32_PTR(int32_t *pnAdapterOutputIndex, pnAdapterOutputIndex, int32_t *); }; -struct IVRSystem_IVRSystem_004_AttachToWindow_params +struct IVRSystem_IVRSystem_005_AttachToWindow_params { struct u_iface u_iface; int8_t _ret; void *hWnd; }; -struct wow64_IVRSystem_IVRSystem_004_AttachToWindow_params +struct wow64_IVRSystem_IVRSystem_005_AttachToWindow_params { struct u_iface u_iface; int8_t _ret; W32_PTR(void *hWnd, hWnd, void *); }; -struct IVRSystem_IVRSystem_004_GetDeviceToAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_005_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -49220,7 +50856,7 @@ struct IVRSystem_IVRSystem_004_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct wow64_IVRSystem_IVRSystem_004_GetDeviceToAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_005_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -49229,57 +50865,77 @@ struct wow64_IVRSystem_IVRSystem_004_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct IVRSystem_IVRSystem_004_ResetSeatedZeroPose_params +struct IVRSystem_IVRSystem_005_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_004_ResetSeatedZeroPose_params +struct wow64_IVRSystem_IVRSystem_005_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_004_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_005_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_004_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_005_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_004_GetTrackedDeviceClass_params +struct IVRSystem_IVRSystem_005_GetSortedTrackedDeviceIndicesOfClass_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t eTrackedDeviceClass; + uint32_t *punTrackedDeviceIndexArray; + uint32_t unTrackedDeviceIndexArrayCount; + uint32_t unRelativeToTrackedDeviceIndex; +}; + +struct wow64_IVRSystem_IVRSystem_005_GetSortedTrackedDeviceIndicesOfClass_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t eTrackedDeviceClass; + W32_PTR(uint32_t *punTrackedDeviceIndexArray, punTrackedDeviceIndexArray, uint32_t *); + uint32_t unTrackedDeviceIndexArrayCount; + uint32_t unRelativeToTrackedDeviceIndex; +}; + +struct IVRSystem_IVRSystem_005_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_004_GetTrackedDeviceClass_params +struct wow64_IVRSystem_IVRSystem_005_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_004_IsTrackedDeviceConnected_params +struct IVRSystem_IVRSystem_005_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_004_IsTrackedDeviceConnected_params +struct wow64_IVRSystem_IVRSystem_005_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_004_GetBoolTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_005_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -49288,7 +50944,7 @@ struct IVRSystem_IVRSystem_004_GetBoolTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_004_GetBoolTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_005_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -49297,7 +50953,7 @@ struct wow64_IVRSystem_IVRSystem_004_GetBoolTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_004_GetFloatTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_005_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -49306,7 +50962,7 @@ struct IVRSystem_IVRSystem_004_GetFloatTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_004_GetFloatTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_005_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -49315,7 +50971,7 @@ struct wow64_IVRSystem_IVRSystem_004_GetFloatTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_004_GetInt32TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_005_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -49324,7 +50980,7 @@ struct IVRSystem_IVRSystem_004_GetInt32TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_004_GetInt32TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_005_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -49333,7 +50989,7 @@ struct wow64_IVRSystem_IVRSystem_004_GetInt32TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_004_GetUint64TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_005_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -49342,7 +50998,7 @@ struct IVRSystem_IVRSystem_004_GetUint64TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_004_GetUint64TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_005_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -49351,7 +51007,7 @@ struct wow64_IVRSystem_IVRSystem_004_GetUint64TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_004_GetMatrix34TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_005_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; HmdMatrix34_t *_ret; @@ -49360,7 +51016,7 @@ struct IVRSystem_IVRSystem_004_GetMatrix34TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_004_GetMatrix34TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_005_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); @@ -49369,7 +51025,7 @@ struct wow64_IVRSystem_IVRSystem_004_GetMatrix34TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_004_GetStringTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_005_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -49380,7 +51036,7 @@ struct IVRSystem_IVRSystem_004_GetStringTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_004_GetStringTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_005_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -49391,81 +51047,81 @@ struct wow64_IVRSystem_IVRSystem_004_GetStringTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_004_GetPropErrorNameFromEnum_params +struct IVRSystem_IVRSystem_005_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVRSystem_IVRSystem_004_GetPropErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_005_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVRSystem_IVRSystem_004_PollNextEvent_params +struct IVRSystem_IVRSystem_005_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - w_VREvent_t_092 *pEvent; + w_VREvent_t_097 *pEvent; }; -struct wow64_IVRSystem_IVRSystem_004_PollNextEvent_params +struct wow64_IVRSystem_IVRSystem_005_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - W32_PTR(w32_VREvent_t_092 *pEvent, pEvent, w32_VREvent_t_092 *); + W32_PTR(w32_VREvent_t_097 *pEvent, pEvent, w32_VREvent_t_097 *); }; -struct IVRSystem_IVRSystem_004_PollNextEventWithPose_params +struct IVRSystem_IVRSystem_005_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - w_VREvent_t_092 *pEvent; + w_VREvent_t_097 *pEvent; TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_004_PollNextEventWithPose_params +struct wow64_IVRSystem_IVRSystem_005_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - W32_PTR(w32_VREvent_t_092 *pEvent, pEvent, w32_VREvent_t_092 *); + W32_PTR(w32_VREvent_t_097 *pEvent, pEvent, w32_VREvent_t_097 *); W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_004_GetEventTypeNameFromEnum_params +struct IVRSystem_IVRSystem_005_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct wow64_IVRSystem_IVRSystem_004_GetEventTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_005_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct IVRSystem_IVRSystem_004_GetHiddenAreaMesh_params +struct IVRSystem_IVRSystem_005_GetHiddenAreaMesh_params { struct u_iface u_iface; w_HiddenAreaMesh_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_004_GetHiddenAreaMesh_params +struct wow64_IVRSystem_IVRSystem_005_GetHiddenAreaMesh_params { struct u_iface u_iface; W32_PTR(w32_HiddenAreaMesh_t *_ret, _ret, w32_HiddenAreaMesh_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_004_GetControllerState_params +struct IVRSystem_IVRSystem_005_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -49473,7 +51129,7 @@ struct IVRSystem_IVRSystem_004_GetControllerState_params w_VRControllerState001_t *pControllerState; }; -struct wow64_IVRSystem_IVRSystem_004_GetControllerState_params +struct wow64_IVRSystem_IVRSystem_005_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -49481,7 +51137,7 @@ struct wow64_IVRSystem_IVRSystem_004_GetControllerState_params W32_PTR(w32_VRControllerState001_t *pControllerState, pControllerState, w32_VRControllerState001_t *); }; -struct IVRSystem_IVRSystem_004_GetControllerStateWithPose_params +struct IVRSystem_IVRSystem_005_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -49491,7 +51147,7 @@ struct IVRSystem_IVRSystem_004_GetControllerStateWithPose_params TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_004_GetControllerStateWithPose_params +struct wow64_IVRSystem_IVRSystem_005_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -49501,7 +51157,7 @@ struct wow64_IVRSystem_IVRSystem_004_GetControllerStateWithPose_params W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_004_TriggerHapticPulse_params +struct IVRSystem_IVRSystem_005_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -49509,7 +51165,7 @@ struct IVRSystem_IVRSystem_004_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct wow64_IVRSystem_IVRSystem_004_TriggerHapticPulse_params +struct wow64_IVRSystem_IVRSystem_005_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -49517,69 +51173,69 @@ struct wow64_IVRSystem_IVRSystem_004_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct IVRSystem_IVRSystem_004_GetButtonIdNameFromEnum_params +struct IVRSystem_IVRSystem_005_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct wow64_IVRSystem_IVRSystem_004_GetButtonIdNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_005_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct IVRSystem_IVRSystem_004_GetControllerAxisTypeNameFromEnum_params +struct IVRSystem_IVRSystem_005_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct wow64_IVRSystem_IVRSystem_004_GetControllerAxisTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_005_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct IVRSystem_IVRSystem_004_CaptureInputFocus_params +struct IVRSystem_IVRSystem_005_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_004_CaptureInputFocus_params +struct wow64_IVRSystem_IVRSystem_005_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_004_ReleaseInputFocus_params +struct IVRSystem_IVRSystem_005_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_004_ReleaseInputFocus_params +struct wow64_IVRSystem_IVRSystem_005_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_004_IsInputFocusCapturedByAnotherProcess_params +struct IVRSystem_IVRSystem_005_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_004_IsInputFocusCapturedByAnotherProcess_params +struct wow64_IVRSystem_IVRSystem_005_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_004_DriverDebugRequest_params +struct IVRSystem_IVRSystem_005_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -49589,7 +51245,7 @@ struct IVRSystem_IVRSystem_004_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct wow64_IVRSystem_IVRSystem_004_DriverDebugRequest_params +struct wow64_IVRSystem_IVRSystem_005_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -49599,7 +51255,7 @@ struct wow64_IVRSystem_IVRSystem_004_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct IVRSystem_IVRSystem_005_GetWindowBounds_params +struct IVRSystem_IVRSystem_006_GetWindowBounds_params { struct u_iface u_iface; int32_t *pnX; @@ -49608,7 +51264,7 @@ struct IVRSystem_IVRSystem_005_GetWindowBounds_params uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_005_GetWindowBounds_params +struct wow64_IVRSystem_IVRSystem_006_GetWindowBounds_params { struct u_iface u_iface; W32_PTR(int32_t *pnX, pnX, int32_t *); @@ -49617,21 +51273,21 @@ struct wow64_IVRSystem_IVRSystem_005_GetWindowBounds_params W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_005_GetRecommendedRenderTargetSize_params +struct IVRSystem_IVRSystem_006_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; uint32_t *pnWidth; uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_005_GetRecommendedRenderTargetSize_params +struct wow64_IVRSystem_IVRSystem_006_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_005_GetEyeOutputViewport_params +struct IVRSystem_IVRSystem_006_GetEyeOutputViewport_params { struct u_iface u_iface; uint32_t eEye; @@ -49641,7 +51297,7 @@ struct IVRSystem_IVRSystem_005_GetEyeOutputViewport_params uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_005_GetEyeOutputViewport_params +struct wow64_IVRSystem_IVRSystem_006_GetEyeOutputViewport_params { struct u_iface u_iface; uint32_t eEye; @@ -49651,7 +51307,7 @@ struct wow64_IVRSystem_IVRSystem_005_GetEyeOutputViewport_params W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_005_GetProjectionMatrix_params +struct IVRSystem_IVRSystem_006_GetProjectionMatrix_params { struct u_iface u_iface; HmdMatrix44_t *_ret; @@ -49661,7 +51317,7 @@ struct IVRSystem_IVRSystem_005_GetProjectionMatrix_params uint32_t eProjType; }; -struct wow64_IVRSystem_IVRSystem_005_GetProjectionMatrix_params +struct wow64_IVRSystem_IVRSystem_006_GetProjectionMatrix_params { struct u_iface u_iface; W32_PTR(HmdMatrix44_t *_ret, _ret, HmdMatrix44_t *); @@ -49671,7 +51327,7 @@ struct wow64_IVRSystem_IVRSystem_005_GetProjectionMatrix_params uint32_t eProjType; }; -struct IVRSystem_IVRSystem_005_GetProjectionRaw_params +struct IVRSystem_IVRSystem_006_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -49681,7 +51337,7 @@ struct IVRSystem_IVRSystem_005_GetProjectionRaw_params float *pfBottom; }; -struct wow64_IVRSystem_IVRSystem_005_GetProjectionRaw_params +struct wow64_IVRSystem_IVRSystem_006_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -49691,7 +51347,7 @@ struct wow64_IVRSystem_IVRSystem_005_GetProjectionRaw_params W32_PTR(float *pfBottom, pfBottom, float *); }; -struct IVRSystem_IVRSystem_005_ComputeDistortion_params +struct IVRSystem_IVRSystem_006_ComputeDistortion_params { struct u_iface u_iface; DistortionCoordinates_t *_ret; @@ -49700,7 +51356,7 @@ struct IVRSystem_IVRSystem_005_ComputeDistortion_params float fV; }; -struct wow64_IVRSystem_IVRSystem_005_ComputeDistortion_params +struct wow64_IVRSystem_IVRSystem_006_ComputeDistortion_params { struct u_iface u_iface; W32_PTR(DistortionCoordinates_t *_ret, _ret, DistortionCoordinates_t *); @@ -49709,21 +51365,21 @@ struct wow64_IVRSystem_IVRSystem_005_ComputeDistortion_params float fV; }; -struct IVRSystem_IVRSystem_005_GetEyeToHeadTransform_params +struct IVRSystem_IVRSystem_006_GetEyeToHeadTransform_params { struct u_iface u_iface; HmdMatrix34_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_005_GetEyeToHeadTransform_params +struct wow64_IVRSystem_IVRSystem_006_GetEyeToHeadTransform_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_005_GetTimeSinceLastVsync_params +struct IVRSystem_IVRSystem_006_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -49731,7 +51387,7 @@ struct IVRSystem_IVRSystem_005_GetTimeSinceLastVsync_params uint64_t *pulFrameCounter; }; -struct wow64_IVRSystem_IVRSystem_005_GetTimeSinceLastVsync_params +struct wow64_IVRSystem_IVRSystem_006_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -49739,47 +51395,47 @@ struct wow64_IVRSystem_IVRSystem_005_GetTimeSinceLastVsync_params W32_PTR(uint64_t *pulFrameCounter, pulFrameCounter, uint64_t *); }; -struct IVRSystem_IVRSystem_005_GetD3D9AdapterIndex_params +struct IVRSystem_IVRSystem_006_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct wow64_IVRSystem_IVRSystem_005_GetD3D9AdapterIndex_params +struct wow64_IVRSystem_IVRSystem_006_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct IVRSystem_IVRSystem_005_GetDXGIOutputInfo_params +struct IVRSystem_IVRSystem_006_GetDXGIOutputInfo_params { struct u_iface u_iface; int32_t *pnAdapterIndex; int32_t *pnAdapterOutputIndex; }; -struct wow64_IVRSystem_IVRSystem_005_GetDXGIOutputInfo_params +struct wow64_IVRSystem_IVRSystem_006_GetDXGIOutputInfo_params { struct u_iface u_iface; W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); W32_PTR(int32_t *pnAdapterOutputIndex, pnAdapterOutputIndex, int32_t *); }; -struct IVRSystem_IVRSystem_005_AttachToWindow_params +struct IVRSystem_IVRSystem_006_AttachToWindow_params { struct u_iface u_iface; int8_t _ret; void *hWnd; }; -struct wow64_IVRSystem_IVRSystem_005_AttachToWindow_params +struct wow64_IVRSystem_IVRSystem_006_AttachToWindow_params { struct u_iface u_iface; int8_t _ret; W32_PTR(void *hWnd, hWnd, void *); }; -struct IVRSystem_IVRSystem_005_GetDeviceToAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_006_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -49788,7 +51444,7 @@ struct IVRSystem_IVRSystem_005_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct wow64_IVRSystem_IVRSystem_005_GetDeviceToAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_006_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -49797,29 +51453,41 @@ struct wow64_IVRSystem_IVRSystem_005_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct IVRSystem_IVRSystem_005_ResetSeatedZeroPose_params +struct IVRSystem_IVRSystem_006_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_005_ResetSeatedZeroPose_params +struct wow64_IVRSystem_IVRSystem_006_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_005_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_006_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_005_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_006_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_005_GetSortedTrackedDeviceIndicesOfClass_params +struct IVRSystem_IVRSystem_006_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +{ + struct u_iface u_iface; + HmdMatrix34_t *_ret; +}; + +struct wow64_IVRSystem_IVRSystem_006_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +{ + struct u_iface u_iface; + W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); +}; + +struct IVRSystem_IVRSystem_006_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -49829,7 +51497,7 @@ struct IVRSystem_IVRSystem_005_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_005_GetSortedTrackedDeviceIndicesOfClass_params +struct wow64_IVRSystem_IVRSystem_006_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -49839,35 +51507,49 @@ struct wow64_IVRSystem_IVRSystem_005_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct IVRSystem_IVRSystem_005_GetTrackedDeviceClass_params +struct IVRSystem_IVRSystem_006_GetTrackedDeviceActivityLevel_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unDeviceId; +}; + +struct wow64_IVRSystem_IVRSystem_006_GetTrackedDeviceActivityLevel_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unDeviceId; +}; + +struct IVRSystem_IVRSystem_006_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_005_GetTrackedDeviceClass_params +struct wow64_IVRSystem_IVRSystem_006_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_005_IsTrackedDeviceConnected_params +struct IVRSystem_IVRSystem_006_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_005_IsTrackedDeviceConnected_params +struct wow64_IVRSystem_IVRSystem_006_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_005_GetBoolTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_006_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -49876,7 +51558,7 @@ struct IVRSystem_IVRSystem_005_GetBoolTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_005_GetBoolTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_006_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -49885,7 +51567,7 @@ struct wow64_IVRSystem_IVRSystem_005_GetBoolTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_005_GetFloatTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_006_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -49894,7 +51576,7 @@ struct IVRSystem_IVRSystem_005_GetFloatTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_005_GetFloatTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_006_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -49903,7 +51585,7 @@ struct wow64_IVRSystem_IVRSystem_005_GetFloatTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_005_GetInt32TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_006_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -49912,7 +51594,7 @@ struct IVRSystem_IVRSystem_005_GetInt32TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_005_GetInt32TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_006_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -49921,7 +51603,7 @@ struct wow64_IVRSystem_IVRSystem_005_GetInt32TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_005_GetUint64TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_006_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -49930,7 +51612,7 @@ struct IVRSystem_IVRSystem_005_GetUint64TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_005_GetUint64TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_006_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -49939,7 +51621,7 @@ struct wow64_IVRSystem_IVRSystem_005_GetUint64TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_005_GetMatrix34TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_006_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; HmdMatrix34_t *_ret; @@ -49948,7 +51630,7 @@ struct IVRSystem_IVRSystem_005_GetMatrix34TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_005_GetMatrix34TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_006_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); @@ -49957,7 +51639,7 @@ struct wow64_IVRSystem_IVRSystem_005_GetMatrix34TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_005_GetStringTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_006_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -49968,7 +51650,7 @@ struct IVRSystem_IVRSystem_005_GetStringTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_005_GetStringTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_006_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -49979,81 +51661,81 @@ struct wow64_IVRSystem_IVRSystem_005_GetStringTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_005_GetPropErrorNameFromEnum_params +struct IVRSystem_IVRSystem_006_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVRSystem_IVRSystem_005_GetPropErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_006_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVRSystem_IVRSystem_005_PollNextEvent_params +struct IVRSystem_IVRSystem_006_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - w_VREvent_t_097 *pEvent; + w_VREvent_t_0910 *pEvent; }; -struct wow64_IVRSystem_IVRSystem_005_PollNextEvent_params +struct wow64_IVRSystem_IVRSystem_006_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - W32_PTR(w32_VREvent_t_097 *pEvent, pEvent, w32_VREvent_t_097 *); + W32_PTR(w32_VREvent_t_0910 *pEvent, pEvent, w32_VREvent_t_0910 *); }; -struct IVRSystem_IVRSystem_005_PollNextEventWithPose_params +struct IVRSystem_IVRSystem_006_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - w_VREvent_t_097 *pEvent; + w_VREvent_t_0910 *pEvent; TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_005_PollNextEventWithPose_params +struct wow64_IVRSystem_IVRSystem_006_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - W32_PTR(w32_VREvent_t_097 *pEvent, pEvent, w32_VREvent_t_097 *); + W32_PTR(w32_VREvent_t_0910 *pEvent, pEvent, w32_VREvent_t_0910 *); W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_005_GetEventTypeNameFromEnum_params +struct IVRSystem_IVRSystem_006_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct wow64_IVRSystem_IVRSystem_005_GetEventTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_006_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct IVRSystem_IVRSystem_005_GetHiddenAreaMesh_params +struct IVRSystem_IVRSystem_006_GetHiddenAreaMesh_params { struct u_iface u_iface; w_HiddenAreaMesh_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_005_GetHiddenAreaMesh_params +struct wow64_IVRSystem_IVRSystem_006_GetHiddenAreaMesh_params { struct u_iface u_iface; W32_PTR(w32_HiddenAreaMesh_t *_ret, _ret, w32_HiddenAreaMesh_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_005_GetControllerState_params +struct IVRSystem_IVRSystem_006_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -50061,7 +51743,7 @@ struct IVRSystem_IVRSystem_005_GetControllerState_params w_VRControllerState001_t *pControllerState; }; -struct wow64_IVRSystem_IVRSystem_005_GetControllerState_params +struct wow64_IVRSystem_IVRSystem_006_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -50069,7 +51751,7 @@ struct wow64_IVRSystem_IVRSystem_005_GetControllerState_params W32_PTR(w32_VRControllerState001_t *pControllerState, pControllerState, w32_VRControllerState001_t *); }; -struct IVRSystem_IVRSystem_005_GetControllerStateWithPose_params +struct IVRSystem_IVRSystem_006_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -50079,7 +51761,7 @@ struct IVRSystem_IVRSystem_005_GetControllerStateWithPose_params TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_005_GetControllerStateWithPose_params +struct wow64_IVRSystem_IVRSystem_006_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -50089,7 +51771,7 @@ struct wow64_IVRSystem_IVRSystem_005_GetControllerStateWithPose_params W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_005_TriggerHapticPulse_params +struct IVRSystem_IVRSystem_006_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -50097,7 +51779,7 @@ struct IVRSystem_IVRSystem_005_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct wow64_IVRSystem_IVRSystem_005_TriggerHapticPulse_params +struct wow64_IVRSystem_IVRSystem_006_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -50105,69 +51787,69 @@ struct wow64_IVRSystem_IVRSystem_005_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct IVRSystem_IVRSystem_005_GetButtonIdNameFromEnum_params +struct IVRSystem_IVRSystem_006_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct wow64_IVRSystem_IVRSystem_005_GetButtonIdNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_006_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct IVRSystem_IVRSystem_005_GetControllerAxisTypeNameFromEnum_params +struct IVRSystem_IVRSystem_006_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct wow64_IVRSystem_IVRSystem_005_GetControllerAxisTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_006_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct IVRSystem_IVRSystem_005_CaptureInputFocus_params +struct IVRSystem_IVRSystem_006_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_005_CaptureInputFocus_params +struct wow64_IVRSystem_IVRSystem_006_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_005_ReleaseInputFocus_params +struct IVRSystem_IVRSystem_006_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_005_ReleaseInputFocus_params +struct wow64_IVRSystem_IVRSystem_006_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_005_IsInputFocusCapturedByAnotherProcess_params +struct IVRSystem_IVRSystem_006_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_005_IsInputFocusCapturedByAnotherProcess_params +struct wow64_IVRSystem_IVRSystem_006_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_005_DriverDebugRequest_params +struct IVRSystem_IVRSystem_006_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -50177,7 +51859,7 @@ struct IVRSystem_IVRSystem_005_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct wow64_IVRSystem_IVRSystem_005_DriverDebugRequest_params +struct wow64_IVRSystem_IVRSystem_006_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -50187,7 +51869,47 @@ struct wow64_IVRSystem_IVRSystem_005_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct IVRSystem_IVRSystem_006_GetWindowBounds_params +struct IVRSystem_IVRSystem_006_PerformFirmwareUpdate_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unDeviceIndex; +}; + +struct wow64_IVRSystem_IVRSystem_006_PerformFirmwareUpdate_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t unDeviceIndex; +}; + +struct IVRSystem_IVRSystem_006_IsDisplayOnDesktop_params +{ + struct u_iface u_iface; + int8_t _ret; +}; + +struct wow64_IVRSystem_IVRSystem_006_IsDisplayOnDesktop_params +{ + struct u_iface u_iface; + int8_t _ret; +}; + +struct IVRSystem_IVRSystem_006_SetDisplayVisibility_params +{ + struct u_iface u_iface; + int8_t _ret; + int8_t bIsVisibleOnDesktop; +}; + +struct wow64_IVRSystem_IVRSystem_006_SetDisplayVisibility_params +{ + struct u_iface u_iface; + int8_t _ret; + int8_t bIsVisibleOnDesktop; +}; + +struct IVRSystem_IVRSystem_007_GetWindowBounds_params { struct u_iface u_iface; int32_t *pnX; @@ -50196,7 +51918,7 @@ struct IVRSystem_IVRSystem_006_GetWindowBounds_params uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_006_GetWindowBounds_params +struct wow64_IVRSystem_IVRSystem_007_GetWindowBounds_params { struct u_iface u_iface; W32_PTR(int32_t *pnX, pnX, int32_t *); @@ -50205,21 +51927,21 @@ struct wow64_IVRSystem_IVRSystem_006_GetWindowBounds_params W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_006_GetRecommendedRenderTargetSize_params +struct IVRSystem_IVRSystem_007_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; uint32_t *pnWidth; uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_006_GetRecommendedRenderTargetSize_params +struct wow64_IVRSystem_IVRSystem_007_GetRecommendedRenderTargetSize_params { struct u_iface u_iface; W32_PTR(uint32_t *pnWidth, pnWidth, uint32_t *); W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_006_GetEyeOutputViewport_params +struct IVRSystem_IVRSystem_007_GetEyeOutputViewport_params { struct u_iface u_iface; uint32_t eEye; @@ -50229,7 +51951,7 @@ struct IVRSystem_IVRSystem_006_GetEyeOutputViewport_params uint32_t *pnHeight; }; -struct wow64_IVRSystem_IVRSystem_006_GetEyeOutputViewport_params +struct wow64_IVRSystem_IVRSystem_007_GetEyeOutputViewport_params { struct u_iface u_iface; uint32_t eEye; @@ -50239,7 +51961,7 @@ struct wow64_IVRSystem_IVRSystem_006_GetEyeOutputViewport_params W32_PTR(uint32_t *pnHeight, pnHeight, uint32_t *); }; -struct IVRSystem_IVRSystem_006_GetProjectionMatrix_params +struct IVRSystem_IVRSystem_007_GetProjectionMatrix_params { struct u_iface u_iface; HmdMatrix44_t *_ret; @@ -50249,7 +51971,7 @@ struct IVRSystem_IVRSystem_006_GetProjectionMatrix_params uint32_t eProjType; }; -struct wow64_IVRSystem_IVRSystem_006_GetProjectionMatrix_params +struct wow64_IVRSystem_IVRSystem_007_GetProjectionMatrix_params { struct u_iface u_iface; W32_PTR(HmdMatrix44_t *_ret, _ret, HmdMatrix44_t *); @@ -50259,7 +51981,7 @@ struct wow64_IVRSystem_IVRSystem_006_GetProjectionMatrix_params uint32_t eProjType; }; -struct IVRSystem_IVRSystem_006_GetProjectionRaw_params +struct IVRSystem_IVRSystem_007_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -50269,7 +51991,7 @@ struct IVRSystem_IVRSystem_006_GetProjectionRaw_params float *pfBottom; }; -struct wow64_IVRSystem_IVRSystem_006_GetProjectionRaw_params +struct wow64_IVRSystem_IVRSystem_007_GetProjectionRaw_params { struct u_iface u_iface; uint32_t eEye; @@ -50279,7 +52001,7 @@ struct wow64_IVRSystem_IVRSystem_006_GetProjectionRaw_params W32_PTR(float *pfBottom, pfBottom, float *); }; -struct IVRSystem_IVRSystem_006_ComputeDistortion_params +struct IVRSystem_IVRSystem_007_ComputeDistortion_params { struct u_iface u_iface; DistortionCoordinates_t *_ret; @@ -50288,7 +52010,7 @@ struct IVRSystem_IVRSystem_006_ComputeDistortion_params float fV; }; -struct wow64_IVRSystem_IVRSystem_006_ComputeDistortion_params +struct wow64_IVRSystem_IVRSystem_007_ComputeDistortion_params { struct u_iface u_iface; W32_PTR(DistortionCoordinates_t *_ret, _ret, DistortionCoordinates_t *); @@ -50297,21 +52019,21 @@ struct wow64_IVRSystem_IVRSystem_006_ComputeDistortion_params float fV; }; -struct IVRSystem_IVRSystem_006_GetEyeToHeadTransform_params +struct IVRSystem_IVRSystem_007_GetEyeToHeadTransform_params { struct u_iface u_iface; HmdMatrix34_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_006_GetEyeToHeadTransform_params +struct wow64_IVRSystem_IVRSystem_007_GetEyeToHeadTransform_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_006_GetTimeSinceLastVsync_params +struct IVRSystem_IVRSystem_007_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -50319,7 +52041,7 @@ struct IVRSystem_IVRSystem_006_GetTimeSinceLastVsync_params uint64_t *pulFrameCounter; }; -struct wow64_IVRSystem_IVRSystem_006_GetTimeSinceLastVsync_params +struct wow64_IVRSystem_IVRSystem_007_GetTimeSinceLastVsync_params { struct u_iface u_iface; int8_t _ret; @@ -50327,47 +52049,47 @@ struct wow64_IVRSystem_IVRSystem_006_GetTimeSinceLastVsync_params W32_PTR(uint64_t *pulFrameCounter, pulFrameCounter, uint64_t *); }; -struct IVRSystem_IVRSystem_006_GetD3D9AdapterIndex_params +struct IVRSystem_IVRSystem_007_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct wow64_IVRSystem_IVRSystem_006_GetD3D9AdapterIndex_params +struct wow64_IVRSystem_IVRSystem_007_GetD3D9AdapterIndex_params { struct u_iface u_iface; int32_t _ret; }; -struct IVRSystem_IVRSystem_006_GetDXGIOutputInfo_params +struct IVRSystem_IVRSystem_007_GetDXGIOutputInfo_params { struct u_iface u_iface; int32_t *pnAdapterIndex; int32_t *pnAdapterOutputIndex; }; -struct wow64_IVRSystem_IVRSystem_006_GetDXGIOutputInfo_params +struct wow64_IVRSystem_IVRSystem_007_GetDXGIOutputInfo_params { struct u_iface u_iface; W32_PTR(int32_t *pnAdapterIndex, pnAdapterIndex, int32_t *); W32_PTR(int32_t *pnAdapterOutputIndex, pnAdapterOutputIndex, int32_t *); }; -struct IVRSystem_IVRSystem_006_AttachToWindow_params +struct IVRSystem_IVRSystem_007_AttachToWindow_params { struct u_iface u_iface; int8_t _ret; void *hWnd; }; -struct wow64_IVRSystem_IVRSystem_006_AttachToWindow_params +struct wow64_IVRSystem_IVRSystem_007_AttachToWindow_params { struct u_iface u_iface; int8_t _ret; W32_PTR(void *hWnd, hWnd, void *); }; -struct IVRSystem_IVRSystem_006_GetDeviceToAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_007_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -50376,7 +52098,7 @@ struct IVRSystem_IVRSystem_006_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct wow64_IVRSystem_IVRSystem_006_GetDeviceToAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_007_GetDeviceToAbsoluteTrackingPose_params { struct u_iface u_iface; uint32_t eOrigin; @@ -50385,41 +52107,41 @@ struct wow64_IVRSystem_IVRSystem_006_GetDeviceToAbsoluteTrackingPose_params uint32_t unTrackedDevicePoseArrayCount; }; -struct IVRSystem_IVRSystem_006_ResetSeatedZeroPose_params +struct IVRSystem_IVRSystem_007_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_006_ResetSeatedZeroPose_params +struct wow64_IVRSystem_IVRSystem_007_ResetSeatedZeroPose_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_006_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_007_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_006_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_007_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_006_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct IVRSystem_IVRSystem_007_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; HmdMatrix34_t *_ret; }; -struct wow64_IVRSystem_IVRSystem_006_GetRawZeroPoseToStandingAbsoluteTrackingPose_params +struct wow64_IVRSystem_IVRSystem_007_GetRawZeroPoseToStandingAbsoluteTrackingPose_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); }; -struct IVRSystem_IVRSystem_006_GetSortedTrackedDeviceIndicesOfClass_params +struct IVRSystem_IVRSystem_007_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -50429,7 +52151,7 @@ struct IVRSystem_IVRSystem_006_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_006_GetSortedTrackedDeviceIndicesOfClass_params +struct wow64_IVRSystem_IVRSystem_007_GetSortedTrackedDeviceIndicesOfClass_params { struct u_iface u_iface; uint32_t _ret; @@ -50439,49 +52161,65 @@ struct wow64_IVRSystem_IVRSystem_006_GetSortedTrackedDeviceIndicesOfClass_params uint32_t unRelativeToTrackedDeviceIndex; }; -struct IVRSystem_IVRSystem_006_GetTrackedDeviceActivityLevel_params +struct IVRSystem_IVRSystem_007_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct wow64_IVRSystem_IVRSystem_006_GetTrackedDeviceActivityLevel_params +struct wow64_IVRSystem_IVRSystem_007_GetTrackedDeviceActivityLevel_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceId; }; -struct IVRSystem_IVRSystem_006_GetTrackedDeviceClass_params +struct IVRSystem_IVRSystem_007_ApplyTransform_params +{ + struct u_iface u_iface; + TrackedDevicePose_t *pOutputPose; + const TrackedDevicePose_t *trackedDevicePose; + const HmdMatrix34_t *transform; +}; + +struct wow64_IVRSystem_IVRSystem_007_ApplyTransform_params +{ + struct u_iface u_iface; + W32_PTR(TrackedDevicePose_t *pOutputPose, pOutputPose, TrackedDevicePose_t *); + W32_PTR(const TrackedDevicePose_t *trackedDevicePose, trackedDevicePose, const TrackedDevicePose_t *); + W32_PTR(const HmdMatrix34_t *transform, transform, const HmdMatrix34_t *); +}; + +struct IVRSystem_IVRSystem_007_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_006_GetTrackedDeviceClass_params +struct wow64_IVRSystem_IVRSystem_007_GetTrackedDeviceClass_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_006_IsTrackedDeviceConnected_params +struct IVRSystem_IVRSystem_007_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_006_IsTrackedDeviceConnected_params +struct wow64_IVRSystem_IVRSystem_007_IsTrackedDeviceConnected_params { struct u_iface u_iface; int8_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_006_GetBoolTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_007_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -50490,7 +52228,7 @@ struct IVRSystem_IVRSystem_006_GetBoolTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_006_GetBoolTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_007_GetBoolTrackedDeviceProperty_params { struct u_iface u_iface; int8_t _ret; @@ -50499,7 +52237,7 @@ struct wow64_IVRSystem_IVRSystem_006_GetBoolTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_006_GetFloatTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_007_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -50508,7 +52246,7 @@ struct IVRSystem_IVRSystem_006_GetFloatTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_006_GetFloatTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_007_GetFloatTrackedDeviceProperty_params { struct u_iface u_iface; float _ret; @@ -50517,7 +52255,7 @@ struct wow64_IVRSystem_IVRSystem_006_GetFloatTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_006_GetInt32TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_007_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -50526,7 +52264,7 @@ struct IVRSystem_IVRSystem_006_GetInt32TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_006_GetInt32TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_007_GetInt32TrackedDeviceProperty_params { struct u_iface u_iface; int32_t _ret; @@ -50535,7 +52273,7 @@ struct wow64_IVRSystem_IVRSystem_006_GetInt32TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_006_GetUint64TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_007_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -50544,7 +52282,7 @@ struct IVRSystem_IVRSystem_006_GetUint64TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_006_GetUint64TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_007_GetUint64TrackedDeviceProperty_params { struct u_iface u_iface; uint64_t _ret; @@ -50553,7 +52291,7 @@ struct wow64_IVRSystem_IVRSystem_006_GetUint64TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_006_GetMatrix34TrackedDeviceProperty_params +struct IVRSystem_IVRSystem_007_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; HmdMatrix34_t *_ret; @@ -50562,7 +52300,7 @@ struct IVRSystem_IVRSystem_006_GetMatrix34TrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_006_GetMatrix34TrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_007_GetMatrix34TrackedDeviceProperty_params { struct u_iface u_iface; W32_PTR(HmdMatrix34_t *_ret, _ret, HmdMatrix34_t *); @@ -50571,7 +52309,7 @@ struct wow64_IVRSystem_IVRSystem_006_GetMatrix34TrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_006_GetStringTrackedDeviceProperty_params +struct IVRSystem_IVRSystem_007_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -50582,7 +52320,7 @@ struct IVRSystem_IVRSystem_006_GetStringTrackedDeviceProperty_params uint32_t *pError; }; -struct wow64_IVRSystem_IVRSystem_006_GetStringTrackedDeviceProperty_params +struct wow64_IVRSystem_IVRSystem_007_GetStringTrackedDeviceProperty_params { struct u_iface u_iface; uint32_t _ret; @@ -50593,81 +52331,81 @@ struct wow64_IVRSystem_IVRSystem_006_GetStringTrackedDeviceProperty_params W32_PTR(uint32_t *pError, pError, uint32_t *); }; -struct IVRSystem_IVRSystem_006_GetPropErrorNameFromEnum_params +struct IVRSystem_IVRSystem_007_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct wow64_IVRSystem_IVRSystem_006_GetPropErrorNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_007_GetPropErrorNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t error; }; -struct IVRSystem_IVRSystem_006_PollNextEvent_params +struct IVRSystem_IVRSystem_007_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - w_VREvent_t_0910 *pEvent; + w_VREvent_t_0911 *pEvent; }; -struct wow64_IVRSystem_IVRSystem_006_PollNextEvent_params +struct wow64_IVRSystem_IVRSystem_007_PollNextEvent_params { struct u_iface u_iface; int8_t _ret; - W32_PTR(w32_VREvent_t_0910 *pEvent, pEvent, w32_VREvent_t_0910 *); + W32_PTR(w32_VREvent_t_0911 *pEvent, pEvent, w32_VREvent_t_0911 *); }; -struct IVRSystem_IVRSystem_006_PollNextEventWithPose_params +struct IVRSystem_IVRSystem_007_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - w_VREvent_t_0910 *pEvent; + w_VREvent_t_0911 *pEvent; TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_006_PollNextEventWithPose_params +struct wow64_IVRSystem_IVRSystem_007_PollNextEventWithPose_params { struct u_iface u_iface; int8_t _ret; uint32_t eOrigin; - W32_PTR(w32_VREvent_t_0910 *pEvent, pEvent, w32_VREvent_t_0910 *); + W32_PTR(w32_VREvent_t_0911 *pEvent, pEvent, w32_VREvent_t_0911 *); W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_006_GetEventTypeNameFromEnum_params +struct IVRSystem_IVRSystem_007_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct wow64_IVRSystem_IVRSystem_006_GetEventTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_007_GetEventTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eType; }; -struct IVRSystem_IVRSystem_006_GetHiddenAreaMesh_params +struct IVRSystem_IVRSystem_007_GetHiddenAreaMesh_params { struct u_iface u_iface; w_HiddenAreaMesh_t *_ret; uint32_t eEye; }; -struct wow64_IVRSystem_IVRSystem_006_GetHiddenAreaMesh_params +struct wow64_IVRSystem_IVRSystem_007_GetHiddenAreaMesh_params { struct u_iface u_iface; W32_PTR(w32_HiddenAreaMesh_t *_ret, _ret, w32_HiddenAreaMesh_t *); uint32_t eEye; }; -struct IVRSystem_IVRSystem_006_GetControllerState_params +struct IVRSystem_IVRSystem_007_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -50675,7 +52413,7 @@ struct IVRSystem_IVRSystem_006_GetControllerState_params w_VRControllerState001_t *pControllerState; }; -struct wow64_IVRSystem_IVRSystem_006_GetControllerState_params +struct wow64_IVRSystem_IVRSystem_007_GetControllerState_params { struct u_iface u_iface; int8_t _ret; @@ -50683,7 +52421,7 @@ struct wow64_IVRSystem_IVRSystem_006_GetControllerState_params W32_PTR(w32_VRControllerState001_t *pControllerState, pControllerState, w32_VRControllerState001_t *); }; -struct IVRSystem_IVRSystem_006_GetControllerStateWithPose_params +struct IVRSystem_IVRSystem_007_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -50693,7 +52431,7 @@ struct IVRSystem_IVRSystem_006_GetControllerStateWithPose_params TrackedDevicePose_t *pTrackedDevicePose; }; -struct wow64_IVRSystem_IVRSystem_006_GetControllerStateWithPose_params +struct wow64_IVRSystem_IVRSystem_007_GetControllerStateWithPose_params { struct u_iface u_iface; int8_t _ret; @@ -50703,7 +52441,7 @@ struct wow64_IVRSystem_IVRSystem_006_GetControllerStateWithPose_params W32_PTR(TrackedDevicePose_t *pTrackedDevicePose, pTrackedDevicePose, TrackedDevicePose_t *); }; -struct IVRSystem_IVRSystem_006_TriggerHapticPulse_params +struct IVRSystem_IVRSystem_007_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -50711,7 +52449,7 @@ struct IVRSystem_IVRSystem_006_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct wow64_IVRSystem_IVRSystem_006_TriggerHapticPulse_params +struct wow64_IVRSystem_IVRSystem_007_TriggerHapticPulse_params { struct u_iface u_iface; uint32_t unControllerDeviceIndex; @@ -50719,69 +52457,69 @@ struct wow64_IVRSystem_IVRSystem_006_TriggerHapticPulse_params uint16_t usDurationMicroSec; }; -struct IVRSystem_IVRSystem_006_GetButtonIdNameFromEnum_params +struct IVRSystem_IVRSystem_007_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct wow64_IVRSystem_IVRSystem_006_GetButtonIdNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_007_GetButtonIdNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eButtonId; }; -struct IVRSystem_IVRSystem_006_GetControllerAxisTypeNameFromEnum_params +struct IVRSystem_IVRSystem_007_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct wow64_IVRSystem_IVRSystem_006_GetControllerAxisTypeNameFromEnum_params +struct wow64_IVRSystem_IVRSystem_007_GetControllerAxisTypeNameFromEnum_params { struct u_iface u_iface; struct u_buffer _ret; uint32_t eAxisType; }; -struct IVRSystem_IVRSystem_006_CaptureInputFocus_params +struct IVRSystem_IVRSystem_007_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_006_CaptureInputFocus_params +struct wow64_IVRSystem_IVRSystem_007_CaptureInputFocus_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_006_ReleaseInputFocus_params +struct IVRSystem_IVRSystem_007_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct wow64_IVRSystem_IVRSystem_006_ReleaseInputFocus_params +struct wow64_IVRSystem_IVRSystem_007_ReleaseInputFocus_params { struct u_iface u_iface; }; -struct IVRSystem_IVRSystem_006_IsInputFocusCapturedByAnotherProcess_params +struct IVRSystem_IVRSystem_007_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_006_IsInputFocusCapturedByAnotherProcess_params +struct wow64_IVRSystem_IVRSystem_007_IsInputFocusCapturedByAnotherProcess_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_006_DriverDebugRequest_params +struct IVRSystem_IVRSystem_007_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -50791,7 +52529,7 @@ struct IVRSystem_IVRSystem_006_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct wow64_IVRSystem_IVRSystem_006_DriverDebugRequest_params +struct wow64_IVRSystem_IVRSystem_007_DriverDebugRequest_params { struct u_iface u_iface; uint32_t _ret; @@ -50801,40 +52539,40 @@ struct wow64_IVRSystem_IVRSystem_006_DriverDebugRequest_params uint32_t unResponseBufferSize; }; -struct IVRSystem_IVRSystem_006_PerformFirmwareUpdate_params +struct IVRSystem_IVRSystem_007_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct wow64_IVRSystem_IVRSystem_006_PerformFirmwareUpdate_params +struct wow64_IVRSystem_IVRSystem_007_PerformFirmwareUpdate_params { struct u_iface u_iface; uint32_t _ret; uint32_t unDeviceIndex; }; -struct IVRSystem_IVRSystem_006_IsDisplayOnDesktop_params +struct IVRSystem_IVRSystem_007_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct wow64_IVRSystem_IVRSystem_006_IsDisplayOnDesktop_params +struct wow64_IVRSystem_IVRSystem_007_IsDisplayOnDesktop_params { struct u_iface u_iface; int8_t _ret; }; -struct IVRSystem_IVRSystem_006_SetDisplayVisibility_params +struct IVRSystem_IVRSystem_007_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; int8_t bIsVisibleOnDesktop; }; -struct wow64_IVRSystem_IVRSystem_006_SetDisplayVisibility_params +struct wow64_IVRSystem_IVRSystem_007_SetDisplayVisibility_params { struct u_iface u_iface; int8_t _ret; @@ -61658,6 +63396,8 @@ enum unix_funcs unix_IVRCompositor_IVRCompositor_008_CompositorDumpImages, unix_IVRCompositor_IVRCompositor_008_GetFrameTimeRemaining, unix_IVRCompositor_IVRCompositor_008_GetLastFrameRenderer, + unix_IVRCompositor_IVRCompositor_008_GetLastPoses, + unix_IVRCompositor_IVRCompositor_008_PostPresentHandoff, unix_IVRCompositor_IVRCompositor_009_SetTrackingSpace, unix_IVRCompositor_IVRCompositor_009_GetTrackingSpace, unix_IVRCompositor_IVRCompositor_009_WaitGetPoses, @@ -62825,6 +64565,63 @@ enum unix_funcs unix_IVROverlay_IVROverlay_005_ShowKeyboard, unix_IVROverlay_IVROverlay_005_GetKeyboardText, unix_IVROverlay_IVROverlay_005_HideKeyboard, + unix_IVROverlay_IVROverlay_006_FindOverlay, + unix_IVROverlay_IVROverlay_006_CreateOverlay, + unix_IVROverlay_IVROverlay_006_DestroyOverlay, + unix_IVROverlay_IVROverlay_006_SetHighQualityOverlay, + unix_IVROverlay_IVROverlay_006_GetHighQualityOverlay, + unix_IVROverlay_IVROverlay_006_GetOverlayKey, + unix_IVROverlay_IVROverlay_006_GetOverlayName, + unix_IVROverlay_IVROverlay_006_GetOverlayImageData, + unix_IVROverlay_IVROverlay_006_GetOverlayErrorNameFromEnum, + unix_IVROverlay_IVROverlay_006_SetOverlayFlag, + unix_IVROverlay_IVROverlay_006_GetOverlayFlag, + unix_IVROverlay_IVROverlay_006_SetOverlayColor, + unix_IVROverlay_IVROverlay_006_GetOverlayColor, + unix_IVROverlay_IVROverlay_006_SetOverlayAlpha, + unix_IVROverlay_IVROverlay_006_GetOverlayAlpha, + unix_IVROverlay_IVROverlay_006_SetOverlayGamma, + unix_IVROverlay_IVROverlay_006_GetOverlayGamma, + unix_IVROverlay_IVROverlay_006_SetOverlayWidthInMeters, + unix_IVROverlay_IVROverlay_006_GetOverlayWidthInMeters, + unix_IVROverlay_IVROverlay_006_SetOverlayAutoCurveDistanceRangeInMeters, + unix_IVROverlay_IVROverlay_006_GetOverlayAutoCurveDistanceRangeInMeters, + unix_IVROverlay_IVROverlay_006_SetOverlayTextureBounds, + unix_IVROverlay_IVROverlay_006_GetOverlayTextureBounds, + unix_IVROverlay_IVROverlay_006_GetOverlayTransformType, + unix_IVROverlay_IVROverlay_006_SetOverlayTransformAbsolute, + unix_IVROverlay_IVROverlay_006_GetOverlayTransformAbsolute, + unix_IVROverlay_IVROverlay_006_SetOverlayTransformTrackedDeviceRelative, + unix_IVROverlay_IVROverlay_006_GetOverlayTransformTrackedDeviceRelative, + unix_IVROverlay_IVROverlay_006_ShowOverlay, + unix_IVROverlay_IVROverlay_006_HideOverlay, + unix_IVROverlay_IVROverlay_006_IsOverlayVisible, + unix_IVROverlay_IVROverlay_006_PollNextOverlayEvent, + unix_IVROverlay_IVROverlay_006_GetOverlayInputMethod, + unix_IVROverlay_IVROverlay_006_SetOverlayInputMethod, + unix_IVROverlay_IVROverlay_006_GetOverlayMouseScale, + unix_IVROverlay_IVROverlay_006_SetOverlayMouseScale, + unix_IVROverlay_IVROverlay_006_ComputeOverlayIntersection, + unix_IVROverlay_IVROverlay_006_HandleControllerOverlayInteractionAsMouse, + unix_IVROverlay_IVROverlay_006_IsHoverTargetOverlay, + unix_IVROverlay_IVROverlay_006_GetGamepadFocusOverlay, + unix_IVROverlay_IVROverlay_006_SetGamepadFocusOverlay, + unix_IVROverlay_IVROverlay_006_SetOverlayNeighbor, + unix_IVROverlay_IVROverlay_006_MoveGamepadFocusToNeighbor, + unix_IVROverlay_IVROverlay_006_SetOverlayTexture, + unix_IVROverlay_IVROverlay_006_ClearOverlayTexture, + unix_IVROverlay_IVROverlay_006_SetOverlayRaw, + unix_IVROverlay_IVROverlay_006_SetOverlayFromFile, + unix_IVROverlay_IVROverlay_006_CreateDashboardOverlay, + unix_IVROverlay_IVROverlay_006_IsDashboardVisible, + unix_IVROverlay_IVROverlay_006_IsActiveDashboardOverlay, + unix_IVROverlay_IVROverlay_006_SetDashboardOverlaySceneProcess, + unix_IVROverlay_IVROverlay_006_GetDashboardOverlaySceneProcess, + unix_IVROverlay_IVROverlay_006_ShowDashboard, + unix_IVROverlay_IVROverlay_006_ShowKeyboard, + unix_IVROverlay_IVROverlay_006_ShowKeyboardForOverlay, + unix_IVROverlay_IVROverlay_006_GetKeyboardText, + unix_IVROverlay_IVROverlay_006_HideKeyboard, unix_IVROverlay_IVROverlay_007_FindOverlay, unix_IVROverlay_IVROverlay_007_CreateOverlay, unix_IVROverlay_IVROverlay_007_DestroyOverlay, @@ -64259,6 +66056,11 @@ enum unix_funcs unix_IVRRenderModels_IVRRenderModels_001_FreeRenderModel, unix_IVRRenderModels_IVRRenderModels_001_GetRenderModelName, unix_IVRRenderModels_IVRRenderModels_001_GetRenderModelCount, + unix_IVRRenderModels_IVRRenderModels_001_GetComponentCount, + unix_IVRRenderModels_IVRRenderModels_001_GetComponentName, + unix_IVRRenderModels_IVRRenderModels_001_GetComponentButtonMask, + unix_IVRRenderModels_IVRRenderModels_001_GetComponentRenderModelName, + unix_IVRRenderModels_IVRRenderModels_001_GetComponentState, unix_IVRRenderModels_IVRRenderModels_002_LoadRenderModel, unix_IVRRenderModels_IVRRenderModels_002_FreeRenderModel, unix_IVRRenderModels_IVRRenderModels_002_LoadTexture, @@ -64519,6 +66321,49 @@ enum unix_funcs unix_IVRSystem_IVRSystem_006_PerformFirmwareUpdate, unix_IVRSystem_IVRSystem_006_IsDisplayOnDesktop, unix_IVRSystem_IVRSystem_006_SetDisplayVisibility, + unix_IVRSystem_IVRSystem_007_GetWindowBounds, + unix_IVRSystem_IVRSystem_007_GetRecommendedRenderTargetSize, + unix_IVRSystem_IVRSystem_007_GetEyeOutputViewport, + unix_IVRSystem_IVRSystem_007_GetProjectionMatrix, + unix_IVRSystem_IVRSystem_007_GetProjectionRaw, + unix_IVRSystem_IVRSystem_007_ComputeDistortion, + unix_IVRSystem_IVRSystem_007_GetEyeToHeadTransform, + unix_IVRSystem_IVRSystem_007_GetTimeSinceLastVsync, + unix_IVRSystem_IVRSystem_007_GetD3D9AdapterIndex, + unix_IVRSystem_IVRSystem_007_GetDXGIOutputInfo, + unix_IVRSystem_IVRSystem_007_AttachToWindow, + unix_IVRSystem_IVRSystem_007_GetDeviceToAbsoluteTrackingPose, + unix_IVRSystem_IVRSystem_007_ResetSeatedZeroPose, + unix_IVRSystem_IVRSystem_007_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, + unix_IVRSystem_IVRSystem_007_GetRawZeroPoseToStandingAbsoluteTrackingPose, + unix_IVRSystem_IVRSystem_007_GetSortedTrackedDeviceIndicesOfClass, + unix_IVRSystem_IVRSystem_007_GetTrackedDeviceActivityLevel, + unix_IVRSystem_IVRSystem_007_ApplyTransform, + unix_IVRSystem_IVRSystem_007_GetTrackedDeviceClass, + unix_IVRSystem_IVRSystem_007_IsTrackedDeviceConnected, + unix_IVRSystem_IVRSystem_007_GetBoolTrackedDeviceProperty, + unix_IVRSystem_IVRSystem_007_GetFloatTrackedDeviceProperty, + unix_IVRSystem_IVRSystem_007_GetInt32TrackedDeviceProperty, + unix_IVRSystem_IVRSystem_007_GetUint64TrackedDeviceProperty, + unix_IVRSystem_IVRSystem_007_GetMatrix34TrackedDeviceProperty, + unix_IVRSystem_IVRSystem_007_GetStringTrackedDeviceProperty, + unix_IVRSystem_IVRSystem_007_GetPropErrorNameFromEnum, + unix_IVRSystem_IVRSystem_007_PollNextEvent, + unix_IVRSystem_IVRSystem_007_PollNextEventWithPose, + unix_IVRSystem_IVRSystem_007_GetEventTypeNameFromEnum, + unix_IVRSystem_IVRSystem_007_GetHiddenAreaMesh, + unix_IVRSystem_IVRSystem_007_GetControllerState, + unix_IVRSystem_IVRSystem_007_GetControllerStateWithPose, + unix_IVRSystem_IVRSystem_007_TriggerHapticPulse, + unix_IVRSystem_IVRSystem_007_GetButtonIdNameFromEnum, + unix_IVRSystem_IVRSystem_007_GetControllerAxisTypeNameFromEnum, + unix_IVRSystem_IVRSystem_007_CaptureInputFocus, + unix_IVRSystem_IVRSystem_007_ReleaseInputFocus, + unix_IVRSystem_IVRSystem_007_IsInputFocusCapturedByAnotherProcess, + unix_IVRSystem_IVRSystem_007_DriverDebugRequest, + unix_IVRSystem_IVRSystem_007_PerformFirmwareUpdate, + unix_IVRSystem_IVRSystem_007_IsDisplayOnDesktop, + unix_IVRSystem_IVRSystem_007_SetDisplayVisibility, unix_IVRSystem_IVRSystem_009_GetRecommendedRenderTargetSize, unix_IVRSystem_IVRSystem_009_GetProjectionMatrix, unix_IVRSystem_IVRSystem_009_GetProjectionRaw, diff --git a/vrclient_x64/vrclient_generated.c b/vrclient_x64/vrclient_generated.c index dbb1f86cb9..2b0bc8bb9b 100644 --- a/vrclient_x64/vrclient_generated.c +++ b/vrclient_x64/vrclient_generated.c @@ -122,6 +122,8 @@ static const struct { const char *iface_version; iface_constructor ctor; } const {"FnTable:IVROverlay_004", create_winIVROverlay_IVROverlay_004_FnTable}, {"IVROverlay_005", create_winIVROverlay_IVROverlay_005}, {"FnTable:IVROverlay_005", create_winIVROverlay_IVROverlay_005_FnTable}, + {"IVROverlay_006", create_winIVROverlay_IVROverlay_006}, + {"FnTable:IVROverlay_006", create_winIVROverlay_IVROverlay_006_FnTable}, {"IVROverlay_007", create_winIVROverlay_IVROverlay_007}, {"FnTable:IVROverlay_007", create_winIVROverlay_IVROverlay_007_FnTable}, {"IVROverlay_008", create_winIVROverlay_IVROverlay_008}, @@ -188,6 +190,8 @@ static const struct { const char *iface_version; iface_constructor ctor; } const {"FnTable:IVRSystem_005", create_winIVRSystem_IVRSystem_005_FnTable}, {"IVRSystem_006", create_winIVRSystem_IVRSystem_006}, {"FnTable:IVRSystem_006", create_winIVRSystem_IVRSystem_006_FnTable}, + {"IVRSystem_007", create_winIVRSystem_IVRSystem_007}, + {"FnTable:IVRSystem_007", create_winIVRSystem_IVRSystem_007_FnTable}, {"IVRSystem_009", create_winIVRSystem_IVRSystem_009}, {"FnTable:IVRSystem_009", create_winIVRSystem_IVRSystem_009_FnTable}, {"IVRSystem_010", create_winIVRSystem_IVRSystem_010}, @@ -357,6 +361,8 @@ static const struct { const char *iface_version; iface_destructor dtor; } destru {"FnTable:IVROverlay_004", destroy_winIVROverlay_IVROverlay_004_FnTable}, {"IVROverlay_005", destroy_winIVROverlay_IVROverlay_005}, {"FnTable:IVROverlay_005", destroy_winIVROverlay_IVROverlay_005_FnTable}, + {"IVROverlay_006", destroy_winIVROverlay_IVROverlay_006}, + {"FnTable:IVROverlay_006", destroy_winIVROverlay_IVROverlay_006_FnTable}, {"IVROverlay_007", destroy_winIVROverlay_IVROverlay_007}, {"FnTable:IVROverlay_007", destroy_winIVROverlay_IVROverlay_007_FnTable}, {"IVROverlay_008", destroy_winIVROverlay_IVROverlay_008}, @@ -423,6 +429,8 @@ static const struct { const char *iface_version; iface_destructor dtor; } destru {"FnTable:IVRSystem_005", destroy_winIVRSystem_IVRSystem_005_FnTable}, {"IVRSystem_006", destroy_winIVRSystem_IVRSystem_006}, {"FnTable:IVRSystem_006", destroy_winIVRSystem_IVRSystem_006_FnTable}, + {"IVRSystem_007", destroy_winIVRSystem_IVRSystem_007}, + {"FnTable:IVRSystem_007", destroy_winIVRSystem_IVRSystem_007_FnTable}, {"IVRSystem_009", destroy_winIVRSystem_IVRSystem_009}, {"FnTable:IVRSystem_009", destroy_winIVRSystem_IVRSystem_009_FnTable}, {"IVRSystem_010", destroy_winIVRSystem_IVRSystem_010}, diff --git a/vrclient_x64/vrclient_generated.h b/vrclient_x64/vrclient_generated.h index ec5e6d94b4..87b21c92a2 100644 --- a/vrclient_x64/vrclient_generated.h +++ b/vrclient_x64/vrclient_generated.h @@ -236,6 +236,10 @@ extern struct w_iface *create_winIVROverlay_IVROverlay_005( struct u_iface ); extern struct w_iface *create_winIVROverlay_IVROverlay_005_FnTable( struct u_iface ); extern void destroy_winIVROverlay_IVROverlay_005(struct w_iface *); extern void destroy_winIVROverlay_IVROverlay_005_FnTable(struct w_iface *); +extern struct w_iface *create_winIVROverlay_IVROverlay_006( struct u_iface ); +extern struct w_iface *create_winIVROverlay_IVROverlay_006_FnTable( struct u_iface ); +extern void destroy_winIVROverlay_IVROverlay_006(struct w_iface *); +extern void destroy_winIVROverlay_IVROverlay_006_FnTable(struct w_iface *); extern struct w_iface *create_winIVROverlay_IVROverlay_007( struct u_iface ); extern struct w_iface *create_winIVROverlay_IVROverlay_007_FnTable( struct u_iface ); extern void destroy_winIVROverlay_IVROverlay_007(struct w_iface *); @@ -368,6 +372,10 @@ extern struct w_iface *create_winIVRSystem_IVRSystem_006( struct u_iface ); extern struct w_iface *create_winIVRSystem_IVRSystem_006_FnTable( struct u_iface ); extern void destroy_winIVRSystem_IVRSystem_006(struct w_iface *); extern void destroy_winIVRSystem_IVRSystem_006_FnTable(struct w_iface *); +extern struct w_iface *create_winIVRSystem_IVRSystem_007( struct u_iface ); +extern struct w_iface *create_winIVRSystem_IVRSystem_007_FnTable( struct u_iface ); +extern void destroy_winIVRSystem_IVRSystem_007(struct w_iface *); +extern void destroy_winIVRSystem_IVRSystem_007_FnTable(struct w_iface *); extern struct w_iface *create_winIVRSystem_IVRSystem_009( struct u_iface ); extern struct w_iface *create_winIVRSystem_IVRSystem_009_FnTable( struct u_iface ); extern void destroy_winIVRSystem_IVRSystem_009(struct w_iface *); diff --git a/vrclient_x64/vrclient_structs_generated.h b/vrclient_x64/vrclient_structs_generated.h index 2cb601c1a4..8fe27dd288 100644 --- a/vrclient_x64/vrclient_structs_generated.h +++ b/vrclient_x64/vrclient_structs_generated.h @@ -133,9 +133,9 @@ struct VREvent_Keyboard_t_2010 }; #pragma pack( pop ) -typedef struct VREvent_Keyboard_t_0912 VREvent_Keyboard_t_0912; +typedef struct VREvent_Keyboard_t_0911 VREvent_Keyboard_t_0911; #pragma pack( push, 8 ) -struct VREvent_Keyboard_t_0912 +struct VREvent_Keyboard_t_0911 { char (cNewInput)[8]; uint64_t uUserValue; @@ -548,7 +548,7 @@ union VREvent_Data_t_1168 VREvent_Notification_t_093 notification; VREvent_Overlay_t_1168 overlay; VREvent_Status_t status; - VREvent_Keyboard_t_0912 keyboard; + VREvent_Keyboard_t_0911 keyboard; VREvent_Ipd_t ipd; VREvent_Chaperone_t chaperone; VREvent_PerformanceTest_t performanceTest; @@ -584,7 +584,7 @@ union VREvent_Data_t_11030 VREvent_Notification_t_093 notification; VREvent_Overlay_t_1014 overlay; VREvent_Status_t status; - VREvent_Keyboard_t_0912 keyboard; + VREvent_Keyboard_t_0911 keyboard; VREvent_Ipd_t ipd; VREvent_Chaperone_t chaperone; VREvent_PerformanceTest_t performanceTest; @@ -620,7 +620,7 @@ union VREvent_Data_t_1322 VREvent_Notification_t_093 notification; VREvent_Overlay_t_1014 overlay; VREvent_Status_t status; - VREvent_Keyboard_t_0912 keyboard; + VREvent_Keyboard_t_0911 keyboard; VREvent_Ipd_t ipd; VREvent_Chaperone_t chaperone; VREvent_PerformanceTest_t performanceTest; @@ -657,7 +657,7 @@ union VREvent_Data_t_1210 VREvent_Notification_t_093 notification; VREvent_Overlay_t_1014 overlay; VREvent_Status_t status; - VREvent_Keyboard_t_0912 keyboard; + VREvent_Keyboard_t_0911 keyboard; VREvent_Ipd_t ipd; VREvent_Chaperone_t chaperone; VREvent_PerformanceTest_t performanceTest; @@ -692,7 +692,7 @@ union VREvent_Data_t_113b VREvent_Notification_t_093 notification; VREvent_Overlay_t_1014 overlay; VREvent_Status_t status; - VREvent_Keyboard_t_0912 keyboard; + VREvent_Keyboard_t_0911 keyboard; VREvent_Ipd_t ipd; VREvent_Chaperone_t chaperone; VREvent_PerformanceTest_t performanceTest; @@ -727,7 +727,7 @@ union VREvent_Data_t_1016 VREvent_Notification_t_093 notification; VREvent_Overlay_t_1014 overlay; VREvent_Status_t status; - VREvent_Keyboard_t_0912 keyboard; + VREvent_Keyboard_t_0911 keyboard; VREvent_Ipd_t ipd; VREvent_Chaperone_t chaperone; VREvent_PerformanceTest_t performanceTest; @@ -760,7 +760,7 @@ union VREvent_Data_t_1015 VREvent_Notification_t_093 notification; VREvent_Overlay_t_1014 overlay; VREvent_Status_t status; - VREvent_Keyboard_t_0912 keyboard; + VREvent_Keyboard_t_0911 keyboard; VREvent_Ipd_t ipd; VREvent_Chaperone_t chaperone; VREvent_PerformanceTest_t performanceTest; @@ -791,7 +791,7 @@ union VREvent_Data_t_1014 VREvent_Notification_t_093 notification; VREvent_Overlay_t_1014 overlay; VREvent_Status_t status; - VREvent_Keyboard_t_0912 keyboard; + VREvent_Keyboard_t_0911 keyboard; VREvent_Ipd_t ipd; VREvent_Chaperone_t chaperone; VREvent_PerformanceTest_t performanceTest; @@ -821,7 +821,7 @@ union VREvent_Data_t_1013 VREvent_Notification_t_093 notification; VREvent_Overlay_t_092 overlay; VREvent_Status_t status; - VREvent_Keyboard_t_0912 keyboard; + VREvent_Keyboard_t_0911 keyboard; VREvent_Ipd_t ipd; VREvent_Chaperone_t chaperone; VREvent_PerformanceTest_t performanceTest; @@ -850,7 +850,7 @@ union VREvent_Data_t_1012 VREvent_Notification_t_093 notification; VREvent_Overlay_t_092 overlay; VREvent_Status_t status; - VREvent_Keyboard_t_0912 keyboard; + VREvent_Keyboard_t_0911 keyboard; VREvent_Ipd_t ipd; VREvent_Chaperone_t chaperone; VREvent_PerformanceTest_t performanceTest; @@ -879,7 +879,7 @@ union VREvent_Data_t_1011 VREvent_Notification_t_093 notification; VREvent_Overlay_t_092 overlay; VREvent_Status_t status; - VREvent_Keyboard_t_0912 keyboard; + VREvent_Keyboard_t_0911 keyboard; VREvent_Ipd_t ipd; VREvent_Chaperone_t chaperone; VREvent_PerformanceTest_t performanceTest; @@ -907,7 +907,7 @@ union VREvent_Data_t_106 VREvent_Notification_t_093 notification; VREvent_Overlay_t_092 overlay; VREvent_Status_t status; - VREvent_Keyboard_t_0912 keyboard; + VREvent_Keyboard_t_0911 keyboard; VREvent_Ipd_t ipd; VREvent_Chaperone_t chaperone; VREvent_PerformanceTest_t performanceTest; @@ -934,7 +934,7 @@ union VREvent_Data_t_105 VREvent_Notification_t_093 notification; VREvent_Overlay_t_092 overlay; VREvent_Status_t status; - VREvent_Keyboard_t_0912 keyboard; + VREvent_Keyboard_t_0911 keyboard; VREvent_Ipd_t ipd; VREvent_Chaperone_t chaperone; VREvent_PerformanceTest_t performanceTest; @@ -960,7 +960,7 @@ union VREvent_Data_t_103 VREvent_Notification_t_093 notification; VREvent_Overlay_t_092 overlay; VREvent_Status_t status; - VREvent_Keyboard_t_0912 keyboard; + VREvent_Keyboard_t_0911 keyboard; VREvent_Ipd_t ipd; VREvent_Chaperone_t chaperone; VREvent_PerformanceTest_t performanceTest; @@ -985,7 +985,7 @@ union VREvent_Data_t_102 VREvent_Notification_t_093 notification; VREvent_Overlay_t_092 overlay; VREvent_Status_t status; - VREvent_Keyboard_t_0912 keyboard; + VREvent_Keyboard_t_0911 keyboard; VREvent_Ipd_t ipd; VREvent_Chaperone_t chaperone; VREvent_PerformanceTest_t performanceTest; @@ -1009,7 +1009,7 @@ union VREvent_Data_t_101 VREvent_Notification_t_093 notification; VREvent_Overlay_t_092 overlay; VREvent_Status_t status; - VREvent_Keyboard_t_0912 keyboard; + VREvent_Keyboard_t_0911 keyboard; VREvent_Ipd_t ipd; VREvent_Chaperone_t chaperone; VREvent_PerformanceTest_t performanceTest; @@ -1031,7 +1031,7 @@ union VREvent_Data_t_0918 VREvent_Notification_t_093 notification; VREvent_Overlay_t_092 overlay; VREvent_Status_t status; - VREvent_Keyboard_t_0912 keyboard; + VREvent_Keyboard_t_0911 keyboard; VREvent_Ipd_t ipd; VREvent_Chaperone_t chaperone; VREvent_PerformanceTest_t performanceTest; @@ -1052,7 +1052,7 @@ union VREvent_Data_t_0915 VREvent_Notification_t_093 notification; VREvent_Overlay_t_092 overlay; VREvent_Status_t status; - VREvent_Keyboard_t_0912 keyboard; + VREvent_Keyboard_t_0911 keyboard; VREvent_Ipd_t ipd; VREvent_Chaperone_t chaperone; VREvent_PerformanceTest_t performanceTest; @@ -1071,7 +1071,7 @@ union VREvent_Data_t_0914 VREvent_Notification_t_093 notification; VREvent_Overlay_t_092 overlay; VREvent_Status_t status; - VREvent_Keyboard_t_0912 keyboard; + VREvent_Keyboard_t_0911 keyboard; VREvent_Ipd_t ipd; VREvent_Chaperone_t chaperone; VREvent_PerformanceTest_t performanceTest; @@ -1089,12 +1089,27 @@ union VREvent_Data_t_0912 VREvent_Notification_t_093 notification; VREvent_Overlay_t_092 overlay; VREvent_Status_t status; - VREvent_Keyboard_t_0912 keyboard; + VREvent_Keyboard_t_0911 keyboard; VREvent_Ipd_t ipd; VREvent_Chaperone_t chaperone; }; #pragma pack( pop ) +typedef union VREvent_Data_t_0911 VREvent_Data_t_0911; +#pragma pack( push, 8 ) +union VREvent_Data_t_0911 +{ + VREvent_Reserved_t_090 reserved; + VREvent_Controller_t controller; + VREvent_Mouse_t_090 mouse; + VREvent_Process_t_090 process; + VREvent_Notification_t_093 notification; + VREvent_Overlay_t_092 overlay; + VREvent_Status_t status; + VREvent_Keyboard_t_0911 keyboard; +}; +#pragma pack( pop ) + typedef union VREvent_Data_t_0910 VREvent_Data_t_0910; #pragma pack( push, 8 ) union VREvent_Data_t_0910 @@ -1198,6 +1213,18 @@ struct ChaperoneSoftBoundsInfo_t }; #pragma pack( pop ) +typedef struct ComponentState_t ComponentState_t; +#pragma pack( push, 4 ) +struct ComponentState_t +{ + HmdMatrix34_t mTrackingToComponentRenderModel; + HmdMatrix34_t mTrackingToComponentLocal; + int8_t bIsStatic; + int8_t bIsVisible; + uint8_t __pad_98[2]; +}; +#pragma pack( pop ) + typedef struct Compositor_BenchmarkResults Compositor_BenchmarkResults; #pragma pack( push, 4 ) struct Compositor_BenchmarkResults @@ -1428,6 +1455,22 @@ struct SpatialAnchorPose_t }; #pragma pack( pop ) +typedef struct TrackedCameraCalibrationDevOnly_t TrackedCameraCalibrationDevOnly_t; +#pragma pack( push, 8 ) +struct TrackedCameraCalibrationDevOnly_t +{ + double m_flIntrinsicsFX; + double m_flIntrinsicsFY; + double m_flIntrinsicsCX; + double m_flIntrinsicsCY; + double m_flIntrinsicsK1; + double m_flIntrinsicsK2; + double m_flIntrinsicsP1; + double m_flIntrinsicsP2; + double m_flIntrinsicsK3; +}; +#pragma pack( pop ) + typedef struct VRActiveActionSet_t_1016 VRActiveActionSet_t_1016; #pragma pack( push, 8 ) struct VRActiveActionSet_t_1016 @@ -1615,6 +1658,10 @@ typedef struct u64_CameraVideoStreamFrame_t_0912 u64_CameraVideoStreamFrame_t_09 typedef struct w64_CameraVideoStreamFrame_t_0912 w64_CameraVideoStreamFrame_t_0912; typedef struct w32_CameraVideoStreamFrame_t_0912 u32_CameraVideoStreamFrame_t_0912; typedef struct w32_CameraVideoStreamFrame_t_0912 w32_CameraVideoStreamFrame_t_0912; +typedef struct u64_CameraVideoStreamFrame_t_0911 u64_CameraVideoStreamFrame_t_0911; +typedef struct w64_CameraVideoStreamFrame_t_0911 w64_CameraVideoStreamFrame_t_0911; +typedef struct w32_CameraVideoStreamFrame_t_0911 u32_CameraVideoStreamFrame_t_0911; +typedef struct w32_CameraVideoStreamFrame_t_0911 w32_CameraVideoStreamFrame_t_0911; typedef struct w64_Compositor_FrameTiming_251 u64_Compositor_FrameTiming_251; typedef struct w64_Compositor_FrameTiming_251 w64_Compositor_FrameTiming_251; typedef struct w32_Compositor_FrameTiming_251 u32_Compositor_FrameTiming_251; @@ -1647,10 +1694,10 @@ typedef struct u64_Compositor_FrameTiming_0913 u64_Compositor_FrameTiming_0913; typedef struct w64_Compositor_FrameTiming_0913 w64_Compositor_FrameTiming_0913; typedef struct u32_Compositor_FrameTiming_0913 u32_Compositor_FrameTiming_0913; typedef struct w32_Compositor_FrameTiming_0913 w32_Compositor_FrameTiming_0913; -typedef struct u64_Compositor_FrameTiming_0912 u64_Compositor_FrameTiming_0912; -typedef struct w64_Compositor_FrameTiming_0912 w64_Compositor_FrameTiming_0912; -typedef struct u32_Compositor_FrameTiming_0912 u32_Compositor_FrameTiming_0912; -typedef struct w32_Compositor_FrameTiming_0912 w32_Compositor_FrameTiming_0912; +typedef struct u64_Compositor_FrameTiming_0911 u64_Compositor_FrameTiming_0911; +typedef struct w64_Compositor_FrameTiming_0911 w64_Compositor_FrameTiming_0911; +typedef struct u32_Compositor_FrameTiming_0911 u32_Compositor_FrameTiming_0911; +typedef struct w32_Compositor_FrameTiming_0911 w32_Compositor_FrameTiming_0911; typedef struct u64_Compositor_FrameTiming_093 u64_Compositor_FrameTiming_093; typedef struct w64_Compositor_FrameTiming_093 w64_Compositor_FrameTiming_093; typedef struct u32_Compositor_FrameTiming_093 u32_Compositor_FrameTiming_093; @@ -1825,6 +1872,10 @@ typedef struct u64_VREvent_t_0912 u64_VREvent_t_0912; typedef struct w64_VREvent_t_0912 w64_VREvent_t_0912; typedef struct u32_VREvent_t_0912 u32_VREvent_t_0912; typedef struct w32_VREvent_t_0912 w32_VREvent_t_0912; +typedef struct u64_VREvent_t_0911 u64_VREvent_t_0911; +typedef struct w64_VREvent_t_0911 w64_VREvent_t_0911; +typedef struct u32_VREvent_t_0911 u32_VREvent_t_0911; +typedef struct w32_VREvent_t_0911 w32_VREvent_t_0911; typedef struct u64_VREvent_t_0910 u64_VREvent_t_0910; typedef struct w64_VREvent_t_0910 w64_VREvent_t_0910; typedef struct u32_VREvent_t_0910 u32_VREvent_t_0910; @@ -3075,6 +3126,85 @@ typedef w64_CameraVideoStreamFrame_t_0912 w_CameraVideoStreamFrame_t_0912; typedef u64_CameraVideoStreamFrame_t_0912 u_CameraVideoStreamFrame_t_0912; #endif +#pragma pack( push, 8 ) +struct w64_CameraVideoStreamFrame_t_0911 +{ + uint32_t m_nStreamFormat; + uint32_t m_nWidth; + uint32_t m_nHeight; + uint32_t m_nFrameSequence; + uint32_t m_nTimeStamp; + uint32_t m_nBufferIndex; + uint32_t m_nBufferCount; + uint32_t m_nImageDataSize; + double m_flFrameTime; + int8_t m_bPoseValid; + uint8_t __pad_41[3]; + W64_ARRAY(float, 16, m_HMDPoseMatrix); + uint8_t __pad_108[4]; + W64_PTR(void *m_pImageData, m_pImageData, void *); +#ifdef __cplusplus + operator u64_CameraVideoStreamFrame_t_0911() const; +#endif /* __cplusplus */ +}; +#pragma pack( pop ) + +#pragma pack( push, 4 ) +struct u64_CameraVideoStreamFrame_t_0911 +{ + uint32_t m_nStreamFormat; + uint32_t m_nWidth; + uint32_t m_nHeight; + uint32_t m_nFrameSequence; + uint32_t m_nTimeStamp; + uint32_t m_nBufferIndex; + uint32_t m_nBufferCount; + uint32_t m_nImageDataSize; + double m_flFrameTime; + int8_t m_bPoseValid; + uint8_t __pad_41[3]; + U64_ARRAY(float, 16, m_HMDPoseMatrix); + U64_PTR(void *m_pImageData, m_pImageData, void *); +#ifdef __cplusplus + operator w64_CameraVideoStreamFrame_t_0911() const; +#endif /* __cplusplus */ +#ifdef __cplusplus + operator w32_CameraVideoStreamFrame_t_0911() const; +#endif /* __cplusplus */ +}; +#pragma pack( pop ) + +#pragma pack( push, 8 ) +struct w32_CameraVideoStreamFrame_t_0911 +{ + uint32_t m_nStreamFormat; + uint32_t m_nWidth; + uint32_t m_nHeight; + uint32_t m_nFrameSequence; + uint32_t m_nTimeStamp; + uint32_t m_nBufferIndex; + uint32_t m_nBufferCount; + uint32_t m_nImageDataSize; + double m_flFrameTime; + int8_t m_bPoseValid; + uint8_t __pad_41[3]; + W32_ARRAY(float, 16, m_HMDPoseMatrix); + W32_PTR(void *m_pImageData, m_pImageData, void *); +#ifdef __cplusplus + operator u64_CameraVideoStreamFrame_t_0911() const; +#endif /* __cplusplus */ +}; +#pragma pack( pop ) + +#ifdef __i386__ +typedef w32_CameraVideoStreamFrame_t_0911 w_CameraVideoStreamFrame_t_0911; +typedef u32_CameraVideoStreamFrame_t_0911 u_CameraVideoStreamFrame_t_0911; +#endif +#if defined(__x86_64__) || defined(__aarch64__) +typedef w64_CameraVideoStreamFrame_t_0911 w_CameraVideoStreamFrame_t_0911; +typedef u64_CameraVideoStreamFrame_t_0911 u_CameraVideoStreamFrame_t_0911; +#endif + #pragma pack( push, 8 ) struct w64_Compositor_FrameTiming_251 { @@ -3852,7 +3982,7 @@ typedef u64_Compositor_FrameTiming_0913 u_Compositor_FrameTiming_0913; #endif #pragma pack( push, 8 ) -struct w64_Compositor_FrameTiming_0912 +struct w64_Compositor_FrameTiming_0911 { uint32_t size; uint8_t __pad_4[4]; @@ -3873,13 +4003,13 @@ struct w64_Compositor_FrameTiming_0912 float m_flHandoffEndMs; uint8_t __pad_148[4]; #ifdef __cplusplus - operator u64_Compositor_FrameTiming_0912() const; + operator u64_Compositor_FrameTiming_0911() const; #endif /* __cplusplus */ }; #pragma pack( pop ) #pragma pack( push, 4 ) -struct u64_Compositor_FrameTiming_0912 +struct u64_Compositor_FrameTiming_0911 { uint32_t size; double frameStart; @@ -3898,16 +4028,16 @@ struct u64_Compositor_FrameTiming_0912 float m_flHandoffStartMs; float m_flHandoffEndMs; #ifdef __cplusplus - operator w64_Compositor_FrameTiming_0912() const; + operator w64_Compositor_FrameTiming_0911() const; #endif /* __cplusplus */ #ifdef __cplusplus - operator w32_Compositor_FrameTiming_0912() const; + operator w32_Compositor_FrameTiming_0911() const; #endif /* __cplusplus */ }; #pragma pack( pop ) #pragma pack( push, 8 ) -struct w32_Compositor_FrameTiming_0912 +struct w32_Compositor_FrameTiming_0911 { uint32_t size; uint8_t __pad_4[4]; @@ -3928,16 +4058,16 @@ struct w32_Compositor_FrameTiming_0912 float m_flHandoffEndMs; uint8_t __pad_148[4]; #ifdef __cplusplus - operator u32_Compositor_FrameTiming_0912() const; + operator u32_Compositor_FrameTiming_0911() const; #endif /* __cplusplus */ #ifdef __cplusplus - operator u64_Compositor_FrameTiming_0912() const; + operator u64_Compositor_FrameTiming_0911() const; #endif /* __cplusplus */ }; #pragma pack( pop ) #pragma pack( push, 4 ) -struct u32_Compositor_FrameTiming_0912 +struct u32_Compositor_FrameTiming_0911 { uint32_t size; double frameStart; @@ -3956,18 +4086,18 @@ struct u32_Compositor_FrameTiming_0912 float m_flHandoffStartMs; float m_flHandoffEndMs; #ifdef __cplusplus - operator w32_Compositor_FrameTiming_0912() const; + operator w32_Compositor_FrameTiming_0911() const; #endif /* __cplusplus */ }; #pragma pack( pop ) #ifdef __i386__ -typedef w32_Compositor_FrameTiming_0912 w_Compositor_FrameTiming_0912; -typedef u32_Compositor_FrameTiming_0912 u_Compositor_FrameTiming_0912; +typedef w32_Compositor_FrameTiming_0911 w_Compositor_FrameTiming_0911; +typedef u32_Compositor_FrameTiming_0911 u_Compositor_FrameTiming_0911; #endif #if defined(__x86_64__) || defined(__aarch64__) -typedef w64_Compositor_FrameTiming_0912 w_Compositor_FrameTiming_0912; -typedef u64_Compositor_FrameTiming_0912 u_Compositor_FrameTiming_0912; +typedef w64_Compositor_FrameTiming_0911 w_Compositor_FrameTiming_0911; +typedef u64_Compositor_FrameTiming_0911 u_Compositor_FrameTiming_0911; #endif #pragma pack( push, 8 ) @@ -6504,6 +6634,75 @@ typedef w64_VREvent_t_0912 w_VREvent_t_0912; typedef u64_VREvent_t_0912 u_VREvent_t_0912; #endif +#pragma pack( push, 8 ) +struct w64_VREvent_t_0911 +{ + uint32_t eventType; + uint32_t trackedDeviceIndex; + VREvent_Data_t_0911 data; + float eventAgeSeconds; + uint8_t __pad_28[4]; +#ifdef __cplusplus + operator u64_VREvent_t_0911() const; +#endif /* __cplusplus */ +}; +#pragma pack( pop ) + +#pragma pack( push, 4 ) +struct u64_VREvent_t_0911 +{ + uint32_t eventType; + uint32_t trackedDeviceIndex; + VREvent_Data_t_0911 data; + float eventAgeSeconds; +#ifdef __cplusplus + operator w64_VREvent_t_0911() const; +#endif /* __cplusplus */ +#ifdef __cplusplus + operator w32_VREvent_t_0911() const; +#endif /* __cplusplus */ +}; +#pragma pack( pop ) + +#pragma pack( push, 8 ) +struct w32_VREvent_t_0911 +{ + uint32_t eventType; + uint32_t trackedDeviceIndex; + VREvent_Data_t_0911 data; + float eventAgeSeconds; + uint8_t __pad_28[4]; +#ifdef __cplusplus + operator u32_VREvent_t_0911() const; +#endif /* __cplusplus */ +#ifdef __cplusplus + operator u64_VREvent_t_0911() const; +#endif /* __cplusplus */ +}; +#pragma pack( pop ) + +#pragma pack( push, 4 ) +struct u32_VREvent_t_0911 +{ + uint32_t eventType; + uint32_t trackedDeviceIndex; + VREvent_Data_t_0911 data; + float eventAgeSeconds; +#ifdef __cplusplus + operator w32_VREvent_t_0911() const; +#endif /* __cplusplus */ +}; +#pragma pack( pop ) + +#ifdef __i386__ +typedef w32_VREvent_t_0911 w_VREvent_t_0911; +typedef u32_VREvent_t_0911 u_VREvent_t_0911; +#endif +#if defined(__x86_64__) || defined(__aarch64__) +typedef w64_VREvent_t_0911 w_VREvent_t_0911; +typedef u64_VREvent_t_0911 u_VREvent_t_0911; +#endif + #pragma pack( push, 8 ) struct w64_VREvent_t_0910 { diff --git a/vrclient_x64/vrcompositor_manual.c b/vrclient_x64/vrcompositor_manual.c index 6398414be1..eb27c69212 100644 --- a/vrclient_x64/vrcompositor_manual.c +++ b/vrclient_x64/vrcompositor_manual.c @@ -548,6 +548,75 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_008_WaitGetPoses( struct w_if return params._ret; } +uint32_t __thiscall winIVRCompositor_IVRCompositor_008_Submit( struct w_iface *_this, + uint32_t eEye, int32_t eTextureType, void *pTexture, + const VRTextureBounds_t *pBounds, uint32_t nSubmitFlags ) +{ + struct submit_state state = {0}; + struct IVRCompositor_IVRCompositor_008_Submit_params params = + { + .u_iface = _this->u_iface, + .eEye = eEye, + .pBounds = pBounds, + .nSubmitFlags = nSubmitFlags, + }; + w_Texture_t texture = + { + .handle = pTexture, + .eType = eTextureType, + }; + const w_Texture_t *conv_texture; + TRACE( "_this %p, eEye %u, eTextureType %d, pTexture %p, pBounds %p, nSubmitFlags %#x\n", _this, eEye, eTextureType, pTexture, pBounds, nSubmitFlags ); + + compositor_data.handoff_called = FALSE; + conv_texture = load_compositor_texture( eEye, &texture, ¶ms.nSubmitFlags, &state, ~0u ); + params.eTextureType = conv_texture->eType; + params.pTexture = conv_texture->handle; + VRCLIENT_CALL( IVRCompositor_IVRCompositor_008_Submit, ¶ms ); + free_compositor_texture( texture.eType, &state ); + return params._ret; +} + +void __thiscall winIVRCompositor_IVRCompositor_008_PostPresentHandoff( struct w_iface *_this ) +{ + struct IVRCompositor_IVRCompositor_008_PostPresentHandoff_params params = {.u_iface = _this->u_iface}; + TRACE( "%p\n", _this ); + post_present_handoff_init( _this->u_iface, 8 ); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_008_PostPresentHandoff, ¶ms ); + post_present_handoff_done(); +} + +void __thiscall winIVRCompositor_IVRCompositor_008_SetSkyboxOverride( struct w_iface *_this, int32_t eTextureType, + void *pFront, void *pBack, void *pLeft, void *pRight, void *pTop, void *pBottom ) +{ + struct set_skybox_override_state state = {0}; + w_Texture_t textures[6] = + { + { .handle = pFront, .eType = eTextureType, }, + { .handle = pBack, .eType = eTextureType, }, + { .handle = pLeft, .eType = eTextureType, }, + { .handle = pRight, .eType = eTextureType, }, + { .handle = pTop, .eType = eTextureType, }, + { .handle = pBottom, .eType = eTextureType, }, + }; + const w_Texture_t *conv_textures = set_skybox_override_init( textures, 6, &state ); + struct IVRCompositor_IVRCompositor_008_SetSkyboxOverride_params params = + { + .u_iface = _this->u_iface, + .eTextureType = conv_textures[0].eType, + .pFront = conv_textures[0].handle, + .pBack = conv_textures[1].handle, + .pLeft = conv_textures[2].handle, + .pRight = conv_textures[3].handle, + .pTop = conv_textures[4].handle, + .pBottom = conv_textures[5].handle, + }; + + TRACE( "%p\n", _this ); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_008_SetSkyboxOverride, ¶ms ); + set_skybox_override_done( textures, 6 ); +} + uint32_t __thiscall winIVRCompositor_IVRCompositor_009_WaitGetPoses( struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount ) diff --git a/vrclient_x64/vroverlay_manual.c b/vrclient_x64/vroverlay_manual.c index b7d6b2b01d..ee44472922 100644 --- a/vrclient_x64/vroverlay_manual.c +++ b/vrclient_x64/vroverlay_manual.c @@ -70,7 +70,6 @@ static void free_unix_overlay_texture_dxvk( struct set_overlay_texture_state *st uint32_t __thiscall winIVROverlay_IVROverlay_001_SetOverlayTexture( struct w_iface *_this, uint64_t ulOverlayHandle, void *pTexture ) { - /* probably no one actually uses this old interface... */ FIXME( "unimplemented!\n" ); return VROverlayError_InvalidHandle; } @@ -78,8 +77,6 @@ uint32_t __thiscall winIVROverlay_IVROverlay_001_SetOverlayTexture( struct w_ifa uint32_t __thiscall winIVROverlay_IVROverlay_002_SetOverlayTexture( struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureType, void *pTexture ) { - /* hopefully no one actually uses this old interface... Vulkan support - * wasn't added until later; how can we pass in a DirectX texture? */ FIXME( "unimplemented!\n" ); return VROverlayError_InvalidHandle; } @@ -87,8 +84,6 @@ uint32_t __thiscall winIVROverlay_IVROverlay_002_SetOverlayTexture( struct w_ifa uint32_t __thiscall winIVROverlay_IVROverlay_003_SetOverlayTexture( struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureType, void *pTexture ) { - /* hopefully no one actually uses this old interface... Vulkan support - * wasn't added until later; how can we pass in a DirectX texture? */ FIXME( "unimplemented!\n" ); return VROverlayError_InvalidHandle; } @@ -96,8 +91,6 @@ uint32_t __thiscall winIVROverlay_IVROverlay_003_SetOverlayTexture( struct w_ifa uint32_t __thiscall winIVROverlay_IVROverlay_004_SetOverlayTexture( struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureType, void *pTexture ) { - /* hopefully no one actually uses this old interface... Vulkan support - * wasn't added until later; how can we pass in a DirectX texture? */ FIXME( "unimplemented!\n" ); return VROverlayError_InvalidHandle; } @@ -105,12 +98,36 @@ uint32_t __thiscall winIVROverlay_IVROverlay_004_SetOverlayTexture( struct w_ifa uint32_t __thiscall winIVROverlay_IVROverlay_005_SetOverlayTexture( struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureType, void *pTexture ) { - /* hopefully no one actually uses this old interface... Vulkan support - * wasn't added until later; how can we pass in a DirectX texture? */ FIXME( "unimplemented!\n" ); return VROverlayError_InvalidHandle; } +uint32_t __thiscall winIVROverlay_IVROverlay_006_SetOverlayTexture( struct w_iface *_this, uint64_t ulOverlayHandle, + uint32_t eTextureType, void *pTexture ) +{ + w_Texture_t texture = + { + .handle = pTexture, + .eType = eTextureType, + }; + struct set_overlay_texture_state state = { .texture = texture }; + struct IVROverlay_IVROverlay_006_SetOverlayTexture_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + }; + + TRACE( "%p %#I64x %d %p.\n", _this, ulOverlayHandle, eTextureType, pTexture ); + + if (eTextureType == TextureType_DirectX) load_overlay_texture_dxvk( &texture, &state ); + params.eTextureType = state.texture.eType; + params.pTexture = state.texture.handle; + VRCLIENT_CALL( IVROverlay_IVROverlay_006_SetOverlayTexture, ¶ms ); + if (eTextureType == TextureType_DirectX) free_unix_overlay_texture_dxvk( &state ); + + return params._ret; +} + uint32_t __thiscall winIVROverlay_IVROverlay_007_SetOverlayTexture( struct w_iface *_this, uint64_t ulOverlayHandle, const w_Texture_t *pTexture ) { diff --git a/vrclient_x64/vrsystem_manual.c b/vrclient_x64/vrsystem_manual.c index 84ffb145f7..d7ea576f3e 100644 --- a/vrclient_x64/vrsystem_manual.c +++ b/vrclient_x64/vrsystem_manual.c @@ -148,6 +148,14 @@ void __thiscall winIVRSystem_IVRSystem_006_GetDXGIOutputInfo( struct w_iface *_t *pnAdapterOutputIndex = 0; } +void __thiscall winIVRSystem_IVRSystem_007_GetDXGIOutputInfo( struct w_iface *_this, int32_t *pnAdapterIndex, + int32_t *pnAdapterOutputIndex ) +{ + FIXME( "%p\n", _this ); + *pnAdapterIndex = 0; + *pnAdapterOutputIndex = 0; +} + void __thiscall winIVRSystem_IVRSystem_009_GetDXGIOutputInfo( struct w_iface *_this, int32_t *pnAdapterIndex ) { FIXME( "%p\n", _this ); diff --git a/vrclient_x64/winIVRCompositor.c b/vrclient_x64/winIVRCompositor.c index e4e20ace50..3d34eae291 100644 --- a/vrclient_x64/winIVRCompositor.c +++ b/vrclient_x64/winIVRCompositor.c @@ -1075,6 +1075,8 @@ DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_008_HideMirrorWindow, 4) DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_008_CompositorDumpImages, 4) DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_008_GetFrameTimeRemaining, 4) DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_008_GetLastFrameRenderer, 4) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_008_GetLastPoses, 20) +DEFINE_THISCALL_WRAPPER(winIVRCompositor_IVRCompositor_008_PostPresentHandoff, 4) uint32_t __thiscall winIVRCompositor_IVRCompositor_008_GetLastError(struct w_iface *_this, char *pchBuffer, uint32_t unBufferSize) { @@ -1135,22 +1137,7 @@ float __thiscall winIVRCompositor_IVRCompositor_008_GetGamma(struct w_iface *_th extern uint32_t __thiscall winIVRCompositor_IVRCompositor_008_WaitGetPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount); -uint32_t __thiscall winIVRCompositor_IVRCompositor_008_Submit(struct w_iface *_this, uint32_t eEye, uint32_t eTextureType, void *pTexture, const VRTextureBounds_t *pBounds, uint32_t nSubmitFlags) -{ - struct IVRCompositor_IVRCompositor_008_Submit_params params = - { - .u_iface = _this->u_iface, - .eEye = eEye, - .eTextureType = eTextureType, - .pTexture = pTexture, - .pBounds = pBounds, - .nSubmitFlags = nSubmitFlags, - }; - TRACE("%p\n", _this); - if (eTextureType == TextureType_DirectX) FIXME( "Not implemented Direct3D API!\n" ); - VRCLIENT_CALL( IVRCompositor_IVRCompositor_008_Submit, ¶ms ); - return params._ret; -} +extern uint32_t __thiscall winIVRCompositor_IVRCompositor_008_Submit(struct w_iface *_this, uint32_t eEye, uint32_t eTextureType, void *pTexture, const VRTextureBounds_t *pBounds, uint32_t nSubmitFlags); void __thiscall winIVRCompositor_IVRCompositor_008_ClearLastSubmittedFrame(struct w_iface *_this) { @@ -1162,7 +1149,7 @@ void __thiscall winIVRCompositor_IVRCompositor_008_ClearLastSubmittedFrame(struc VRCLIENT_CALL( IVRCompositor_IVRCompositor_008_ClearLastSubmittedFrame, ¶ms ); } -int8_t __thiscall winIVRCompositor_IVRCompositor_008_GetFrameTiming(struct w_iface *_this, w_Compositor_FrameTiming_093 *pTiming, uint32_t unFramesAgo) +int8_t __thiscall winIVRCompositor_IVRCompositor_008_GetFrameTiming(struct w_iface *_this, w_Compositor_FrameTiming_0911 *pTiming, uint32_t unFramesAgo) { struct IVRCompositor_IVRCompositor_008_GetFrameTiming_params params = { @@ -1203,23 +1190,7 @@ void __thiscall winIVRCompositor_IVRCompositor_008_FadeGrid(struct w_iface *_thi VRCLIENT_CALL( IVRCompositor_IVRCompositor_008_FadeGrid, ¶ms ); } -void __thiscall winIVRCompositor_IVRCompositor_008_SetSkyboxOverride(struct w_iface *_this, uint32_t eTextureType, void *pFront, void *pBack, void *pLeft, void *pRight, void *pTop, void *pBottom) -{ - struct IVRCompositor_IVRCompositor_008_SetSkyboxOverride_params params = - { - .u_iface = _this->u_iface, - .eTextureType = eTextureType, - .pFront = pFront, - .pBack = pBack, - .pLeft = pLeft, - .pRight = pRight, - .pTop = pTop, - .pBottom = pBottom, - }; - TRACE("%p\n", _this); - if (eTextureType == TextureType_DirectX) FIXME( "Not implemented Direct3D API!\n" ); - VRCLIENT_CALL( IVRCompositor_IVRCompositor_008_SetSkyboxOverride, ¶ms ); -} +extern void __thiscall winIVRCompositor_IVRCompositor_008_SetSkyboxOverride(struct w_iface *_this, uint32_t eTextureType, void *pFront, void *pBack, void *pLeft, void *pRight, void *pTop, void *pBottom); void __thiscall winIVRCompositor_IVRCompositor_008_ClearSkyboxOverride(struct w_iface *_this) { @@ -1368,6 +1339,23 @@ uint32_t __thiscall winIVRCompositor_IVRCompositor_008_GetLastFrameRenderer(stru return params._ret; } +uint32_t __thiscall winIVRCompositor_IVRCompositor_008_GetLastPoses(struct w_iface *_this, TrackedDevicePose_t *pRenderPoseArray, uint32_t unRenderPoseArrayCount, TrackedDevicePose_t *pGamePoseArray, uint32_t unGamePoseArrayCount) +{ + struct IVRCompositor_IVRCompositor_008_GetLastPoses_params params = + { + .u_iface = _this->u_iface, + .pRenderPoseArray = pRenderPoseArray, + .unRenderPoseArrayCount = unRenderPoseArrayCount, + .pGamePoseArray = pGamePoseArray, + .unGamePoseArrayCount = unGamePoseArrayCount, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRCompositor_IVRCompositor_008_GetLastPoses, ¶ms ); + return params._ret; +} + +extern void __thiscall winIVRCompositor_IVRCompositor_008_PostPresentHandoff(struct w_iface *_this); + extern vtable_ptr winIVRCompositor_IVRCompositor_008_vtable; DEFINE_RTTI_DATA0(winIVRCompositor_IVRCompositor_008, 0, ".?AVIVRCompositor@@") @@ -1400,6 +1388,8 @@ __ASM_BLOCK_BEGIN(winIVRCompositor_IVRCompositor_008_vtables) VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_008_CompositorDumpImages) VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_008_GetFrameTimeRemaining) VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_008_GetLastFrameRenderer) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_008_GetLastPoses) + VTABLE_ADD_FUNC(winIVRCompositor_IVRCompositor_008_PostPresentHandoff) ); __ASM_BLOCK_END @@ -1421,8 +1411,8 @@ void destroy_winIVRCompositor_IVRCompositor_008(struct w_iface *object) struct w_iface *create_winIVRCompositor_IVRCompositor_008_FnTable( struct u_iface u_iface ) { struct w_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); - struct thunk *thunks = alloc_thunks(26); - struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 26 * sizeof(*vtable)); + struct thunk *thunks = alloc_thunks(28); + struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 28 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); @@ -1452,7 +1442,9 @@ struct w_iface *create_winIVRCompositor_IVRCompositor_008_FnTable( struct u_ifac init_thunk(&thunks[23], r, winIVRCompositor_IVRCompositor_008_CompositorDumpImages, 0, FALSE, FALSE); init_thunk(&thunks[24], r, winIVRCompositor_IVRCompositor_008_GetFrameTimeRemaining, 0, FALSE, FALSE); init_thunk(&thunks[25], r, winIVRCompositor_IVRCompositor_008_GetLastFrameRenderer, 0, FALSE, FALSE); - for (i = 0; i < 26; i++) + init_thunk(&thunks[26], r, winIVRCompositor_IVRCompositor_008_GetLastPoses, 4, FALSE, FALSE); + init_thunk(&thunks[27], r, winIVRCompositor_IVRCompositor_008_PostPresentHandoff, 0, FALSE, FALSE); + for (i = 0; i < 28; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; diff --git a/vrclient_x64/winIVROverlay.c b/vrclient_x64/winIVROverlay.c index b5bf60c392..42867c5734 100644 --- a/vrclient_x64/winIVROverlay.c +++ b/vrclient_x64/winIVROverlay.c @@ -3880,6 +3880,972 @@ void destroy_winIVROverlay_IVROverlay_005_FnTable(struct w_iface *object) HeapFree(GetProcessHeap(), 0, object); } +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_FindOverlay, 12) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_CreateOverlay, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_DestroyOverlay, 12) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_SetHighQualityOverlay, 12) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_GetHighQualityOverlay, 4) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_GetOverlayKey, 24) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_GetOverlayName, 24) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_GetOverlayImageData, 28) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_GetOverlayErrorNameFromEnum, 8) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_SetOverlayFlag, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_GetOverlayFlag, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_SetOverlayColor, 24) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_GetOverlayColor, 24) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_SetOverlayAlpha, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_GetOverlayAlpha, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_SetOverlayGamma, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_GetOverlayGamma, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_SetOverlayWidthInMeters, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_GetOverlayWidthInMeters, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_SetOverlayAutoCurveDistanceRangeInMeters, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_GetOverlayAutoCurveDistanceRangeInMeters, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_SetOverlayTextureBounds, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_GetOverlayTextureBounds, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_GetOverlayTransformType, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_SetOverlayTransformAbsolute, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_GetOverlayTransformAbsolute, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_SetOverlayTransformTrackedDeviceRelative, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_GetOverlayTransformTrackedDeviceRelative, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_ShowOverlay, 12) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_HideOverlay, 12) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_IsOverlayVisible, 12) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_PollNextOverlayEvent, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_GetOverlayInputMethod, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_SetOverlayInputMethod, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_GetOverlayMouseScale, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_SetOverlayMouseScale, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_ComputeOverlayIntersection, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_HandleControllerOverlayInteractionAsMouse, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_IsHoverTargetOverlay, 12) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_GetGamepadFocusOverlay, 4) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_SetGamepadFocusOverlay, 12) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_SetOverlayNeighbor, 24) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_MoveGamepadFocusToNeighbor, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_SetOverlayTexture, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_ClearOverlayTexture, 12) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_SetOverlayRaw, 28) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_SetOverlayFromFile, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_CreateDashboardOverlay, 20) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_IsDashboardVisible, 4) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_IsActiveDashboardOverlay, 12) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_SetDashboardOverlaySceneProcess, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_GetDashboardOverlaySceneProcess, 16) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_ShowDashboard, 8) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_ShowKeyboard, 36) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_ShowKeyboardForOverlay, 44) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_GetKeyboardText, 12) +DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_006_HideKeyboard, 4) + +uint32_t __thiscall winIVROverlay_IVROverlay_006_FindOverlay(struct w_iface *_this, const char *pchOverlayKey, uint64_t *pOverlayHandle) +{ + struct IVROverlay_IVROverlay_006_FindOverlay_params params = + { + .u_iface = _this->u_iface, + .pchOverlayKey = pchOverlayKey, + .pOverlayHandle = pOverlayHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_FindOverlay, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_CreateOverlay(struct w_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pOverlayHandle) +{ + struct IVROverlay_IVROverlay_006_CreateOverlay_params params = + { + .u_iface = _this->u_iface, + .pchOverlayKey = pchOverlayKey, + .pchOverlayFriendlyName = pchOverlayFriendlyName, + .pOverlayHandle = pOverlayHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_CreateOverlay, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_DestroyOverlay(struct w_iface *_this, uint64_t ulOverlayHandle) +{ + struct IVROverlay_IVROverlay_006_DestroyOverlay_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_DestroyOverlay, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_SetHighQualityOverlay(struct w_iface *_this, uint64_t ulOverlayHandle) +{ + struct IVROverlay_IVROverlay_006_SetHighQualityOverlay_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_SetHighQualityOverlay, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winIVROverlay_IVROverlay_006_GetHighQualityOverlay(struct w_iface *_this) +{ + struct IVROverlay_IVROverlay_006_GetHighQualityOverlay_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_GetHighQualityOverlay, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_GetOverlayKey(struct w_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) +{ + struct IVROverlay_IVROverlay_006_GetOverlayKey_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pchValue = pchValue, + .unBufferSize = unBufferSize, + .pError = pError, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_GetOverlayKey, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_GetOverlayName(struct w_iface *_this, uint64_t ulOverlayHandle, char *pchValue, uint32_t unBufferSize, uint32_t *pError) +{ + struct IVROverlay_IVROverlay_006_GetOverlayName_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pchValue = pchValue, + .unBufferSize = unBufferSize, + .pError = pError, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_GetOverlayName, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_GetOverlayImageData(struct w_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight) +{ + struct IVROverlay_IVROverlay_006_GetOverlayImageData_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pvBuffer = pvBuffer, + .unBufferSize = unBufferSize, + .punWidth = punWidth, + .punHeight = punHeight, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_GetOverlayImageData, ¶ms ); + return params._ret; +} + +const char * __thiscall winIVROverlay_IVROverlay_006_GetOverlayErrorNameFromEnum(struct w_iface *_this, uint32_t error) +{ + struct IVROverlay_IVROverlay_006_GetOverlayErrorNameFromEnum_params params = + { + .u_iface = _this->u_iface, + .error = error, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_GetOverlayErrorNameFromEnum, ¶ms ); + return get_unix_buffer( params._ret ); +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_SetOverlayFlag(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t bEnabled) +{ + struct IVROverlay_IVROverlay_006_SetOverlayFlag_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .eOverlayFlag = eOverlayFlag, + .bEnabled = bEnabled, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_SetOverlayFlag, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_GetOverlayFlag(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t eOverlayFlag, int8_t *pbEnabled) +{ + struct IVROverlay_IVROverlay_006_GetOverlayFlag_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .eOverlayFlag = eOverlayFlag, + .pbEnabled = pbEnabled, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_GetOverlayFlag, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_SetOverlayColor(struct w_iface *_this, uint64_t ulOverlayHandle, float fRed, float fGreen, float fBlue) +{ + struct IVROverlay_IVROverlay_006_SetOverlayColor_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .fRed = fRed, + .fGreen = fGreen, + .fBlue = fBlue, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_SetOverlayColor, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_GetOverlayColor(struct w_iface *_this, uint64_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue) +{ + struct IVROverlay_IVROverlay_006_GetOverlayColor_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pfRed = pfRed, + .pfGreen = pfGreen, + .pfBlue = pfBlue, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_GetOverlayColor, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_SetOverlayAlpha(struct w_iface *_this, uint64_t ulOverlayHandle, float fAlpha) +{ + struct IVROverlay_IVROverlay_006_SetOverlayAlpha_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .fAlpha = fAlpha, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_SetOverlayAlpha, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_GetOverlayAlpha(struct w_iface *_this, uint64_t ulOverlayHandle, float *pfAlpha) +{ + struct IVROverlay_IVROverlay_006_GetOverlayAlpha_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pfAlpha = pfAlpha, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_GetOverlayAlpha, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_SetOverlayGamma(struct w_iface *_this, uint64_t ulOverlayHandle, float fGamma) +{ + struct IVROverlay_IVROverlay_006_SetOverlayGamma_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .fGamma = fGamma, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_SetOverlayGamma, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_GetOverlayGamma(struct w_iface *_this, uint64_t ulOverlayHandle, float *pfGamma) +{ + struct IVROverlay_IVROverlay_006_GetOverlayGamma_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pfGamma = pfGamma, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_GetOverlayGamma, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_SetOverlayWidthInMeters(struct w_iface *_this, uint64_t ulOverlayHandle, float fWidthInMeters) +{ + struct IVROverlay_IVROverlay_006_SetOverlayWidthInMeters_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .fWidthInMeters = fWidthInMeters, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_SetOverlayWidthInMeters, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_GetOverlayWidthInMeters(struct w_iface *_this, uint64_t ulOverlayHandle, float *pfWidthInMeters) +{ + struct IVROverlay_IVROverlay_006_GetOverlayWidthInMeters_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pfWidthInMeters = pfWidthInMeters, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_GetOverlayWidthInMeters, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_SetOverlayAutoCurveDistanceRangeInMeters(struct w_iface *_this, uint64_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters) +{ + struct IVROverlay_IVROverlay_006_SetOverlayAutoCurveDistanceRangeInMeters_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .fMinDistanceInMeters = fMinDistanceInMeters, + .fMaxDistanceInMeters = fMaxDistanceInMeters, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_SetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_GetOverlayAutoCurveDistanceRangeInMeters(struct w_iface *_this, uint64_t ulOverlayHandle, float *pfMinDistanceInMeters, float *pfMaxDistanceInMeters) +{ + struct IVROverlay_IVROverlay_006_GetOverlayAutoCurveDistanceRangeInMeters_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pfMinDistanceInMeters = pfMinDistanceInMeters, + .pfMaxDistanceInMeters = pfMaxDistanceInMeters, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_GetOverlayAutoCurveDistanceRangeInMeters, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_SetOverlayTextureBounds(struct w_iface *_this, uint64_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds) +{ + struct IVROverlay_IVROverlay_006_SetOverlayTextureBounds_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pOverlayTextureBounds = pOverlayTextureBounds, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_SetOverlayTextureBounds, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_GetOverlayTextureBounds(struct w_iface *_this, uint64_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds) +{ + struct IVROverlay_IVROverlay_006_GetOverlayTextureBounds_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pOverlayTextureBounds = pOverlayTextureBounds, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_GetOverlayTextureBounds, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_GetOverlayTransformType(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTransformType) +{ + struct IVROverlay_IVROverlay_006_GetOverlayTransformType_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .peTransformType = peTransformType, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_GetOverlayTransformType, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_SetOverlayTransformAbsolute(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) +{ + struct IVROverlay_IVROverlay_006_SetOverlayTransformAbsolute_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .eTrackingOrigin = eTrackingOrigin, + .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_SetOverlayTransformAbsolute, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_GetOverlayTransformAbsolute(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform) +{ + struct IVROverlay_IVROverlay_006_GetOverlayTransformAbsolute_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .peTrackingOrigin = peTrackingOrigin, + .pmatTrackingOriginToOverlayTransform = pmatTrackingOriginToOverlayTransform, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_GetOverlayTransformAbsolute, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_SetOverlayTransformTrackedDeviceRelative(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) +{ + struct IVROverlay_IVROverlay_006_SetOverlayTransformTrackedDeviceRelative_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .unTrackedDevice = unTrackedDevice, + .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_SetOverlayTransformTrackedDeviceRelative, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_GetOverlayTransformTrackedDeviceRelative(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform) +{ + struct IVROverlay_IVROverlay_006_GetOverlayTransformTrackedDeviceRelative_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .punTrackedDevice = punTrackedDevice, + .pmatTrackedDeviceToOverlayTransform = pmatTrackedDeviceToOverlayTransform, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_GetOverlayTransformTrackedDeviceRelative, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_ShowOverlay(struct w_iface *_this, uint64_t ulOverlayHandle) +{ + struct IVROverlay_IVROverlay_006_ShowOverlay_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_ShowOverlay, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_HideOverlay(struct w_iface *_this, uint64_t ulOverlayHandle) +{ + struct IVROverlay_IVROverlay_006_HideOverlay_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_HideOverlay, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVROverlay_IVROverlay_006_IsOverlayVisible(struct w_iface *_this, uint64_t ulOverlayHandle) +{ + struct IVROverlay_IVROverlay_006_IsOverlayVisible_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_IsOverlayVisible, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVROverlay_IVROverlay_006_PollNextOverlayEvent(struct w_iface *_this, uint64_t ulOverlayHandle, w_VREvent_t_0911 *pEvent) +{ + struct IVROverlay_IVROverlay_006_PollNextOverlayEvent_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pEvent = pEvent, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_PollNextOverlayEvent, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_GetOverlayInputMethod(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t *peInputMethod) +{ + struct IVROverlay_IVROverlay_006_GetOverlayInputMethod_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .peInputMethod = peInputMethod, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_GetOverlayInputMethod, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_SetOverlayInputMethod(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMethod) +{ + struct IVROverlay_IVROverlay_006_SetOverlayInputMethod_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .eInputMethod = eInputMethod, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_SetOverlayInputMethod, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_GetOverlayMouseScale(struct w_iface *_this, uint64_t ulOverlayHandle, HmdVector2_t *pvecMouseScale) +{ + struct IVROverlay_IVROverlay_006_GetOverlayMouseScale_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pvecMouseScale = pvecMouseScale, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_GetOverlayMouseScale, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_SetOverlayMouseScale(struct w_iface *_this, uint64_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale) +{ + struct IVROverlay_IVROverlay_006_SetOverlayMouseScale_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pvecMouseScale = pvecMouseScale, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_SetOverlayMouseScale, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVROverlay_IVROverlay_006_ComputeOverlayIntersection(struct w_iface *_this, uint64_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults) +{ + struct IVROverlay_IVROverlay_006_ComputeOverlayIntersection_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pParams = pParams, + .pResults = pResults, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_ComputeOverlayIntersection, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVROverlay_IVROverlay_006_HandleControllerOverlayInteractionAsMouse(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t unControllerDeviceIndex) +{ + struct IVROverlay_IVROverlay_006_HandleControllerOverlayInteractionAsMouse_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .unControllerDeviceIndex = unControllerDeviceIndex, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_HandleControllerOverlayInteractionAsMouse, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVROverlay_IVROverlay_006_IsHoverTargetOverlay(struct w_iface *_this, uint64_t ulOverlayHandle) +{ + struct IVROverlay_IVROverlay_006_IsHoverTargetOverlay_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_IsHoverTargetOverlay, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winIVROverlay_IVROverlay_006_GetGamepadFocusOverlay(struct w_iface *_this) +{ + struct IVROverlay_IVROverlay_006_GetGamepadFocusOverlay_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_GetGamepadFocusOverlay, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_SetGamepadFocusOverlay(struct w_iface *_this, uint64_t ulNewFocusOverlay) +{ + struct IVROverlay_IVROverlay_006_SetGamepadFocusOverlay_params params = + { + .u_iface = _this->u_iface, + .ulNewFocusOverlay = ulNewFocusOverlay, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_SetGamepadFocusOverlay, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_SetOverlayNeighbor(struct w_iface *_this, uint32_t eDirection, uint64_t ulFrom, uint64_t ulTo) +{ + struct IVROverlay_IVROverlay_006_SetOverlayNeighbor_params params = + { + .u_iface = _this->u_iface, + .eDirection = eDirection, + .ulFrom = ulFrom, + .ulTo = ulTo, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_SetOverlayNeighbor, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_MoveGamepadFocusToNeighbor(struct w_iface *_this, uint32_t eDirection, uint64_t ulFrom) +{ + struct IVROverlay_IVROverlay_006_MoveGamepadFocusToNeighbor_params params = + { + .u_iface = _this->u_iface, + .eDirection = eDirection, + .ulFrom = ulFrom, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_MoveGamepadFocusToNeighbor, ¶ms ); + return params._ret; +} + +extern uint32_t __thiscall winIVROverlay_IVROverlay_006_SetOverlayTexture(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t eTextureType, void *pTexture); + +uint32_t __thiscall winIVROverlay_IVROverlay_006_ClearOverlayTexture(struct w_iface *_this, uint64_t ulOverlayHandle) +{ + struct IVROverlay_IVROverlay_006_ClearOverlayTexture_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_ClearOverlayTexture, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_SetOverlayRaw(struct w_iface *_this, uint64_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth) +{ + struct IVROverlay_IVROverlay_006_SetOverlayRaw_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pvBuffer = pvBuffer, + .unWidth = unWidth, + .unHeight = unHeight, + .unDepth = unDepth, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_SetOverlayRaw, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_SetOverlayFromFile(struct w_iface *_this, uint64_t ulOverlayHandle, const char *pchFilePath) +{ + struct IVROverlay_IVROverlay_006_SetOverlayFromFile_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .pchFilePath = pchFilePath, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_SetOverlayFromFile, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_CreateDashboardOverlay(struct w_iface *_this, const char *pchOverlayKey, const char *pchOverlayFriendlyName, uint64_t *pMainHandle, uint64_t *pThumbnailHandle) +{ + struct IVROverlay_IVROverlay_006_CreateDashboardOverlay_params params = + { + .u_iface = _this->u_iface, + .pchOverlayKey = pchOverlayKey, + .pchOverlayFriendlyName = pchOverlayFriendlyName, + .pMainHandle = pMainHandle, + .pThumbnailHandle = pThumbnailHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_CreateDashboardOverlay, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVROverlay_IVROverlay_006_IsDashboardVisible(struct w_iface *_this) +{ + struct IVROverlay_IVROverlay_006_IsDashboardVisible_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_IsDashboardVisible, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVROverlay_IVROverlay_006_IsActiveDashboardOverlay(struct w_iface *_this, uint64_t ulOverlayHandle) +{ + struct IVROverlay_IVROverlay_006_IsActiveDashboardOverlay_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_IsActiveDashboardOverlay, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_SetDashboardOverlaySceneProcess(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t unProcessId) +{ + struct IVROverlay_IVROverlay_006_SetDashboardOverlaySceneProcess_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .unProcessId = unProcessId, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_SetDashboardOverlaySceneProcess, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_GetDashboardOverlaySceneProcess(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t *punProcessId) +{ + struct IVROverlay_IVROverlay_006_GetDashboardOverlaySceneProcess_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .punProcessId = punProcessId, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_GetDashboardOverlaySceneProcess, ¶ms ); + return params._ret; +} + +void __thiscall winIVROverlay_IVROverlay_006_ShowDashboard(struct w_iface *_this, const char *pchOverlayToShow) +{ + struct IVROverlay_IVROverlay_006_ShowDashboard_params params = + { + .u_iface = _this->u_iface, + .pchOverlayToShow = pchOverlayToShow, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_ShowDashboard, ¶ms ); +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_ShowKeyboard(struct w_iface *_this, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) +{ + struct IVROverlay_IVROverlay_006_ShowKeyboard_params params = + { + .u_iface = _this->u_iface, + .eInputMode = eInputMode, + .eLineInputMode = eLineInputMode, + .pchDescription = pchDescription, + .unCharMax = unCharMax, + .pchExistingText = pchExistingText, + .bUseMinimalMode = bUseMinimalMode, + .uUserValue = uUserValue, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_ShowKeyboard, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_ShowKeyboardForOverlay(struct w_iface *_this, uint64_t ulOverlayHandle, uint32_t eInputMode, uint32_t eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, int8_t bUseMinimalMode, uint64_t uUserValue) +{ + struct IVROverlay_IVROverlay_006_ShowKeyboardForOverlay_params params = + { + .u_iface = _this->u_iface, + .ulOverlayHandle = ulOverlayHandle, + .eInputMode = eInputMode, + .eLineInputMode = eLineInputMode, + .pchDescription = pchDescription, + .unCharMax = unCharMax, + .pchExistingText = pchExistingText, + .bUseMinimalMode = bUseMinimalMode, + .uUserValue = uUserValue, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_ShowKeyboardForOverlay, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVROverlay_IVROverlay_006_GetKeyboardText(struct w_iface *_this, char *pchText, uint32_t cchText) +{ + struct IVROverlay_IVROverlay_006_GetKeyboardText_params params = + { + .u_iface = _this->u_iface, + .pchText = pchText, + .cchText = cchText, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_GetKeyboardText, ¶ms ); + return params._ret; +} + +void __thiscall winIVROverlay_IVROverlay_006_HideKeyboard(struct w_iface *_this) +{ + struct IVROverlay_IVROverlay_006_HideKeyboard_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVROverlay_IVROverlay_006_HideKeyboard, ¶ms ); +} + +extern vtable_ptr winIVROverlay_IVROverlay_006_vtable; + +DEFINE_RTTI_DATA0(winIVROverlay_IVROverlay_006, 0, ".?AVIVROverlay@@") + +__ASM_BLOCK_BEGIN(winIVROverlay_IVROverlay_006_vtables) + __ASM_VTABLE(winIVROverlay_IVROverlay_006, + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_FindOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_CreateOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_DestroyOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_SetHighQualityOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_GetHighQualityOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_GetOverlayKey) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_GetOverlayName) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_GetOverlayImageData) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_GetOverlayErrorNameFromEnum) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_SetOverlayFlag) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_GetOverlayFlag) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_SetOverlayColor) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_GetOverlayColor) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_SetOverlayAlpha) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_GetOverlayAlpha) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_SetOverlayGamma) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_GetOverlayGamma) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_SetOverlayWidthInMeters) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_GetOverlayWidthInMeters) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_SetOverlayAutoCurveDistanceRangeInMeters) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_GetOverlayAutoCurveDistanceRangeInMeters) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_SetOverlayTextureBounds) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_GetOverlayTextureBounds) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_GetOverlayTransformType) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_SetOverlayTransformAbsolute) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_GetOverlayTransformAbsolute) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_SetOverlayTransformTrackedDeviceRelative) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_GetOverlayTransformTrackedDeviceRelative) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_ShowOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_HideOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_IsOverlayVisible) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_PollNextOverlayEvent) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_GetOverlayInputMethod) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_SetOverlayInputMethod) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_GetOverlayMouseScale) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_SetOverlayMouseScale) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_ComputeOverlayIntersection) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_HandleControllerOverlayInteractionAsMouse) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_IsHoverTargetOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_GetGamepadFocusOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_SetGamepadFocusOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_SetOverlayNeighbor) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_MoveGamepadFocusToNeighbor) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_SetOverlayTexture) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_ClearOverlayTexture) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_SetOverlayRaw) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_SetOverlayFromFile) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_CreateDashboardOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_IsDashboardVisible) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_IsActiveDashboardOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_SetDashboardOverlaySceneProcess) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_GetDashboardOverlaySceneProcess) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_ShowDashboard) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_ShowKeyboard) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_ShowKeyboardForOverlay) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_GetKeyboardText) + VTABLE_ADD_FUNC(winIVROverlay_IVROverlay_006_HideKeyboard) + ); +__ASM_BLOCK_END + +struct w_iface *create_winIVROverlay_IVROverlay_006( struct u_iface u_iface ) +{ + struct w_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); + TRACE("-> %p\n", r); + r->vtable = &winIVROverlay_IVROverlay_006_vtable; + r->u_iface = u_iface; + return r; +} + +void destroy_winIVROverlay_IVROverlay_006(struct w_iface *object) +{ + TRACE("%p\n", object); + HeapFree(GetProcessHeap(), 0, object); +} + +struct w_iface *create_winIVROverlay_IVROverlay_006_FnTable( struct u_iface u_iface ) +{ + struct w_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); + struct thunk *thunks = alloc_thunks(57); + struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 57 * sizeof(*vtable)); + int i; + + TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); + init_thunk(&thunks[0], r, winIVROverlay_IVROverlay_006_FindOverlay, 2, FALSE, FALSE); + init_thunk(&thunks[1], r, winIVROverlay_IVROverlay_006_CreateOverlay, 3, FALSE, FALSE); + init_thunk(&thunks[2], r, winIVROverlay_IVROverlay_006_DestroyOverlay, 1, FALSE, FALSE); + init_thunk(&thunks[3], r, winIVROverlay_IVROverlay_006_SetHighQualityOverlay, 1, FALSE, FALSE); + init_thunk(&thunks[4], r, winIVROverlay_IVROverlay_006_GetHighQualityOverlay, 0, FALSE, FALSE); + init_thunk(&thunks[5], r, winIVROverlay_IVROverlay_006_GetOverlayKey, 4, FALSE, FALSE); + init_thunk(&thunks[6], r, winIVROverlay_IVROverlay_006_GetOverlayName, 4, FALSE, FALSE); + init_thunk(&thunks[7], r, winIVROverlay_IVROverlay_006_GetOverlayImageData, 5, FALSE, FALSE); + init_thunk(&thunks[8], r, winIVROverlay_IVROverlay_006_GetOverlayErrorNameFromEnum, 1, FALSE, FALSE); + init_thunk(&thunks[9], r, winIVROverlay_IVROverlay_006_SetOverlayFlag, 3, FALSE, FALSE); + init_thunk(&thunks[10], r, winIVROverlay_IVROverlay_006_GetOverlayFlag, 3, FALSE, FALSE); + init_thunk(&thunks[11], r, winIVROverlay_IVROverlay_006_SetOverlayColor, 4, TRUE, TRUE); + init_thunk(&thunks[12], r, winIVROverlay_IVROverlay_006_GetOverlayColor, 4, FALSE, FALSE); + init_thunk(&thunks[13], r, winIVROverlay_IVROverlay_006_SetOverlayAlpha, 2, TRUE, FALSE); + init_thunk(&thunks[14], r, winIVROverlay_IVROverlay_006_GetOverlayAlpha, 2, FALSE, FALSE); + init_thunk(&thunks[15], r, winIVROverlay_IVROverlay_006_SetOverlayGamma, 2, TRUE, FALSE); + init_thunk(&thunks[16], r, winIVROverlay_IVROverlay_006_GetOverlayGamma, 2, FALSE, FALSE); + init_thunk(&thunks[17], r, winIVROverlay_IVROverlay_006_SetOverlayWidthInMeters, 2, TRUE, FALSE); + init_thunk(&thunks[18], r, winIVROverlay_IVROverlay_006_GetOverlayWidthInMeters, 2, FALSE, FALSE); + init_thunk(&thunks[19], r, winIVROverlay_IVROverlay_006_SetOverlayAutoCurveDistanceRangeInMeters, 3, TRUE, FALSE); + init_thunk(&thunks[20], r, winIVROverlay_IVROverlay_006_GetOverlayAutoCurveDistanceRangeInMeters, 3, FALSE, FALSE); + init_thunk(&thunks[21], r, winIVROverlay_IVROverlay_006_SetOverlayTextureBounds, 2, FALSE, FALSE); + init_thunk(&thunks[22], r, winIVROverlay_IVROverlay_006_GetOverlayTextureBounds, 2, FALSE, FALSE); + init_thunk(&thunks[23], r, winIVROverlay_IVROverlay_006_GetOverlayTransformType, 2, FALSE, FALSE); + init_thunk(&thunks[24], r, winIVROverlay_IVROverlay_006_SetOverlayTransformAbsolute, 3, FALSE, FALSE); + init_thunk(&thunks[25], r, winIVROverlay_IVROverlay_006_GetOverlayTransformAbsolute, 3, FALSE, FALSE); + init_thunk(&thunks[26], r, winIVROverlay_IVROverlay_006_SetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); + init_thunk(&thunks[27], r, winIVROverlay_IVROverlay_006_GetOverlayTransformTrackedDeviceRelative, 3, FALSE, FALSE); + init_thunk(&thunks[28], r, winIVROverlay_IVROverlay_006_ShowOverlay, 1, FALSE, FALSE); + init_thunk(&thunks[29], r, winIVROverlay_IVROverlay_006_HideOverlay, 1, FALSE, FALSE); + init_thunk(&thunks[30], r, winIVROverlay_IVROverlay_006_IsOverlayVisible, 1, FALSE, FALSE); + init_thunk(&thunks[31], r, winIVROverlay_IVROverlay_006_PollNextOverlayEvent, 2, FALSE, FALSE); + init_thunk(&thunks[32], r, winIVROverlay_IVROverlay_006_GetOverlayInputMethod, 2, FALSE, FALSE); + init_thunk(&thunks[33], r, winIVROverlay_IVROverlay_006_SetOverlayInputMethod, 2, FALSE, FALSE); + init_thunk(&thunks[34], r, winIVROverlay_IVROverlay_006_GetOverlayMouseScale, 2, FALSE, FALSE); + init_thunk(&thunks[35], r, winIVROverlay_IVROverlay_006_SetOverlayMouseScale, 2, FALSE, FALSE); + init_thunk(&thunks[36], r, winIVROverlay_IVROverlay_006_ComputeOverlayIntersection, 3, FALSE, FALSE); + init_thunk(&thunks[37], r, winIVROverlay_IVROverlay_006_HandleControllerOverlayInteractionAsMouse, 2, FALSE, FALSE); + init_thunk(&thunks[38], r, winIVROverlay_IVROverlay_006_IsHoverTargetOverlay, 1, FALSE, FALSE); + init_thunk(&thunks[39], r, winIVROverlay_IVROverlay_006_GetGamepadFocusOverlay, 0, FALSE, FALSE); + init_thunk(&thunks[40], r, winIVROverlay_IVROverlay_006_SetGamepadFocusOverlay, 1, FALSE, FALSE); + init_thunk(&thunks[41], r, winIVROverlay_IVROverlay_006_SetOverlayNeighbor, 3, FALSE, FALSE); + init_thunk(&thunks[42], r, winIVROverlay_IVROverlay_006_MoveGamepadFocusToNeighbor, 2, FALSE, FALSE); + init_thunk(&thunks[43], r, winIVROverlay_IVROverlay_006_SetOverlayTexture, 3, FALSE, FALSE); + init_thunk(&thunks[44], r, winIVROverlay_IVROverlay_006_ClearOverlayTexture, 1, FALSE, FALSE); + init_thunk(&thunks[45], r, winIVROverlay_IVROverlay_006_SetOverlayRaw, 5, FALSE, FALSE); + init_thunk(&thunks[46], r, winIVROverlay_IVROverlay_006_SetOverlayFromFile, 2, FALSE, FALSE); + init_thunk(&thunks[47], r, winIVROverlay_IVROverlay_006_CreateDashboardOverlay, 4, FALSE, FALSE); + init_thunk(&thunks[48], r, winIVROverlay_IVROverlay_006_IsDashboardVisible, 0, FALSE, FALSE); + init_thunk(&thunks[49], r, winIVROverlay_IVROverlay_006_IsActiveDashboardOverlay, 1, FALSE, FALSE); + init_thunk(&thunks[50], r, winIVROverlay_IVROverlay_006_SetDashboardOverlaySceneProcess, 2, FALSE, FALSE); + init_thunk(&thunks[51], r, winIVROverlay_IVROverlay_006_GetDashboardOverlaySceneProcess, 2, FALSE, FALSE); + init_thunk(&thunks[52], r, winIVROverlay_IVROverlay_006_ShowDashboard, 1, FALSE, FALSE); + init_thunk(&thunks[53], r, winIVROverlay_IVROverlay_006_ShowKeyboard, 7, FALSE, FALSE); + init_thunk(&thunks[54], r, winIVROverlay_IVROverlay_006_ShowKeyboardForOverlay, 8, FALSE, FALSE); + init_thunk(&thunks[55], r, winIVROverlay_IVROverlay_006_GetKeyboardText, 2, FALSE, FALSE); + init_thunk(&thunks[56], r, winIVROverlay_IVROverlay_006_HideKeyboard, 0, FALSE, FALSE); + for (i = 0; i < 57; i++) + vtable[i] = &thunks[i]; + r->u_iface = u_iface; + r->vtable = (void *)vtable; + return r; +} + +void destroy_winIVROverlay_IVROverlay_006_FnTable(struct w_iface *object) +{ + TRACE("%p\n", object); + VirtualFree(object->vtable[0], 0, MEM_RELEASE); + HeapFree(GetProcessHeap(), 0, object->vtable); + HeapFree(GetProcessHeap(), 0, object); +} + DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_FindOverlay, 12) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_CreateOverlay, 16) DEFINE_THISCALL_WRAPPER(winIVROverlay_IVROverlay_007_DestroyOverlay, 12) @@ -28162,6 +29128,7 @@ void init_winIVROverlay_rtti( char *base ) init_winIVROverlay_IVROverlay_003_rtti( base ); init_winIVROverlay_IVROverlay_004_rtti( base ); init_winIVROverlay_IVROverlay_005_rtti( base ); + init_winIVROverlay_IVROverlay_006_rtti( base ); init_winIVROverlay_IVROverlay_007_rtti( base ); init_winIVROverlay_IVROverlay_008_rtti( base ); init_winIVROverlay_IVROverlay_010_rtti( base ); diff --git a/vrclient_x64/winIVRRenderModels.c b/vrclient_x64/winIVRRenderModels.c index f829fd3d88..1a2dd55bc6 100644 --- a/vrclient_x64/winIVRRenderModels.c +++ b/vrclient_x64/winIVRRenderModels.c @@ -12,6 +12,11 @@ DEFINE_THISCALL_WRAPPER(winIVRRenderModels_IVRRenderModels_001_LoadRenderModel, DEFINE_THISCALL_WRAPPER(winIVRRenderModels_IVRRenderModels_001_FreeRenderModel, 8) DEFINE_THISCALL_WRAPPER(winIVRRenderModels_IVRRenderModels_001_GetRenderModelName, 16) DEFINE_THISCALL_WRAPPER(winIVRRenderModels_IVRRenderModels_001_GetRenderModelCount, 4) +DEFINE_THISCALL_WRAPPER(winIVRRenderModels_IVRRenderModels_001_GetComponentCount, 8) +DEFINE_THISCALL_WRAPPER(winIVRRenderModels_IVRRenderModels_001_GetComponentName, 20) +DEFINE_THISCALL_WRAPPER(winIVRRenderModels_IVRRenderModels_001_GetComponentButtonMask, 12) +DEFINE_THISCALL_WRAPPER(winIVRRenderModels_IVRRenderModels_001_GetComponentRenderModelName, 20) +DEFINE_THISCALL_WRAPPER(winIVRRenderModels_IVRRenderModels_001_GetComponentState, 76) int8_t __thiscall winIVRRenderModels_IVRRenderModels_001_LoadRenderModel(struct w_iface *_this, const char *pchRenderModelName, w_RenderModel_t_090 *pRenderModel) { @@ -62,6 +67,76 @@ uint32_t __thiscall winIVRRenderModels_IVRRenderModels_001_GetRenderModelCount(s return params._ret; } +uint32_t __thiscall winIVRRenderModels_IVRRenderModels_001_GetComponentCount(struct w_iface *_this, const char *pchRenderModelName) +{ + struct IVRRenderModels_IVRRenderModels_001_GetComponentCount_params params = + { + .u_iface = _this->u_iface, + .pchRenderModelName = pchRenderModelName, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRRenderModels_IVRRenderModels_001_GetComponentCount, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVRRenderModels_IVRRenderModels_001_GetComponentName(struct w_iface *_this, const char *pchRenderModelName, uint32_t unComponentIndex, char *pchComponentName, uint32_t unComponentNameLen) +{ + struct IVRRenderModels_IVRRenderModels_001_GetComponentName_params params = + { + .u_iface = _this->u_iface, + .pchRenderModelName = pchRenderModelName, + .unComponentIndex = unComponentIndex, + .pchComponentName = pchComponentName, + .unComponentNameLen = unComponentNameLen, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRRenderModels_IVRRenderModels_001_GetComponentName, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winIVRRenderModels_IVRRenderModels_001_GetComponentButtonMask(struct w_iface *_this, const char *pchRenderModelName, const char *pchComponentName) +{ + struct IVRRenderModels_IVRRenderModels_001_GetComponentButtonMask_params params = + { + .u_iface = _this->u_iface, + .pchRenderModelName = pchRenderModelName, + .pchComponentName = pchComponentName, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRRenderModels_IVRRenderModels_001_GetComponentButtonMask, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVRRenderModels_IVRRenderModels_001_GetComponentRenderModelName(struct w_iface *_this, const char *pchRenderModelName, const char *pchComponentName, char *pchComponentRenderModelName, uint32_t unComponentRenderModelNameLen) +{ + struct IVRRenderModels_IVRRenderModels_001_GetComponentRenderModelName_params params = + { + .u_iface = _this->u_iface, + .pchRenderModelName = pchRenderModelName, + .pchComponentName = pchComponentName, + .pchComponentRenderModelName = pchComponentRenderModelName, + .unComponentRenderModelNameLen = unComponentRenderModelNameLen, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRRenderModels_IVRRenderModels_001_GetComponentRenderModelName, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVRRenderModels_IVRRenderModels_001_GetComponentState(struct w_iface *_this, const char *pchRenderModelName, const char *pchComponentName, w_VRControllerState001_t controllerState, ComponentState_t *pComponentState) +{ + struct IVRRenderModels_IVRRenderModels_001_GetComponentState_params params = + { + .u_iface = _this->u_iface, + .pchRenderModelName = pchRenderModelName, + .pchComponentName = pchComponentName, + .controllerState = controllerState, + .pComponentState = pComponentState, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRRenderModels_IVRRenderModels_001_GetComponentState, ¶ms ); + return params._ret; +} + extern vtable_ptr winIVRRenderModels_IVRRenderModels_001_vtable; DEFINE_RTTI_DATA0(winIVRRenderModels_IVRRenderModels_001, 0, ".?AVIVRRenderModels@@") @@ -72,6 +147,11 @@ __ASM_BLOCK_BEGIN(winIVRRenderModels_IVRRenderModels_001_vtables) VTABLE_ADD_FUNC(winIVRRenderModels_IVRRenderModels_001_FreeRenderModel) VTABLE_ADD_FUNC(winIVRRenderModels_IVRRenderModels_001_GetRenderModelName) VTABLE_ADD_FUNC(winIVRRenderModels_IVRRenderModels_001_GetRenderModelCount) + VTABLE_ADD_FUNC(winIVRRenderModels_IVRRenderModels_001_GetComponentCount) + VTABLE_ADD_FUNC(winIVRRenderModels_IVRRenderModels_001_GetComponentName) + VTABLE_ADD_FUNC(winIVRRenderModels_IVRRenderModels_001_GetComponentButtonMask) + VTABLE_ADD_FUNC(winIVRRenderModels_IVRRenderModels_001_GetComponentRenderModelName) + VTABLE_ADD_FUNC(winIVRRenderModels_IVRRenderModels_001_GetComponentState) ); __ASM_BLOCK_END @@ -93,8 +173,8 @@ void destroy_winIVRRenderModels_IVRRenderModels_001(struct w_iface *object) struct w_iface *create_winIVRRenderModels_IVRRenderModels_001_FnTable( struct u_iface u_iface ) { struct w_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); - struct thunk *thunks = alloc_thunks(4); - struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 4 * sizeof(*vtable)); + struct thunk *thunks = alloc_thunks(9); + struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 9 * sizeof(*vtable)); int i; TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); @@ -102,7 +182,12 @@ struct w_iface *create_winIVRRenderModels_IVRRenderModels_001_FnTable( struct u_ 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++) + init_thunk(&thunks[4], r, winIVRRenderModels_IVRRenderModels_001_GetComponentCount, 1, FALSE, FALSE); + init_thunk(&thunks[5], r, winIVRRenderModels_IVRRenderModels_001_GetComponentName, 4, FALSE, FALSE); + init_thunk(&thunks[6], r, winIVRRenderModels_IVRRenderModels_001_GetComponentButtonMask, 2, FALSE, FALSE); + init_thunk(&thunks[7], r, winIVRRenderModels_IVRRenderModels_001_GetComponentRenderModelName, 4, FALSE, FALSE); + init_thunk(&thunks[8], r, winIVRRenderModels_IVRRenderModels_001_GetComponentState, 4, FALSE, FALSE); + for (i = 0; i < 9; i++) vtable[i] = &thunks[i]; r->u_iface = u_iface; r->vtable = (void *)vtable; diff --git a/vrclient_x64/winIVRSystem.c b/vrclient_x64/winIVRSystem.c index 5eb298d7ad..4822b1d628 100644 --- a/vrclient_x64/winIVRSystem.c +++ b/vrclient_x64/winIVRSystem.c @@ -2613,6 +2613,730 @@ void destroy_winIVRSystem_IVRSystem_006_FnTable(struct w_iface *object) HeapFree(GetProcessHeap(), 0, object); } +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetWindowBounds, 20) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetRecommendedRenderTargetSize, 12) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetEyeOutputViewport, 24) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetProjectionMatrix, 24) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetProjectionRaw, 24) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_ComputeDistortion, 20) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetEyeToHeadTransform, 12) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetTimeSinceLastVsync, 12) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetD3D9AdapterIndex, 4) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetDXGIOutputInfo, 12) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_AttachToWindow, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetDeviceToAbsoluteTrackingPose, 20) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_ResetSeatedZeroPose, 4) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetRawZeroPoseToStandingAbsoluteTrackingPose, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetSortedTrackedDeviceIndicesOfClass, 20) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetTrackedDeviceActivityLevel, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_ApplyTransform, 16) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetTrackedDeviceClass, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_IsTrackedDeviceConnected, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetBoolTrackedDeviceProperty, 16) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetFloatTrackedDeviceProperty, 16) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetInt32TrackedDeviceProperty, 16) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetUint64TrackedDeviceProperty, 16) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetMatrix34TrackedDeviceProperty, 20) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetStringTrackedDeviceProperty, 24) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetPropErrorNameFromEnum, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_PollNextEvent, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_PollNextEventWithPose, 16) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetEventTypeNameFromEnum, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetHiddenAreaMesh, 12) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetControllerState, 12) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetControllerStateWithPose, 20) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_TriggerHapticPulse, 16) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetButtonIdNameFromEnum, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_GetControllerAxisTypeNameFromEnum, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_CaptureInputFocus, 4) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_ReleaseInputFocus, 4) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_IsInputFocusCapturedByAnotherProcess, 4) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_DriverDebugRequest, 20) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_PerformFirmwareUpdate, 8) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_IsDisplayOnDesktop, 4) +DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_007_SetDisplayVisibility, 8) + +void __thiscall winIVRSystem_IVRSystem_007_GetWindowBounds(struct w_iface *_this, int32_t *pnX, int32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight) +{ + struct IVRSystem_IVRSystem_007_GetWindowBounds_params params = + { + .u_iface = _this->u_iface, + .pnX = pnX, + .pnY = pnY, + .pnWidth = pnWidth, + .pnHeight = pnHeight, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetWindowBounds, ¶ms ); +} + +void __thiscall winIVRSystem_IVRSystem_007_GetRecommendedRenderTargetSize(struct w_iface *_this, uint32_t *pnWidth, uint32_t *pnHeight) +{ + struct IVRSystem_IVRSystem_007_GetRecommendedRenderTargetSize_params params = + { + .u_iface = _this->u_iface, + .pnWidth = pnWidth, + .pnHeight = pnHeight, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetRecommendedRenderTargetSize, ¶ms ); +} + +void __thiscall winIVRSystem_IVRSystem_007_GetEyeOutputViewport(struct w_iface *_this, uint32_t eEye, uint32_t *pnX, uint32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight) +{ + struct IVRSystem_IVRSystem_007_GetEyeOutputViewport_params params = + { + .u_iface = _this->u_iface, + .eEye = eEye, + .pnX = pnX, + .pnY = pnY, + .pnWidth = pnWidth, + .pnHeight = pnHeight, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetEyeOutputViewport, ¶ms ); +} + +HmdMatrix44_t * __thiscall winIVRSystem_IVRSystem_007_GetProjectionMatrix(struct w_iface *_this, HmdMatrix44_t *_ret, uint32_t eEye, float fNearZ, float fFarZ, uint32_t eProjType) +{ + struct IVRSystem_IVRSystem_007_GetProjectionMatrix_params params = + { + .u_iface = _this->u_iface, + ._ret = _ret, + .eEye = eEye, + .fNearZ = fNearZ, + .fFarZ = fFarZ, + .eProjType = eProjType, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetProjectionMatrix, ¶ms ); + return params._ret; +} + +void __thiscall winIVRSystem_IVRSystem_007_GetProjectionRaw(struct w_iface *_this, uint32_t eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom) +{ + struct IVRSystem_IVRSystem_007_GetProjectionRaw_params params = + { + .u_iface = _this->u_iface, + .eEye = eEye, + .pfLeft = pfLeft, + .pfRight = pfRight, + .pfTop = pfTop, + .pfBottom = pfBottom, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetProjectionRaw, ¶ms ); +} + +DistortionCoordinates_t * __thiscall winIVRSystem_IVRSystem_007_ComputeDistortion(struct w_iface *_this, DistortionCoordinates_t *_ret, uint32_t eEye, float fU, float fV) +{ + struct IVRSystem_IVRSystem_007_ComputeDistortion_params params = + { + .u_iface = _this->u_iface, + ._ret = _ret, + .eEye = eEye, + .fU = fU, + .fV = fV, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_ComputeDistortion, ¶ms ); + return params._ret; +} + +HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_007_GetEyeToHeadTransform(struct w_iface *_this, HmdMatrix34_t *_ret, uint32_t eEye) +{ + struct IVRSystem_IVRSystem_007_GetEyeToHeadTransform_params params = + { + .u_iface = _this->u_iface, + ._ret = _ret, + .eEye = eEye, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetEyeToHeadTransform, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVRSystem_IVRSystem_007_GetTimeSinceLastVsync(struct w_iface *_this, float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter) +{ + struct IVRSystem_IVRSystem_007_GetTimeSinceLastVsync_params params = + { + .u_iface = _this->u_iface, + .pfSecondsSinceLastVsync = pfSecondsSinceLastVsync, + .pulFrameCounter = pulFrameCounter, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetTimeSinceLastVsync, ¶ms ); + return params._ret; +} + +int32_t __thiscall winIVRSystem_IVRSystem_007_GetD3D9AdapterIndex(struct w_iface *_this) +{ + struct IVRSystem_IVRSystem_007_GetD3D9AdapterIndex_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetD3D9AdapterIndex, ¶ms ); + return params._ret; +} + +extern void __thiscall winIVRSystem_IVRSystem_007_GetDXGIOutputInfo(struct w_iface *_this, int32_t *pnAdapterIndex, int32_t *pnAdapterOutputIndex); + +int8_t __thiscall winIVRSystem_IVRSystem_007_AttachToWindow(struct w_iface *_this, void *hWnd) +{ + struct IVRSystem_IVRSystem_007_AttachToWindow_params params = + { + .u_iface = _this->u_iface, + .hWnd = hWnd, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_AttachToWindow, ¶ms ); + return params._ret; +} + +void __thiscall winIVRSystem_IVRSystem_007_GetDeviceToAbsoluteTrackingPose(struct w_iface *_this, uint32_t eOrigin, float fPredictedSecondsToPhotonsFromNow, TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount) +{ + struct IVRSystem_IVRSystem_007_GetDeviceToAbsoluteTrackingPose_params params = + { + .u_iface = _this->u_iface, + .eOrigin = eOrigin, + .fPredictedSecondsToPhotonsFromNow = fPredictedSecondsToPhotonsFromNow, + .pTrackedDevicePoseArray = pTrackedDevicePoseArray, + .unTrackedDevicePoseArrayCount = unTrackedDevicePoseArrayCount, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetDeviceToAbsoluteTrackingPose, ¶ms ); +} + +void __thiscall winIVRSystem_IVRSystem_007_ResetSeatedZeroPose(struct w_iface *_this) +{ + struct IVRSystem_IVRSystem_007_ResetSeatedZeroPose_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_ResetSeatedZeroPose, ¶ms ); +} + +HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_007_GetSeatedZeroPoseToStandingAbsoluteTrackingPose(struct w_iface *_this, HmdMatrix34_t *_ret) +{ + struct IVRSystem_IVRSystem_007_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params params = + { + .u_iface = _this->u_iface, + ._ret = _ret, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); + return params._ret; +} + +HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_007_GetRawZeroPoseToStandingAbsoluteTrackingPose(struct w_iface *_this, HmdMatrix34_t *_ret) +{ + struct IVRSystem_IVRSystem_007_GetRawZeroPoseToStandingAbsoluteTrackingPose_params params = + { + .u_iface = _this->u_iface, + ._ret = _ret, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetRawZeroPoseToStandingAbsoluteTrackingPose, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVRSystem_IVRSystem_007_GetSortedTrackedDeviceIndicesOfClass(struct w_iface *_this, uint32_t eTrackedDeviceClass, uint32_t *punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, uint32_t unRelativeToTrackedDeviceIndex) +{ + struct IVRSystem_IVRSystem_007_GetSortedTrackedDeviceIndicesOfClass_params params = + { + .u_iface = _this->u_iface, + .eTrackedDeviceClass = eTrackedDeviceClass, + .punTrackedDeviceIndexArray = punTrackedDeviceIndexArray, + .unTrackedDeviceIndexArrayCount = unTrackedDeviceIndexArrayCount, + .unRelativeToTrackedDeviceIndex = unRelativeToTrackedDeviceIndex, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetSortedTrackedDeviceIndicesOfClass, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVRSystem_IVRSystem_007_GetTrackedDeviceActivityLevel(struct w_iface *_this, uint32_t unDeviceId) +{ + struct IVRSystem_IVRSystem_007_GetTrackedDeviceActivityLevel_params params = + { + .u_iface = _this->u_iface, + .unDeviceId = unDeviceId, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetTrackedDeviceActivityLevel, ¶ms ); + return params._ret; +} + +void __thiscall winIVRSystem_IVRSystem_007_ApplyTransform(struct w_iface *_this, TrackedDevicePose_t *pOutputPose, const TrackedDevicePose_t *trackedDevicePose, const HmdMatrix34_t *transform) +{ + struct IVRSystem_IVRSystem_007_ApplyTransform_params params = + { + .u_iface = _this->u_iface, + .pOutputPose = pOutputPose, + .trackedDevicePose = trackedDevicePose, + .transform = transform, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_ApplyTransform, ¶ms ); +} + +uint32_t __thiscall winIVRSystem_IVRSystem_007_GetTrackedDeviceClass(struct w_iface *_this, uint32_t unDeviceIndex) +{ + struct IVRSystem_IVRSystem_007_GetTrackedDeviceClass_params params = + { + .u_iface = _this->u_iface, + .unDeviceIndex = unDeviceIndex, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetTrackedDeviceClass, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVRSystem_IVRSystem_007_IsTrackedDeviceConnected(struct w_iface *_this, uint32_t unDeviceIndex) +{ + struct IVRSystem_IVRSystem_007_IsTrackedDeviceConnected_params params = + { + .u_iface = _this->u_iface, + .unDeviceIndex = unDeviceIndex, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_IsTrackedDeviceConnected, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVRSystem_IVRSystem_007_GetBoolTrackedDeviceProperty(struct w_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) +{ + struct IVRSystem_IVRSystem_007_GetBoolTrackedDeviceProperty_params params = + { + .u_iface = _this->u_iface, + .unDeviceIndex = unDeviceIndex, + .prop = prop, + .pError = pError, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetBoolTrackedDeviceProperty, ¶ms ); + return params._ret; +} + +float __thiscall winIVRSystem_IVRSystem_007_GetFloatTrackedDeviceProperty(struct w_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) +{ + struct IVRSystem_IVRSystem_007_GetFloatTrackedDeviceProperty_params params = + { + .u_iface = _this->u_iface, + .unDeviceIndex = unDeviceIndex, + .prop = prop, + .pError = pError, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetFloatTrackedDeviceProperty, ¶ms ); + return params._ret; +} + +int32_t __thiscall winIVRSystem_IVRSystem_007_GetInt32TrackedDeviceProperty(struct w_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) +{ + struct IVRSystem_IVRSystem_007_GetInt32TrackedDeviceProperty_params params = + { + .u_iface = _this->u_iface, + .unDeviceIndex = unDeviceIndex, + .prop = prop, + .pError = pError, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetInt32TrackedDeviceProperty, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winIVRSystem_IVRSystem_007_GetUint64TrackedDeviceProperty(struct w_iface *_this, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) +{ + struct IVRSystem_IVRSystem_007_GetUint64TrackedDeviceProperty_params params = + { + .u_iface = _this->u_iface, + .unDeviceIndex = unDeviceIndex, + .prop = prop, + .pError = pError, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetUint64TrackedDeviceProperty, ¶ms ); + return params._ret; +} + +HmdMatrix34_t * __thiscall winIVRSystem_IVRSystem_007_GetMatrix34TrackedDeviceProperty(struct w_iface *_this, HmdMatrix34_t *_ret, uint32_t unDeviceIndex, uint32_t prop, uint32_t *pError) +{ + struct IVRSystem_IVRSystem_007_GetMatrix34TrackedDeviceProperty_params params = + { + .u_iface = _this->u_iface, + ._ret = _ret, + .unDeviceIndex = unDeviceIndex, + .prop = prop, + .pError = pError, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetMatrix34TrackedDeviceProperty, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVRSystem_IVRSystem_007_GetStringTrackedDeviceProperty(struct w_iface *_this, uint32_t unDeviceIndex, uint32_t prop, char *pchValue, uint32_t unBufferSize, uint32_t *pError) +{ + struct IVRSystem_IVRSystem_007_GetStringTrackedDeviceProperty_params params = + { + .u_iface = _this->u_iface, + .unDeviceIndex = unDeviceIndex, + .prop = prop, + .pchValue = pchValue, + .unBufferSize = unBufferSize, + .pError = pError, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetStringTrackedDeviceProperty, ¶ms ); + return params._ret; +} + +const char * __thiscall winIVRSystem_IVRSystem_007_GetPropErrorNameFromEnum(struct w_iface *_this, uint32_t error) +{ + struct IVRSystem_IVRSystem_007_GetPropErrorNameFromEnum_params params = + { + .u_iface = _this->u_iface, + .error = error, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetPropErrorNameFromEnum, ¶ms ); + return get_unix_buffer( params._ret ); +} + +int8_t __thiscall winIVRSystem_IVRSystem_007_PollNextEvent(struct w_iface *_this, w_VREvent_t_0911 *pEvent) +{ + struct IVRSystem_IVRSystem_007_PollNextEvent_params params = + { + .u_iface = _this->u_iface, + .pEvent = pEvent, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_PollNextEvent, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVRSystem_IVRSystem_007_PollNextEventWithPose(struct w_iface *_this, uint32_t eOrigin, w_VREvent_t_0911 *pEvent, TrackedDevicePose_t *pTrackedDevicePose) +{ + struct IVRSystem_IVRSystem_007_PollNextEventWithPose_params params = + { + .u_iface = _this->u_iface, + .eOrigin = eOrigin, + .pEvent = pEvent, + .pTrackedDevicePose = pTrackedDevicePose, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_PollNextEventWithPose, ¶ms ); + return params._ret; +} + +const char * __thiscall winIVRSystem_IVRSystem_007_GetEventTypeNameFromEnum(struct w_iface *_this, uint32_t eType) +{ + struct IVRSystem_IVRSystem_007_GetEventTypeNameFromEnum_params params = + { + .u_iface = _this->u_iface, + .eType = eType, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetEventTypeNameFromEnum, ¶ms ); + return get_unix_buffer( params._ret ); +} + +w_HiddenAreaMesh_t * __thiscall winIVRSystem_IVRSystem_007_GetHiddenAreaMesh(struct w_iface *_this, w_HiddenAreaMesh_t *_ret, uint32_t eEye) +{ + struct IVRSystem_IVRSystem_007_GetHiddenAreaMesh_params params = + { + .u_iface = _this->u_iface, + ._ret = _ret, + .eEye = eEye, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetHiddenAreaMesh, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVRSystem_IVRSystem_007_GetControllerState(struct w_iface *_this, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState) +{ + struct IVRSystem_IVRSystem_007_GetControllerState_params params = + { + .u_iface = _this->u_iface, + .unControllerDeviceIndex = unControllerDeviceIndex, + .pControllerState = pControllerState, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetControllerState, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVRSystem_IVRSystem_007_GetControllerStateWithPose(struct w_iface *_this, uint32_t eOrigin, uint32_t unControllerDeviceIndex, w_VRControllerState001_t *pControllerState, TrackedDevicePose_t *pTrackedDevicePose) +{ + struct IVRSystem_IVRSystem_007_GetControllerStateWithPose_params params = + { + .u_iface = _this->u_iface, + .eOrigin = eOrigin, + .unControllerDeviceIndex = unControllerDeviceIndex, + .pControllerState = pControllerState, + .pTrackedDevicePose = pTrackedDevicePose, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetControllerStateWithPose, ¶ms ); + return params._ret; +} + +void __thiscall winIVRSystem_IVRSystem_007_TriggerHapticPulse(struct w_iface *_this, uint32_t unControllerDeviceIndex, uint32_t unAxisId, uint16_t usDurationMicroSec) +{ + struct IVRSystem_IVRSystem_007_TriggerHapticPulse_params params = + { + .u_iface = _this->u_iface, + .unControllerDeviceIndex = unControllerDeviceIndex, + .unAxisId = unAxisId, + .usDurationMicroSec = usDurationMicroSec, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_TriggerHapticPulse, ¶ms ); +} + +const char * __thiscall winIVRSystem_IVRSystem_007_GetButtonIdNameFromEnum(struct w_iface *_this, uint32_t eButtonId) +{ + struct IVRSystem_IVRSystem_007_GetButtonIdNameFromEnum_params params = + { + .u_iface = _this->u_iface, + .eButtonId = eButtonId, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetButtonIdNameFromEnum, ¶ms ); + return get_unix_buffer( params._ret ); +} + +const char * __thiscall winIVRSystem_IVRSystem_007_GetControllerAxisTypeNameFromEnum(struct w_iface *_this, uint32_t eAxisType) +{ + struct IVRSystem_IVRSystem_007_GetControllerAxisTypeNameFromEnum_params params = + { + .u_iface = _this->u_iface, + .eAxisType = eAxisType, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_GetControllerAxisTypeNameFromEnum, ¶ms ); + return get_unix_buffer( params._ret ); +} + +int8_t __thiscall winIVRSystem_IVRSystem_007_CaptureInputFocus(struct w_iface *_this) +{ + struct IVRSystem_IVRSystem_007_CaptureInputFocus_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_CaptureInputFocus, ¶ms ); + return params._ret; +} + +void __thiscall winIVRSystem_IVRSystem_007_ReleaseInputFocus(struct w_iface *_this) +{ + struct IVRSystem_IVRSystem_007_ReleaseInputFocus_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_ReleaseInputFocus, ¶ms ); +} + +int8_t __thiscall winIVRSystem_IVRSystem_007_IsInputFocusCapturedByAnotherProcess(struct w_iface *_this) +{ + struct IVRSystem_IVRSystem_007_IsInputFocusCapturedByAnotherProcess_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_IsInputFocusCapturedByAnotherProcess, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVRSystem_IVRSystem_007_DriverDebugRequest(struct w_iface *_this, uint32_t unDeviceIndex, const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize) +{ + struct IVRSystem_IVRSystem_007_DriverDebugRequest_params params = + { + .u_iface = _this->u_iface, + .unDeviceIndex = unDeviceIndex, + .pchRequest = pchRequest, + .pchResponseBuffer = pchResponseBuffer, + .unResponseBufferSize = unResponseBufferSize, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_DriverDebugRequest, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winIVRSystem_IVRSystem_007_PerformFirmwareUpdate(struct w_iface *_this, uint32_t unDeviceIndex) +{ + struct IVRSystem_IVRSystem_007_PerformFirmwareUpdate_params params = + { + .u_iface = _this->u_iface, + .unDeviceIndex = unDeviceIndex, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_PerformFirmwareUpdate, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVRSystem_IVRSystem_007_IsDisplayOnDesktop(struct w_iface *_this) +{ + struct IVRSystem_IVRSystem_007_IsDisplayOnDesktop_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_IsDisplayOnDesktop, ¶ms ); + return params._ret; +} + +int8_t __thiscall winIVRSystem_IVRSystem_007_SetDisplayVisibility(struct w_iface *_this, int8_t bIsVisibleOnDesktop) +{ + struct IVRSystem_IVRSystem_007_SetDisplayVisibility_params params = + { + .u_iface = _this->u_iface, + .bIsVisibleOnDesktop = bIsVisibleOnDesktop, + }; + TRACE("%p\n", _this); + VRCLIENT_CALL( IVRSystem_IVRSystem_007_SetDisplayVisibility, ¶ms ); + return params._ret; +} + +extern vtable_ptr winIVRSystem_IVRSystem_007_vtable; + +DEFINE_RTTI_DATA0(winIVRSystem_IVRSystem_007, 0, ".?AVIVRSystem@@") + +__ASM_BLOCK_BEGIN(winIVRSystem_IVRSystem_007_vtables) + __ASM_VTABLE(winIVRSystem_IVRSystem_007, + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetWindowBounds) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetRecommendedRenderTargetSize) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetEyeOutputViewport) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetProjectionMatrix) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetProjectionRaw) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_ComputeDistortion) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetEyeToHeadTransform) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetTimeSinceLastVsync) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetD3D9AdapterIndex) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetDXGIOutputInfo) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_AttachToWindow) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetDeviceToAbsoluteTrackingPose) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_ResetSeatedZeroPose) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetSeatedZeroPoseToStandingAbsoluteTrackingPose) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetRawZeroPoseToStandingAbsoluteTrackingPose) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetSortedTrackedDeviceIndicesOfClass) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetTrackedDeviceActivityLevel) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_ApplyTransform) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetTrackedDeviceClass) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_IsTrackedDeviceConnected) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetBoolTrackedDeviceProperty) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetFloatTrackedDeviceProperty) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetInt32TrackedDeviceProperty) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetUint64TrackedDeviceProperty) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetMatrix34TrackedDeviceProperty) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetStringTrackedDeviceProperty) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetPropErrorNameFromEnum) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_PollNextEvent) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_PollNextEventWithPose) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetEventTypeNameFromEnum) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetHiddenAreaMesh) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetControllerState) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetControllerStateWithPose) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_TriggerHapticPulse) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetButtonIdNameFromEnum) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_GetControllerAxisTypeNameFromEnum) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_CaptureInputFocus) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_ReleaseInputFocus) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_IsInputFocusCapturedByAnotherProcess) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_DriverDebugRequest) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_PerformFirmwareUpdate) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_IsDisplayOnDesktop) + VTABLE_ADD_FUNC(winIVRSystem_IVRSystem_007_SetDisplayVisibility) + ); +__ASM_BLOCK_END + +struct w_iface *create_winIVRSystem_IVRSystem_007( struct u_iface u_iface ) +{ + struct w_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); + TRACE("-> %p\n", r); + r->vtable = &winIVRSystem_IVRSystem_007_vtable; + r->u_iface = u_iface; + return r; +} + +void destroy_winIVRSystem_IVRSystem_007(struct w_iface *object) +{ + TRACE("%p\n", object); + HeapFree(GetProcessHeap(), 0, object); +} + +struct w_iface *create_winIVRSystem_IVRSystem_007_FnTable( struct u_iface u_iface ) +{ + struct w_iface *r = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*r)); + struct thunk *thunks = alloc_thunks(43); + struct thunk **vtable = HeapAlloc(GetProcessHeap(), 0, 43 * sizeof(*vtable)); + int i; + + TRACE("-> %p, vtable %p, thunks %p\n", r, vtable, thunks); + init_thunk(&thunks[0], r, winIVRSystem_IVRSystem_007_GetWindowBounds, 4, FALSE, FALSE); + init_thunk(&thunks[1], r, winIVRSystem_IVRSystem_007_GetRecommendedRenderTargetSize, 2, FALSE, FALSE); + init_thunk(&thunks[2], r, winIVRSystem_IVRSystem_007_GetEyeOutputViewport, 5, FALSE, FALSE); + init_thunk(&thunks[3], r, winIVRSystem_IVRSystem_007_GetProjectionMatrix, 5, TRUE, TRUE); + init_thunk(&thunks[4], r, winIVRSystem_IVRSystem_007_GetProjectionRaw, 5, FALSE, FALSE); + init_thunk(&thunks[5], r, winIVRSystem_IVRSystem_007_ComputeDistortion, 4, TRUE, TRUE); + init_thunk(&thunks[6], r, winIVRSystem_IVRSystem_007_GetEyeToHeadTransform, 2, FALSE, FALSE); + init_thunk(&thunks[7], r, winIVRSystem_IVRSystem_007_GetTimeSinceLastVsync, 2, FALSE, FALSE); + init_thunk(&thunks[8], r, winIVRSystem_IVRSystem_007_GetD3D9AdapterIndex, 0, FALSE, FALSE); + init_thunk(&thunks[9], r, winIVRSystem_IVRSystem_007_GetDXGIOutputInfo, 2, FALSE, FALSE); + init_thunk(&thunks[10], r, winIVRSystem_IVRSystem_007_AttachToWindow, 1, FALSE, FALSE); + init_thunk(&thunks[11], r, winIVRSystem_IVRSystem_007_GetDeviceToAbsoluteTrackingPose, 4, TRUE, FALSE); + init_thunk(&thunks[12], r, winIVRSystem_IVRSystem_007_ResetSeatedZeroPose, 0, FALSE, FALSE); + init_thunk(&thunks[13], r, winIVRSystem_IVRSystem_007_GetSeatedZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); + init_thunk(&thunks[14], r, winIVRSystem_IVRSystem_007_GetRawZeroPoseToStandingAbsoluteTrackingPose, 1, FALSE, FALSE); + init_thunk(&thunks[15], r, winIVRSystem_IVRSystem_007_GetSortedTrackedDeviceIndicesOfClass, 4, FALSE, FALSE); + init_thunk(&thunks[16], r, winIVRSystem_IVRSystem_007_GetTrackedDeviceActivityLevel, 1, FALSE, FALSE); + init_thunk(&thunks[17], r, winIVRSystem_IVRSystem_007_ApplyTransform, 3, FALSE, FALSE); + init_thunk(&thunks[18], r, winIVRSystem_IVRSystem_007_GetTrackedDeviceClass, 1, FALSE, FALSE); + init_thunk(&thunks[19], r, winIVRSystem_IVRSystem_007_IsTrackedDeviceConnected, 1, FALSE, FALSE); + init_thunk(&thunks[20], r, winIVRSystem_IVRSystem_007_GetBoolTrackedDeviceProperty, 3, FALSE, FALSE); + init_thunk(&thunks[21], r, winIVRSystem_IVRSystem_007_GetFloatTrackedDeviceProperty, 3, FALSE, FALSE); + init_thunk(&thunks[22], r, winIVRSystem_IVRSystem_007_GetInt32TrackedDeviceProperty, 3, FALSE, FALSE); + init_thunk(&thunks[23], r, winIVRSystem_IVRSystem_007_GetUint64TrackedDeviceProperty, 3, FALSE, FALSE); + init_thunk(&thunks[24], r, winIVRSystem_IVRSystem_007_GetMatrix34TrackedDeviceProperty, 4, FALSE, FALSE); + init_thunk(&thunks[25], r, winIVRSystem_IVRSystem_007_GetStringTrackedDeviceProperty, 5, FALSE, FALSE); + init_thunk(&thunks[26], r, winIVRSystem_IVRSystem_007_GetPropErrorNameFromEnum, 1, FALSE, FALSE); + init_thunk(&thunks[27], r, winIVRSystem_IVRSystem_007_PollNextEvent, 1, FALSE, FALSE); + init_thunk(&thunks[28], r, winIVRSystem_IVRSystem_007_PollNextEventWithPose, 3, FALSE, FALSE); + init_thunk(&thunks[29], r, winIVRSystem_IVRSystem_007_GetEventTypeNameFromEnum, 1, FALSE, FALSE); + init_thunk(&thunks[30], r, winIVRSystem_IVRSystem_007_GetHiddenAreaMesh, 2, FALSE, FALSE); + init_thunk(&thunks[31], r, winIVRSystem_IVRSystem_007_GetControllerState, 2, FALSE, FALSE); + init_thunk(&thunks[32], r, winIVRSystem_IVRSystem_007_GetControllerStateWithPose, 4, FALSE, FALSE); + init_thunk(&thunks[33], r, winIVRSystem_IVRSystem_007_TriggerHapticPulse, 3, FALSE, FALSE); + init_thunk(&thunks[34], r, winIVRSystem_IVRSystem_007_GetButtonIdNameFromEnum, 1, FALSE, FALSE); + init_thunk(&thunks[35], r, winIVRSystem_IVRSystem_007_GetControllerAxisTypeNameFromEnum, 1, FALSE, FALSE); + init_thunk(&thunks[36], r, winIVRSystem_IVRSystem_007_CaptureInputFocus, 0, FALSE, FALSE); + init_thunk(&thunks[37], r, winIVRSystem_IVRSystem_007_ReleaseInputFocus, 0, FALSE, FALSE); + init_thunk(&thunks[38], r, winIVRSystem_IVRSystem_007_IsInputFocusCapturedByAnotherProcess, 0, FALSE, FALSE); + init_thunk(&thunks[39], r, winIVRSystem_IVRSystem_007_DriverDebugRequest, 4, FALSE, FALSE); + init_thunk(&thunks[40], r, winIVRSystem_IVRSystem_007_PerformFirmwareUpdate, 1, FALSE, FALSE); + init_thunk(&thunks[41], r, winIVRSystem_IVRSystem_007_IsDisplayOnDesktop, 0, FALSE, FALSE); + init_thunk(&thunks[42], r, winIVRSystem_IVRSystem_007_SetDisplayVisibility, 1, FALSE, FALSE); + for (i = 0; i < 43; i++) + vtable[i] = &thunks[i]; + r->u_iface = u_iface; + r->vtable = (void *)vtable; + return r; +} + +void destroy_winIVRSystem_IVRSystem_007_FnTable(struct w_iface *object) +{ + TRACE("%p\n", object); + VirtualFree(object->vtable[0], 0, MEM_RELEASE); + HeapFree(GetProcessHeap(), 0, object->vtable); + HeapFree(GetProcessHeap(), 0, object); +} + DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetRecommendedRenderTargetSize, 12) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetProjectionMatrix, 24) DEFINE_THISCALL_WRAPPER(winIVRSystem_IVRSystem_009_GetProjectionRaw, 24) @@ -12563,6 +13287,7 @@ void init_winIVRSystem_rtti( char *base ) init_winIVRSystem_IVRSystem_004_rtti( base ); init_winIVRSystem_IVRSystem_005_rtti( base ); init_winIVRSystem_IVRSystem_006_rtti( base ); + init_winIVRSystem_IVRSystem_007_rtti( base ); init_winIVRSystem_IVRSystem_009_rtti( base ); init_winIVRSystem_IVRSystem_010_rtti( base ); init_winIVRSystem_IVRSystem_011_rtti( base ); From 1245314275e9598fad12579403da0e7ccf7904f1 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Fri, 19 Sep 2025 14:52:10 -0600 Subject: [PATCH 62/65] fixup! vrclient: Support SDK v0.9.11. CW-Bug-Id: #25966 --- vrclient_x64/cppIVROverlay_IVROverlay_006.cpp | 1025 +++++++++++++++++ vrclient_x64/cppIVRSystem_IVRSystem_007.cpp | 805 +++++++++++++ 2 files changed, 1830 insertions(+) create mode 100644 vrclient_x64/cppIVROverlay_IVROverlay_006.cpp create mode 100644 vrclient_x64/cppIVRSystem_IVRSystem_007.cpp diff --git a/vrclient_x64/cppIVROverlay_IVROverlay_006.cpp b/vrclient_x64/cppIVROverlay_IVROverlay_006.cpp new file mode 100644 index 0000000000..c29d74fbc9 --- /dev/null +++ b/vrclient_x64/cppIVROverlay_IVROverlay_006.cpp @@ -0,0 +1,1025 @@ +/* This file is auto-generated, do not edit. */ +#include "unix_private.h" + +#if 0 +#pragma makedep unix +#endif + +NTSTATUS IVROverlay_IVROverlay_006_FindOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_006_FindOverlay_params *params = (struct IVROverlay_IVROverlay_006_FindOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->FindOverlay( params->pchOverlayKey, params->pOverlayHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_FindOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_FindOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_006_FindOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->FindOverlay( params->pchOverlayKey, params->pOverlayHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_CreateOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_006_CreateOverlay_params *params = (struct IVROverlay_IVROverlay_006_CreateOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->CreateOverlay( params->pchOverlayKey, params->pchOverlayFriendlyName, params->pOverlayHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_CreateOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_CreateOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_006_CreateOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->CreateOverlay( params->pchOverlayKey, params->pchOverlayFriendlyName, params->pOverlayHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_DestroyOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_006_DestroyOverlay_params *params = (struct IVROverlay_IVROverlay_006_DestroyOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->DestroyOverlay( params->ulOverlayHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_DestroyOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_DestroyOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_006_DestroyOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->DestroyOverlay( params->ulOverlayHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_SetHighQualityOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_006_SetHighQualityOverlay_params *params = (struct IVROverlay_IVROverlay_006_SetHighQualityOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetHighQualityOverlay( params->ulOverlayHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetHighQualityOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_SetHighQualityOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_006_SetHighQualityOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetHighQualityOverlay( params->ulOverlayHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_GetHighQualityOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_006_GetHighQualityOverlay_params *params = (struct IVROverlay_IVROverlay_006_GetHighQualityOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetHighQualityOverlay( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetHighQualityOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_GetHighQualityOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_006_GetHighQualityOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetHighQualityOverlay( ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayKey( void *args ) +{ + struct IVROverlay_IVROverlay_006_GetOverlayKey_params *params = (struct IVROverlay_IVROverlay_006_GetOverlayKey_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayKey( params->ulOverlayHandle, params->pchValue, params->unBufferSize, params->pError ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayKey( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_GetOverlayKey_params *params = (struct wow64_IVROverlay_IVROverlay_006_GetOverlayKey_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayKey( params->ulOverlayHandle, params->pchValue, params->unBufferSize, params->pError ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayName( void *args ) +{ + struct IVROverlay_IVROverlay_006_GetOverlayName_params *params = (struct IVROverlay_IVROverlay_006_GetOverlayName_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayName( params->ulOverlayHandle, params->pchValue, params->unBufferSize, params->pError ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayName( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_GetOverlayName_params *params = (struct wow64_IVROverlay_IVROverlay_006_GetOverlayName_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayName( params->ulOverlayHandle, params->pchValue, params->unBufferSize, params->pError ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayImageData( void *args ) +{ + struct IVROverlay_IVROverlay_006_GetOverlayImageData_params *params = (struct IVROverlay_IVROverlay_006_GetOverlayImageData_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayImageData( params->ulOverlayHandle, params->pvBuffer, params->unBufferSize, params->punWidth, params->punHeight ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayImageData( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_GetOverlayImageData_params *params = (struct wow64_IVROverlay_IVROverlay_006_GetOverlayImageData_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayImageData( params->ulOverlayHandle, params->pvBuffer, params->unBufferSize, params->punWidth, params->punHeight ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayErrorNameFromEnum( void *args ) +{ + struct IVROverlay_IVROverlay_006_GetOverlayErrorNameFromEnum_params *params = (struct IVROverlay_IVROverlay_006_GetOverlayErrorNameFromEnum_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayErrorNameFromEnum( params->error ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayErrorNameFromEnum( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_GetOverlayErrorNameFromEnum_params *params = (struct wow64_IVROverlay_IVROverlay_006_GetOverlayErrorNameFromEnum_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayErrorNameFromEnum( params->error ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayFlag( void *args ) +{ + struct IVROverlay_IVROverlay_006_SetOverlayFlag_params *params = (struct IVROverlay_IVROverlay_006_SetOverlayFlag_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayFlag( params->ulOverlayHandle, params->eOverlayFlag, params->bEnabled ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayFlag( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_SetOverlayFlag_params *params = (struct wow64_IVROverlay_IVROverlay_006_SetOverlayFlag_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayFlag( params->ulOverlayHandle, params->eOverlayFlag, params->bEnabled ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayFlag( void *args ) +{ + struct IVROverlay_IVROverlay_006_GetOverlayFlag_params *params = (struct IVROverlay_IVROverlay_006_GetOverlayFlag_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayFlag( params->ulOverlayHandle, params->eOverlayFlag, params->pbEnabled ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayFlag( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_GetOverlayFlag_params *params = (struct wow64_IVROverlay_IVROverlay_006_GetOverlayFlag_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayFlag( params->ulOverlayHandle, params->eOverlayFlag, params->pbEnabled ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayColor( void *args ) +{ + struct IVROverlay_IVROverlay_006_SetOverlayColor_params *params = (struct IVROverlay_IVROverlay_006_SetOverlayColor_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayColor( params->ulOverlayHandle, params->fRed, params->fGreen, params->fBlue ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayColor( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_SetOverlayColor_params *params = (struct wow64_IVROverlay_IVROverlay_006_SetOverlayColor_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayColor( params->ulOverlayHandle, params->fRed, params->fGreen, params->fBlue ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayColor( void *args ) +{ + struct IVROverlay_IVROverlay_006_GetOverlayColor_params *params = (struct IVROverlay_IVROverlay_006_GetOverlayColor_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayColor( params->ulOverlayHandle, params->pfRed, params->pfGreen, params->pfBlue ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayColor( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_GetOverlayColor_params *params = (struct wow64_IVROverlay_IVROverlay_006_GetOverlayColor_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayColor( params->ulOverlayHandle, params->pfRed, params->pfGreen, params->pfBlue ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayAlpha( void *args ) +{ + struct IVROverlay_IVROverlay_006_SetOverlayAlpha_params *params = (struct IVROverlay_IVROverlay_006_SetOverlayAlpha_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayAlpha( params->ulOverlayHandle, params->fAlpha ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayAlpha( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_SetOverlayAlpha_params *params = (struct wow64_IVROverlay_IVROverlay_006_SetOverlayAlpha_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayAlpha( params->ulOverlayHandle, params->fAlpha ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayAlpha( void *args ) +{ + struct IVROverlay_IVROverlay_006_GetOverlayAlpha_params *params = (struct IVROverlay_IVROverlay_006_GetOverlayAlpha_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayAlpha( params->ulOverlayHandle, params->pfAlpha ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayAlpha( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_GetOverlayAlpha_params *params = (struct wow64_IVROverlay_IVROverlay_006_GetOverlayAlpha_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayAlpha( params->ulOverlayHandle, params->pfAlpha ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayGamma( void *args ) +{ + struct IVROverlay_IVROverlay_006_SetOverlayGamma_params *params = (struct IVROverlay_IVROverlay_006_SetOverlayGamma_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayGamma( params->ulOverlayHandle, params->fGamma ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayGamma( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_SetOverlayGamma_params *params = (struct wow64_IVROverlay_IVROverlay_006_SetOverlayGamma_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayGamma( params->ulOverlayHandle, params->fGamma ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayGamma( void *args ) +{ + struct IVROverlay_IVROverlay_006_GetOverlayGamma_params *params = (struct IVROverlay_IVROverlay_006_GetOverlayGamma_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayGamma( params->ulOverlayHandle, params->pfGamma ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayGamma( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_GetOverlayGamma_params *params = (struct wow64_IVROverlay_IVROverlay_006_GetOverlayGamma_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayGamma( params->ulOverlayHandle, params->pfGamma ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayWidthInMeters( void *args ) +{ + struct IVROverlay_IVROverlay_006_SetOverlayWidthInMeters_params *params = (struct IVROverlay_IVROverlay_006_SetOverlayWidthInMeters_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayWidthInMeters( params->ulOverlayHandle, params->fWidthInMeters ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayWidthInMeters( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_SetOverlayWidthInMeters_params *params = (struct wow64_IVROverlay_IVROverlay_006_SetOverlayWidthInMeters_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayWidthInMeters( params->ulOverlayHandle, params->fWidthInMeters ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayWidthInMeters( void *args ) +{ + struct IVROverlay_IVROverlay_006_GetOverlayWidthInMeters_params *params = (struct IVROverlay_IVROverlay_006_GetOverlayWidthInMeters_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayWidthInMeters( params->ulOverlayHandle, params->pfWidthInMeters ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayWidthInMeters( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_GetOverlayWidthInMeters_params *params = (struct wow64_IVROverlay_IVROverlay_006_GetOverlayWidthInMeters_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayWidthInMeters( params->ulOverlayHandle, params->pfWidthInMeters ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayAutoCurveDistanceRangeInMeters( void *args ) +{ + struct IVROverlay_IVROverlay_006_SetOverlayAutoCurveDistanceRangeInMeters_params *params = (struct IVROverlay_IVROverlay_006_SetOverlayAutoCurveDistanceRangeInMeters_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayAutoCurveDistanceRangeInMeters( params->ulOverlayHandle, params->fMinDistanceInMeters, params->fMaxDistanceInMeters ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayAutoCurveDistanceRangeInMeters( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_SetOverlayAutoCurveDistanceRangeInMeters_params *params = (struct wow64_IVROverlay_IVROverlay_006_SetOverlayAutoCurveDistanceRangeInMeters_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayAutoCurveDistanceRangeInMeters( params->ulOverlayHandle, params->fMinDistanceInMeters, params->fMaxDistanceInMeters ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayAutoCurveDistanceRangeInMeters( void *args ) +{ + struct IVROverlay_IVROverlay_006_GetOverlayAutoCurveDistanceRangeInMeters_params *params = (struct IVROverlay_IVROverlay_006_GetOverlayAutoCurveDistanceRangeInMeters_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayAutoCurveDistanceRangeInMeters( params->ulOverlayHandle, params->pfMinDistanceInMeters, params->pfMaxDistanceInMeters ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayAutoCurveDistanceRangeInMeters( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_GetOverlayAutoCurveDistanceRangeInMeters_params *params = (struct wow64_IVROverlay_IVROverlay_006_GetOverlayAutoCurveDistanceRangeInMeters_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayAutoCurveDistanceRangeInMeters( params->ulOverlayHandle, params->pfMinDistanceInMeters, params->pfMaxDistanceInMeters ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayTextureBounds( void *args ) +{ + struct IVROverlay_IVROverlay_006_SetOverlayTextureBounds_params *params = (struct IVROverlay_IVROverlay_006_SetOverlayTextureBounds_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayTextureBounds( params->ulOverlayHandle, params->pOverlayTextureBounds ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayTextureBounds( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_SetOverlayTextureBounds_params *params = (struct wow64_IVROverlay_IVROverlay_006_SetOverlayTextureBounds_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayTextureBounds( params->ulOverlayHandle, params->pOverlayTextureBounds ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayTextureBounds( void *args ) +{ + struct IVROverlay_IVROverlay_006_GetOverlayTextureBounds_params *params = (struct IVROverlay_IVROverlay_006_GetOverlayTextureBounds_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayTextureBounds( params->ulOverlayHandle, params->pOverlayTextureBounds ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayTextureBounds( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_GetOverlayTextureBounds_params *params = (struct wow64_IVROverlay_IVROverlay_006_GetOverlayTextureBounds_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayTextureBounds( params->ulOverlayHandle, params->pOverlayTextureBounds ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayTransformType( void *args ) +{ + struct IVROverlay_IVROverlay_006_GetOverlayTransformType_params *params = (struct IVROverlay_IVROverlay_006_GetOverlayTransformType_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayTransformType( params->ulOverlayHandle, params->peTransformType ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayTransformType( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_GetOverlayTransformType_params *params = (struct wow64_IVROverlay_IVROverlay_006_GetOverlayTransformType_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayTransformType( params->ulOverlayHandle, params->peTransformType ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayTransformAbsolute( void *args ) +{ + struct IVROverlay_IVROverlay_006_SetOverlayTransformAbsolute_params *params = (struct IVROverlay_IVROverlay_006_SetOverlayTransformAbsolute_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayTransformAbsolute( params->ulOverlayHandle, params->eTrackingOrigin, params->pmatTrackingOriginToOverlayTransform ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayTransformAbsolute( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_SetOverlayTransformAbsolute_params *params = (struct wow64_IVROverlay_IVROverlay_006_SetOverlayTransformAbsolute_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayTransformAbsolute( params->ulOverlayHandle, params->eTrackingOrigin, params->pmatTrackingOriginToOverlayTransform ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayTransformAbsolute( void *args ) +{ + struct IVROverlay_IVROverlay_006_GetOverlayTransformAbsolute_params *params = (struct IVROverlay_IVROverlay_006_GetOverlayTransformAbsolute_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayTransformAbsolute( params->ulOverlayHandle, params->peTrackingOrigin, params->pmatTrackingOriginToOverlayTransform ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayTransformAbsolute( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_GetOverlayTransformAbsolute_params *params = (struct wow64_IVROverlay_IVROverlay_006_GetOverlayTransformAbsolute_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayTransformAbsolute( params->ulOverlayHandle, params->peTrackingOrigin, params->pmatTrackingOriginToOverlayTransform ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayTransformTrackedDeviceRelative( void *args ) +{ + struct IVROverlay_IVROverlay_006_SetOverlayTransformTrackedDeviceRelative_params *params = (struct IVROverlay_IVROverlay_006_SetOverlayTransformTrackedDeviceRelative_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayTransformTrackedDeviceRelative( params->ulOverlayHandle, params->unTrackedDevice, params->pmatTrackedDeviceToOverlayTransform ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayTransformTrackedDeviceRelative( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_SetOverlayTransformTrackedDeviceRelative_params *params = (struct wow64_IVROverlay_IVROverlay_006_SetOverlayTransformTrackedDeviceRelative_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayTransformTrackedDeviceRelative( params->ulOverlayHandle, params->unTrackedDevice, params->pmatTrackedDeviceToOverlayTransform ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayTransformTrackedDeviceRelative( void *args ) +{ + struct IVROverlay_IVROverlay_006_GetOverlayTransformTrackedDeviceRelative_params *params = (struct IVROverlay_IVROverlay_006_GetOverlayTransformTrackedDeviceRelative_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayTransformTrackedDeviceRelative( params->ulOverlayHandle, params->punTrackedDevice, params->pmatTrackedDeviceToOverlayTransform ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayTransformTrackedDeviceRelative( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_GetOverlayTransformTrackedDeviceRelative_params *params = (struct wow64_IVROverlay_IVROverlay_006_GetOverlayTransformTrackedDeviceRelative_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayTransformTrackedDeviceRelative( params->ulOverlayHandle, params->punTrackedDevice, params->pmatTrackedDeviceToOverlayTransform ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_ShowOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_006_ShowOverlay_params *params = (struct IVROverlay_IVROverlay_006_ShowOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->ShowOverlay( params->ulOverlayHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_ShowOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_ShowOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_006_ShowOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->ShowOverlay( params->ulOverlayHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_HideOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_006_HideOverlay_params *params = (struct IVROverlay_IVROverlay_006_HideOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->HideOverlay( params->ulOverlayHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_HideOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_HideOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_006_HideOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->HideOverlay( params->ulOverlayHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_IsOverlayVisible( void *args ) +{ + struct IVROverlay_IVROverlay_006_IsOverlayVisible_params *params = (struct IVROverlay_IVROverlay_006_IsOverlayVisible_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->IsOverlayVisible( params->ulOverlayHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_IsOverlayVisible( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_IsOverlayVisible_params *params = (struct wow64_IVROverlay_IVROverlay_006_IsOverlayVisible_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->IsOverlayVisible( params->ulOverlayHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_PollNextOverlayEvent( void *args ) +{ + struct IVROverlay_IVROverlay_006_PollNextOverlayEvent_params *params = (struct IVROverlay_IVROverlay_006_PollNextOverlayEvent_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + u_VREvent_t_0911 u_pEvent; + if (params->pEvent) u_pEvent = *params->pEvent; + params->_ret = iface->PollNextOverlayEvent( params->ulOverlayHandle, params->pEvent ? &u_pEvent : nullptr ); + if (params->pEvent) *params->pEvent = u_pEvent; + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_PollNextOverlayEvent( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_PollNextOverlayEvent_params *params = (struct wow64_IVROverlay_IVROverlay_006_PollNextOverlayEvent_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + u_VREvent_t_0911 u_pEvent; + if (params->pEvent) u_pEvent = *params->pEvent; + params->_ret = iface->PollNextOverlayEvent( params->ulOverlayHandle, params->pEvent ? &u_pEvent : nullptr ); + if (params->pEvent) *params->pEvent = u_pEvent; + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayInputMethod( void *args ) +{ + struct IVROverlay_IVROverlay_006_GetOverlayInputMethod_params *params = (struct IVROverlay_IVROverlay_006_GetOverlayInputMethod_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayInputMethod( params->ulOverlayHandle, params->peInputMethod ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayInputMethod( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_GetOverlayInputMethod_params *params = (struct wow64_IVROverlay_IVROverlay_006_GetOverlayInputMethod_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayInputMethod( params->ulOverlayHandle, params->peInputMethod ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayInputMethod( void *args ) +{ + struct IVROverlay_IVROverlay_006_SetOverlayInputMethod_params *params = (struct IVROverlay_IVROverlay_006_SetOverlayInputMethod_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayInputMethod( params->ulOverlayHandle, params->eInputMethod ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayInputMethod( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_SetOverlayInputMethod_params *params = (struct wow64_IVROverlay_IVROverlay_006_SetOverlayInputMethod_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayInputMethod( params->ulOverlayHandle, params->eInputMethod ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_GetOverlayMouseScale( void *args ) +{ + struct IVROverlay_IVROverlay_006_GetOverlayMouseScale_params *params = (struct IVROverlay_IVROverlay_006_GetOverlayMouseScale_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayMouseScale( params->ulOverlayHandle, params->pvecMouseScale ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetOverlayMouseScale( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_GetOverlayMouseScale_params *params = (struct wow64_IVROverlay_IVROverlay_006_GetOverlayMouseScale_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetOverlayMouseScale( params->ulOverlayHandle, params->pvecMouseScale ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayMouseScale( void *args ) +{ + struct IVROverlay_IVROverlay_006_SetOverlayMouseScale_params *params = (struct IVROverlay_IVROverlay_006_SetOverlayMouseScale_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayMouseScale( params->ulOverlayHandle, params->pvecMouseScale ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayMouseScale( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_SetOverlayMouseScale_params *params = (struct wow64_IVROverlay_IVROverlay_006_SetOverlayMouseScale_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayMouseScale( params->ulOverlayHandle, params->pvecMouseScale ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_ComputeOverlayIntersection( void *args ) +{ + struct IVROverlay_IVROverlay_006_ComputeOverlayIntersection_params *params = (struct IVROverlay_IVROverlay_006_ComputeOverlayIntersection_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->ComputeOverlayIntersection( params->ulOverlayHandle, params->pParams, params->pResults ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_ComputeOverlayIntersection( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_ComputeOverlayIntersection_params *params = (struct wow64_IVROverlay_IVROverlay_006_ComputeOverlayIntersection_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->ComputeOverlayIntersection( params->ulOverlayHandle, params->pParams, params->pResults ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_HandleControllerOverlayInteractionAsMouse( void *args ) +{ + struct IVROverlay_IVROverlay_006_HandleControllerOverlayInteractionAsMouse_params *params = (struct IVROverlay_IVROverlay_006_HandleControllerOverlayInteractionAsMouse_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->HandleControllerOverlayInteractionAsMouse( params->ulOverlayHandle, params->unControllerDeviceIndex ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_HandleControllerOverlayInteractionAsMouse( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_HandleControllerOverlayInteractionAsMouse_params *params = (struct wow64_IVROverlay_IVROverlay_006_HandleControllerOverlayInteractionAsMouse_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->HandleControllerOverlayInteractionAsMouse( params->ulOverlayHandle, params->unControllerDeviceIndex ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_IsHoverTargetOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_006_IsHoverTargetOverlay_params *params = (struct IVROverlay_IVROverlay_006_IsHoverTargetOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->IsHoverTargetOverlay( params->ulOverlayHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_IsHoverTargetOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_IsHoverTargetOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_006_IsHoverTargetOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->IsHoverTargetOverlay( params->ulOverlayHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_GetGamepadFocusOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_006_GetGamepadFocusOverlay_params *params = (struct IVROverlay_IVROverlay_006_GetGamepadFocusOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetGamepadFocusOverlay( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetGamepadFocusOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_GetGamepadFocusOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_006_GetGamepadFocusOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetGamepadFocusOverlay( ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_SetGamepadFocusOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_006_SetGamepadFocusOverlay_params *params = (struct IVROverlay_IVROverlay_006_SetGamepadFocusOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetGamepadFocusOverlay( params->ulNewFocusOverlay ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetGamepadFocusOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_SetGamepadFocusOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_006_SetGamepadFocusOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetGamepadFocusOverlay( params->ulNewFocusOverlay ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayNeighbor( void *args ) +{ + struct IVROverlay_IVROverlay_006_SetOverlayNeighbor_params *params = (struct IVROverlay_IVROverlay_006_SetOverlayNeighbor_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayNeighbor( params->eDirection, params->ulFrom, params->ulTo ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayNeighbor( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_SetOverlayNeighbor_params *params = (struct wow64_IVROverlay_IVROverlay_006_SetOverlayNeighbor_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayNeighbor( params->eDirection, params->ulFrom, params->ulTo ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_MoveGamepadFocusToNeighbor( void *args ) +{ + struct IVROverlay_IVROverlay_006_MoveGamepadFocusToNeighbor_params *params = (struct IVROverlay_IVROverlay_006_MoveGamepadFocusToNeighbor_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->MoveGamepadFocusToNeighbor( params->eDirection, params->ulFrom ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_MoveGamepadFocusToNeighbor( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_MoveGamepadFocusToNeighbor_params *params = (struct wow64_IVROverlay_IVROverlay_006_MoveGamepadFocusToNeighbor_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->MoveGamepadFocusToNeighbor( params->eDirection, params->ulFrom ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_ClearOverlayTexture( void *args ) +{ + struct IVROverlay_IVROverlay_006_ClearOverlayTexture_params *params = (struct IVROverlay_IVROverlay_006_ClearOverlayTexture_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->ClearOverlayTexture( params->ulOverlayHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_ClearOverlayTexture( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_ClearOverlayTexture_params *params = (struct wow64_IVROverlay_IVROverlay_006_ClearOverlayTexture_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->ClearOverlayTexture( params->ulOverlayHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayRaw( void *args ) +{ + struct IVROverlay_IVROverlay_006_SetOverlayRaw_params *params = (struct IVROverlay_IVROverlay_006_SetOverlayRaw_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayRaw( params->ulOverlayHandle, params->pvBuffer, params->unWidth, params->unHeight, params->unDepth ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayRaw( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_SetOverlayRaw_params *params = (struct wow64_IVROverlay_IVROverlay_006_SetOverlayRaw_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetOverlayRaw( params->ulOverlayHandle, params->pvBuffer, params->unWidth, params->unHeight, params->unDepth ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_SetOverlayFromFile( void *args ) +{ + struct IVROverlay_IVROverlay_006_SetOverlayFromFile_params *params = (struct IVROverlay_IVROverlay_006_SetOverlayFromFile_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetOverlayFromFile( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_SetOverlayFromFile_params *params = (struct wow64_IVROverlay_IVROverlay_006_SetOverlayFromFile_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + char *u_pchFilePath = vrclient_dos_to_unix_path( params->pchFilePath ); + params->_ret = iface->SetOverlayFromFile( params->ulOverlayHandle, u_pchFilePath ); + vrclient_free_path( u_pchFilePath ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_CreateDashboardOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_006_CreateDashboardOverlay_params *params = (struct IVROverlay_IVROverlay_006_CreateDashboardOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->CreateDashboardOverlay( params->pchOverlayKey, params->pchOverlayFriendlyName, params->pMainHandle, params->pThumbnailHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_CreateDashboardOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_CreateDashboardOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_006_CreateDashboardOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->CreateDashboardOverlay( params->pchOverlayKey, params->pchOverlayFriendlyName, params->pMainHandle, params->pThumbnailHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_IsDashboardVisible( void *args ) +{ + struct IVROverlay_IVROverlay_006_IsDashboardVisible_params *params = (struct IVROverlay_IVROverlay_006_IsDashboardVisible_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->IsDashboardVisible( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_IsDashboardVisible( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_IsDashboardVisible_params *params = (struct wow64_IVROverlay_IVROverlay_006_IsDashboardVisible_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->IsDashboardVisible( ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_IsActiveDashboardOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_006_IsActiveDashboardOverlay_params *params = (struct IVROverlay_IVROverlay_006_IsActiveDashboardOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->IsActiveDashboardOverlay( params->ulOverlayHandle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_IsActiveDashboardOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_IsActiveDashboardOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_006_IsActiveDashboardOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->IsActiveDashboardOverlay( params->ulOverlayHandle ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_SetDashboardOverlaySceneProcess( void *args ) +{ + struct IVROverlay_IVROverlay_006_SetDashboardOverlaySceneProcess_params *params = (struct IVROverlay_IVROverlay_006_SetDashboardOverlaySceneProcess_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetDashboardOverlaySceneProcess( params->ulOverlayHandle, params->unProcessId ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_SetDashboardOverlaySceneProcess( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_SetDashboardOverlaySceneProcess_params *params = (struct wow64_IVROverlay_IVROverlay_006_SetDashboardOverlaySceneProcess_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->SetDashboardOverlaySceneProcess( params->ulOverlayHandle, params->unProcessId ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_GetDashboardOverlaySceneProcess( void *args ) +{ + struct IVROverlay_IVROverlay_006_GetDashboardOverlaySceneProcess_params *params = (struct IVROverlay_IVROverlay_006_GetDashboardOverlaySceneProcess_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetDashboardOverlaySceneProcess( params->ulOverlayHandle, params->punProcessId ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetDashboardOverlaySceneProcess( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_GetDashboardOverlaySceneProcess_params *params = (struct wow64_IVROverlay_IVROverlay_006_GetDashboardOverlaySceneProcess_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetDashboardOverlaySceneProcess( params->ulOverlayHandle, params->punProcessId ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_ShowDashboard( void *args ) +{ + struct IVROverlay_IVROverlay_006_ShowDashboard_params *params = (struct IVROverlay_IVROverlay_006_ShowDashboard_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + iface->ShowDashboard( params->pchOverlayToShow ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_ShowDashboard( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_ShowDashboard_params *params = (struct wow64_IVROverlay_IVROverlay_006_ShowDashboard_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + iface->ShowDashboard( params->pchOverlayToShow ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_ShowKeyboard( void *args ) +{ + struct IVROverlay_IVROverlay_006_ShowKeyboard_params *params = (struct IVROverlay_IVROverlay_006_ShowKeyboard_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->ShowKeyboard( params->eInputMode, params->eLineInputMode, params->pchDescription, params->unCharMax, params->pchExistingText, params->bUseMinimalMode, params->uUserValue ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_ShowKeyboard( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_ShowKeyboard_params *params = (struct wow64_IVROverlay_IVROverlay_006_ShowKeyboard_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->ShowKeyboard( params->eInputMode, params->eLineInputMode, params->pchDescription, params->unCharMax, params->pchExistingText, params->bUseMinimalMode, params->uUserValue ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_ShowKeyboardForOverlay( void *args ) +{ + struct IVROverlay_IVROverlay_006_ShowKeyboardForOverlay_params *params = (struct IVROverlay_IVROverlay_006_ShowKeyboardForOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->ShowKeyboardForOverlay( params->ulOverlayHandle, params->eInputMode, params->eLineInputMode, params->pchDescription, params->unCharMax, params->pchExistingText, params->bUseMinimalMode, params->uUserValue ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_ShowKeyboardForOverlay( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_ShowKeyboardForOverlay_params *params = (struct wow64_IVROverlay_IVROverlay_006_ShowKeyboardForOverlay_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->ShowKeyboardForOverlay( params->ulOverlayHandle, params->eInputMode, params->eLineInputMode, params->pchDescription, params->unCharMax, params->pchExistingText, params->bUseMinimalMode, params->uUserValue ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_GetKeyboardText( void *args ) +{ + struct IVROverlay_IVROverlay_006_GetKeyboardText_params *params = (struct IVROverlay_IVROverlay_006_GetKeyboardText_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetKeyboardText( params->pchText, params->cchText ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_GetKeyboardText( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_GetKeyboardText_params *params = (struct wow64_IVROverlay_IVROverlay_006_GetKeyboardText_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + params->_ret = iface->GetKeyboardText( params->pchText, params->cchText ); + return 0; +} +#endif + +NTSTATUS IVROverlay_IVROverlay_006_HideKeyboard( void *args ) +{ + struct IVROverlay_IVROverlay_006_HideKeyboard_params *params = (struct IVROverlay_IVROverlay_006_HideKeyboard_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + iface->HideKeyboard( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVROverlay_IVROverlay_006_HideKeyboard( void *args ) +{ + struct wow64_IVROverlay_IVROverlay_006_HideKeyboard_params *params = (struct wow64_IVROverlay_IVROverlay_006_HideKeyboard_params *)args; + struct u_IVROverlay_IVROverlay_006 *iface = (struct u_IVROverlay_IVROverlay_006 *)params->u_iface; + iface->HideKeyboard( ); + return 0; +} +#endif + diff --git a/vrclient_x64/cppIVRSystem_IVRSystem_007.cpp b/vrclient_x64/cppIVRSystem_IVRSystem_007.cpp new file mode 100644 index 0000000000..ec12c26ab1 --- /dev/null +++ b/vrclient_x64/cppIVRSystem_IVRSystem_007.cpp @@ -0,0 +1,805 @@ +/* This file is auto-generated, do not edit. */ +#include "unix_private.h" + +#if 0 +#pragma makedep unix +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetWindowBounds( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetWindowBounds_params *params = (struct IVRSystem_IVRSystem_007_GetWindowBounds_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + iface->GetWindowBounds( params->pnX, params->pnY, params->pnWidth, params->pnHeight ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetWindowBounds( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetWindowBounds_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetWindowBounds_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + iface->GetWindowBounds( params->pnX, params->pnY, params->pnWidth, params->pnHeight ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetRecommendedRenderTargetSize( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetRecommendedRenderTargetSize_params *params = (struct IVRSystem_IVRSystem_007_GetRecommendedRenderTargetSize_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + iface->GetRecommendedRenderTargetSize( params->pnWidth, params->pnHeight ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetRecommendedRenderTargetSize( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetRecommendedRenderTargetSize_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetRecommendedRenderTargetSize_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + iface->GetRecommendedRenderTargetSize( params->pnWidth, params->pnHeight ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetEyeOutputViewport( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetEyeOutputViewport_params *params = (struct IVRSystem_IVRSystem_007_GetEyeOutputViewport_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + iface->GetEyeOutputViewport( params->eEye, params->pnX, params->pnY, params->pnWidth, params->pnHeight ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetEyeOutputViewport( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetEyeOutputViewport_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetEyeOutputViewport_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + iface->GetEyeOutputViewport( params->eEye, params->pnX, params->pnY, params->pnWidth, params->pnHeight ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetProjectionMatrix( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetProjectionMatrix_params *params = (struct IVRSystem_IVRSystem_007_GetProjectionMatrix_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + *params->_ret = iface->GetProjectionMatrix( params->eEye, params->fNearZ, params->fFarZ, params->eProjType ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetProjectionMatrix( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetProjectionMatrix_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetProjectionMatrix_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + *params->_ret = iface->GetProjectionMatrix( params->eEye, params->fNearZ, params->fFarZ, params->eProjType ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetProjectionRaw( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetProjectionRaw_params *params = (struct IVRSystem_IVRSystem_007_GetProjectionRaw_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + iface->GetProjectionRaw( params->eEye, params->pfLeft, params->pfRight, params->pfTop, params->pfBottom ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetProjectionRaw( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetProjectionRaw_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetProjectionRaw_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + iface->GetProjectionRaw( params->eEye, params->pfLeft, params->pfRight, params->pfTop, params->pfBottom ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_ComputeDistortion( void *args ) +{ + struct IVRSystem_IVRSystem_007_ComputeDistortion_params *params = (struct IVRSystem_IVRSystem_007_ComputeDistortion_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + *params->_ret = iface->ComputeDistortion( params->eEye, params->fU, params->fV ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_ComputeDistortion( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_ComputeDistortion_params *params = (struct wow64_IVRSystem_IVRSystem_007_ComputeDistortion_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + *params->_ret = iface->ComputeDistortion( params->eEye, params->fU, params->fV ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetEyeToHeadTransform( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetEyeToHeadTransform_params *params = (struct IVRSystem_IVRSystem_007_GetEyeToHeadTransform_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + *params->_ret = iface->GetEyeToHeadTransform( params->eEye ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetEyeToHeadTransform( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetEyeToHeadTransform_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetEyeToHeadTransform_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + *params->_ret = iface->GetEyeToHeadTransform( params->eEye ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetTimeSinceLastVsync( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetTimeSinceLastVsync_params *params = (struct IVRSystem_IVRSystem_007_GetTimeSinceLastVsync_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetTimeSinceLastVsync( params->pfSecondsSinceLastVsync, params->pulFrameCounter ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetTimeSinceLastVsync( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetTimeSinceLastVsync_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetTimeSinceLastVsync_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetTimeSinceLastVsync( params->pfSecondsSinceLastVsync, params->pulFrameCounter ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetD3D9AdapterIndex( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetD3D9AdapterIndex_params *params = (struct IVRSystem_IVRSystem_007_GetD3D9AdapterIndex_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetD3D9AdapterIndex( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetD3D9AdapterIndex( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetD3D9AdapterIndex_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetD3D9AdapterIndex_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetD3D9AdapterIndex( ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetDXGIOutputInfo( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetDXGIOutputInfo_params *params = (struct IVRSystem_IVRSystem_007_GetDXGIOutputInfo_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + iface->GetDXGIOutputInfo( params->pnAdapterIndex, params->pnAdapterOutputIndex ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetDXGIOutputInfo( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetDXGIOutputInfo_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetDXGIOutputInfo_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + iface->GetDXGIOutputInfo( params->pnAdapterIndex, params->pnAdapterOutputIndex ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_AttachToWindow( void *args ) +{ + struct IVRSystem_IVRSystem_007_AttachToWindow_params *params = (struct IVRSystem_IVRSystem_007_AttachToWindow_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->AttachToWindow( params->hWnd ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_AttachToWindow( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_AttachToWindow_params *params = (struct wow64_IVRSystem_IVRSystem_007_AttachToWindow_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->AttachToWindow( params->hWnd ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetDeviceToAbsoluteTrackingPose( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetDeviceToAbsoluteTrackingPose_params *params = (struct IVRSystem_IVRSystem_007_GetDeviceToAbsoluteTrackingPose_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + iface->GetDeviceToAbsoluteTrackingPose( params->eOrigin, params->fPredictedSecondsToPhotonsFromNow, params->pTrackedDevicePoseArray, params->unTrackedDevicePoseArrayCount ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetDeviceToAbsoluteTrackingPose( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetDeviceToAbsoluteTrackingPose_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetDeviceToAbsoluteTrackingPose_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + iface->GetDeviceToAbsoluteTrackingPose( params->eOrigin, params->fPredictedSecondsToPhotonsFromNow, params->pTrackedDevicePoseArray, params->unTrackedDevicePoseArrayCount ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_ResetSeatedZeroPose( void *args ) +{ + struct IVRSystem_IVRSystem_007_ResetSeatedZeroPose_params *params = (struct IVRSystem_IVRSystem_007_ResetSeatedZeroPose_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + iface->ResetSeatedZeroPose( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_ResetSeatedZeroPose( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_ResetSeatedZeroPose_params *params = (struct wow64_IVRSystem_IVRSystem_007_ResetSeatedZeroPose_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + iface->ResetSeatedZeroPose( ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetSeatedZeroPoseToStandingAbsoluteTrackingPose( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params *params = (struct IVRSystem_IVRSystem_007_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + *params->_ret = iface->GetSeatedZeroPoseToStandingAbsoluteTrackingPose( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetSeatedZeroPoseToStandingAbsoluteTrackingPose( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetSeatedZeroPoseToStandingAbsoluteTrackingPose_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + *params->_ret = iface->GetSeatedZeroPoseToStandingAbsoluteTrackingPose( ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetRawZeroPoseToStandingAbsoluteTrackingPose( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetRawZeroPoseToStandingAbsoluteTrackingPose_params *params = (struct IVRSystem_IVRSystem_007_GetRawZeroPoseToStandingAbsoluteTrackingPose_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + *params->_ret = iface->GetRawZeroPoseToStandingAbsoluteTrackingPose( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetRawZeroPoseToStandingAbsoluteTrackingPose( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetRawZeroPoseToStandingAbsoluteTrackingPose_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetRawZeroPoseToStandingAbsoluteTrackingPose_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + *params->_ret = iface->GetRawZeroPoseToStandingAbsoluteTrackingPose( ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetSortedTrackedDeviceIndicesOfClass( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetSortedTrackedDeviceIndicesOfClass_params *params = (struct IVRSystem_IVRSystem_007_GetSortedTrackedDeviceIndicesOfClass_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetSortedTrackedDeviceIndicesOfClass( params->eTrackedDeviceClass, params->punTrackedDeviceIndexArray, params->unTrackedDeviceIndexArrayCount, params->unRelativeToTrackedDeviceIndex ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetSortedTrackedDeviceIndicesOfClass( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetSortedTrackedDeviceIndicesOfClass_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetSortedTrackedDeviceIndicesOfClass_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetSortedTrackedDeviceIndicesOfClass( params->eTrackedDeviceClass, params->punTrackedDeviceIndexArray, params->unTrackedDeviceIndexArrayCount, params->unRelativeToTrackedDeviceIndex ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetTrackedDeviceActivityLevel( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetTrackedDeviceActivityLevel_params *params = (struct IVRSystem_IVRSystem_007_GetTrackedDeviceActivityLevel_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetTrackedDeviceActivityLevel( params->unDeviceId ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetTrackedDeviceActivityLevel( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetTrackedDeviceActivityLevel_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetTrackedDeviceActivityLevel_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetTrackedDeviceActivityLevel( params->unDeviceId ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_ApplyTransform( void *args ) +{ + struct IVRSystem_IVRSystem_007_ApplyTransform_params *params = (struct IVRSystem_IVRSystem_007_ApplyTransform_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + iface->ApplyTransform( params->pOutputPose, params->trackedDevicePose, params->transform ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_ApplyTransform( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_ApplyTransform_params *params = (struct wow64_IVRSystem_IVRSystem_007_ApplyTransform_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + iface->ApplyTransform( params->pOutputPose, params->trackedDevicePose, params->transform ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetTrackedDeviceClass( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetTrackedDeviceClass_params *params = (struct IVRSystem_IVRSystem_007_GetTrackedDeviceClass_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetTrackedDeviceClass( params->unDeviceIndex ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetTrackedDeviceClass( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetTrackedDeviceClass_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetTrackedDeviceClass_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetTrackedDeviceClass( params->unDeviceIndex ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_IsTrackedDeviceConnected( void *args ) +{ + struct IVRSystem_IVRSystem_007_IsTrackedDeviceConnected_params *params = (struct IVRSystem_IVRSystem_007_IsTrackedDeviceConnected_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->IsTrackedDeviceConnected( params->unDeviceIndex ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_IsTrackedDeviceConnected( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_IsTrackedDeviceConnected_params *params = (struct wow64_IVRSystem_IVRSystem_007_IsTrackedDeviceConnected_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->IsTrackedDeviceConnected( params->unDeviceIndex ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetBoolTrackedDeviceProperty( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetBoolTrackedDeviceProperty_params *params = (struct IVRSystem_IVRSystem_007_GetBoolTrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetBoolTrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetBoolTrackedDeviceProperty( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetBoolTrackedDeviceProperty_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetBoolTrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetBoolTrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetFloatTrackedDeviceProperty( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetFloatTrackedDeviceProperty_params *params = (struct IVRSystem_IVRSystem_007_GetFloatTrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetFloatTrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetFloatTrackedDeviceProperty( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetFloatTrackedDeviceProperty_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetFloatTrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetFloatTrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetInt32TrackedDeviceProperty( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetInt32TrackedDeviceProperty_params *params = (struct IVRSystem_IVRSystem_007_GetInt32TrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetInt32TrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetInt32TrackedDeviceProperty( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetInt32TrackedDeviceProperty_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetInt32TrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetInt32TrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetUint64TrackedDeviceProperty( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetUint64TrackedDeviceProperty_params *params = (struct IVRSystem_IVRSystem_007_GetUint64TrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetUint64TrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetUint64TrackedDeviceProperty( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetUint64TrackedDeviceProperty_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetUint64TrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetUint64TrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetMatrix34TrackedDeviceProperty( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetMatrix34TrackedDeviceProperty_params *params = (struct IVRSystem_IVRSystem_007_GetMatrix34TrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + *params->_ret = iface->GetMatrix34TrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetMatrix34TrackedDeviceProperty( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetMatrix34TrackedDeviceProperty_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetMatrix34TrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + *params->_ret = iface->GetMatrix34TrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pError ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetStringTrackedDeviceProperty( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetStringTrackedDeviceProperty_params *params = (struct IVRSystem_IVRSystem_007_GetStringTrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetStringTrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pchValue, params->unBufferSize, params->pError ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetStringTrackedDeviceProperty( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetStringTrackedDeviceProperty_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetStringTrackedDeviceProperty_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetStringTrackedDeviceProperty( params->unDeviceIndex, params->prop, params->pchValue, params->unBufferSize, params->pError ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetPropErrorNameFromEnum( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetPropErrorNameFromEnum_params *params = (struct IVRSystem_IVRSystem_007_GetPropErrorNameFromEnum_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetPropErrorNameFromEnum( params->error ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetPropErrorNameFromEnum( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetPropErrorNameFromEnum_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetPropErrorNameFromEnum_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetPropErrorNameFromEnum( params->error ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_PollNextEvent( void *args ) +{ + struct IVRSystem_IVRSystem_007_PollNextEvent_params *params = (struct IVRSystem_IVRSystem_007_PollNextEvent_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + u_VREvent_t_0911 u_pEvent; + if (params->pEvent) u_pEvent = *params->pEvent; + params->_ret = iface->PollNextEvent( params->pEvent ? &u_pEvent : nullptr ); + if (params->pEvent) *params->pEvent = u_pEvent; + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_PollNextEvent( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_PollNextEvent_params *params = (struct wow64_IVRSystem_IVRSystem_007_PollNextEvent_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + u_VREvent_t_0911 u_pEvent; + if (params->pEvent) u_pEvent = *params->pEvent; + params->_ret = iface->PollNextEvent( params->pEvent ? &u_pEvent : nullptr ); + if (params->pEvent) *params->pEvent = u_pEvent; + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_PollNextEventWithPose( void *args ) +{ + struct IVRSystem_IVRSystem_007_PollNextEventWithPose_params *params = (struct IVRSystem_IVRSystem_007_PollNextEventWithPose_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + u_VREvent_t_0911 u_pEvent; + if (params->pEvent) u_pEvent = *params->pEvent; + params->_ret = iface->PollNextEventWithPose( params->eOrigin, params->pEvent ? &u_pEvent : nullptr, params->pTrackedDevicePose ); + if (params->pEvent) *params->pEvent = u_pEvent; + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_PollNextEventWithPose( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_PollNextEventWithPose_params *params = (struct wow64_IVRSystem_IVRSystem_007_PollNextEventWithPose_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + u_VREvent_t_0911 u_pEvent; + if (params->pEvent) u_pEvent = *params->pEvent; + params->_ret = iface->PollNextEventWithPose( params->eOrigin, params->pEvent ? &u_pEvent : nullptr, params->pTrackedDevicePose ); + if (params->pEvent) *params->pEvent = u_pEvent; + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetEventTypeNameFromEnum( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetEventTypeNameFromEnum_params *params = (struct IVRSystem_IVRSystem_007_GetEventTypeNameFromEnum_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetEventTypeNameFromEnum( params->eType ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetEventTypeNameFromEnum( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetEventTypeNameFromEnum_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetEventTypeNameFromEnum_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetEventTypeNameFromEnum( params->eType ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetHiddenAreaMesh( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetHiddenAreaMesh_params *params = (struct IVRSystem_IVRSystem_007_GetHiddenAreaMesh_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + *params->_ret = iface->GetHiddenAreaMesh( params->eEye ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetHiddenAreaMesh( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetHiddenAreaMesh_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetHiddenAreaMesh_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + *params->_ret = iface->GetHiddenAreaMesh( params->eEye ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetControllerState( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetControllerState_params *params = (struct IVRSystem_IVRSystem_007_GetControllerState_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + u_VRControllerState001_t u_pControllerState; + if (params->pControllerState) u_pControllerState = *params->pControllerState; + params->_ret = iface->GetControllerState( params->unControllerDeviceIndex, params->pControllerState ? &u_pControllerState : nullptr ); + if (params->pControllerState) *params->pControllerState = u_pControllerState; + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetControllerState( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetControllerState_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetControllerState_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + u_VRControllerState001_t u_pControllerState; + if (params->pControllerState) u_pControllerState = *params->pControllerState; + params->_ret = iface->GetControllerState( params->unControllerDeviceIndex, params->pControllerState ? &u_pControllerState : nullptr ); + if (params->pControllerState) *params->pControllerState = u_pControllerState; + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetControllerStateWithPose( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetControllerStateWithPose_params *params = (struct IVRSystem_IVRSystem_007_GetControllerStateWithPose_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + u_VRControllerState001_t u_pControllerState; + if (params->pControllerState) u_pControllerState = *params->pControllerState; + params->_ret = iface->GetControllerStateWithPose( params->eOrigin, params->unControllerDeviceIndex, params->pControllerState ? &u_pControllerState : nullptr, params->pTrackedDevicePose ); + if (params->pControllerState) *params->pControllerState = u_pControllerState; + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetControllerStateWithPose( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetControllerStateWithPose_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetControllerStateWithPose_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + u_VRControllerState001_t u_pControllerState; + if (params->pControllerState) u_pControllerState = *params->pControllerState; + params->_ret = iface->GetControllerStateWithPose( params->eOrigin, params->unControllerDeviceIndex, params->pControllerState ? &u_pControllerState : nullptr, params->pTrackedDevicePose ); + if (params->pControllerState) *params->pControllerState = u_pControllerState; + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_TriggerHapticPulse( void *args ) +{ + struct IVRSystem_IVRSystem_007_TriggerHapticPulse_params *params = (struct IVRSystem_IVRSystem_007_TriggerHapticPulse_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + iface->TriggerHapticPulse( params->unControllerDeviceIndex, params->unAxisId, params->usDurationMicroSec ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_TriggerHapticPulse( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_TriggerHapticPulse_params *params = (struct wow64_IVRSystem_IVRSystem_007_TriggerHapticPulse_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + iface->TriggerHapticPulse( params->unControllerDeviceIndex, params->unAxisId, params->usDurationMicroSec ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetButtonIdNameFromEnum( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetButtonIdNameFromEnum_params *params = (struct IVRSystem_IVRSystem_007_GetButtonIdNameFromEnum_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetButtonIdNameFromEnum( params->eButtonId ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetButtonIdNameFromEnum( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetButtonIdNameFromEnum_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetButtonIdNameFromEnum_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetButtonIdNameFromEnum( params->eButtonId ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_GetControllerAxisTypeNameFromEnum( void *args ) +{ + struct IVRSystem_IVRSystem_007_GetControllerAxisTypeNameFromEnum_params *params = (struct IVRSystem_IVRSystem_007_GetControllerAxisTypeNameFromEnum_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetControllerAxisTypeNameFromEnum( params->eAxisType ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_GetControllerAxisTypeNameFromEnum( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_GetControllerAxisTypeNameFromEnum_params *params = (struct wow64_IVRSystem_IVRSystem_007_GetControllerAxisTypeNameFromEnum_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->GetControllerAxisTypeNameFromEnum( params->eAxisType ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_CaptureInputFocus( void *args ) +{ + struct IVRSystem_IVRSystem_007_CaptureInputFocus_params *params = (struct IVRSystem_IVRSystem_007_CaptureInputFocus_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->CaptureInputFocus( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_CaptureInputFocus( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_CaptureInputFocus_params *params = (struct wow64_IVRSystem_IVRSystem_007_CaptureInputFocus_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->CaptureInputFocus( ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_ReleaseInputFocus( void *args ) +{ + struct IVRSystem_IVRSystem_007_ReleaseInputFocus_params *params = (struct IVRSystem_IVRSystem_007_ReleaseInputFocus_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + iface->ReleaseInputFocus( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_ReleaseInputFocus( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_ReleaseInputFocus_params *params = (struct wow64_IVRSystem_IVRSystem_007_ReleaseInputFocus_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + iface->ReleaseInputFocus( ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_IsInputFocusCapturedByAnotherProcess( void *args ) +{ + struct IVRSystem_IVRSystem_007_IsInputFocusCapturedByAnotherProcess_params *params = (struct IVRSystem_IVRSystem_007_IsInputFocusCapturedByAnotherProcess_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->IsInputFocusCapturedByAnotherProcess( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_IsInputFocusCapturedByAnotherProcess( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_IsInputFocusCapturedByAnotherProcess_params *params = (struct wow64_IVRSystem_IVRSystem_007_IsInputFocusCapturedByAnotherProcess_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->IsInputFocusCapturedByAnotherProcess( ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_DriverDebugRequest( void *args ) +{ + struct IVRSystem_IVRSystem_007_DriverDebugRequest_params *params = (struct IVRSystem_IVRSystem_007_DriverDebugRequest_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->DriverDebugRequest( params->unDeviceIndex, params->pchRequest, params->pchResponseBuffer, params->unResponseBufferSize ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_DriverDebugRequest( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_DriverDebugRequest_params *params = (struct wow64_IVRSystem_IVRSystem_007_DriverDebugRequest_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->DriverDebugRequest( params->unDeviceIndex, params->pchRequest, params->pchResponseBuffer, params->unResponseBufferSize ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_PerformFirmwareUpdate( void *args ) +{ + struct IVRSystem_IVRSystem_007_PerformFirmwareUpdate_params *params = (struct IVRSystem_IVRSystem_007_PerformFirmwareUpdate_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->PerformFirmwareUpdate( params->unDeviceIndex ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_PerformFirmwareUpdate( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_PerformFirmwareUpdate_params *params = (struct wow64_IVRSystem_IVRSystem_007_PerformFirmwareUpdate_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->PerformFirmwareUpdate( params->unDeviceIndex ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_IsDisplayOnDesktop( void *args ) +{ + struct IVRSystem_IVRSystem_007_IsDisplayOnDesktop_params *params = (struct IVRSystem_IVRSystem_007_IsDisplayOnDesktop_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->IsDisplayOnDesktop( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_IsDisplayOnDesktop( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_IsDisplayOnDesktop_params *params = (struct wow64_IVRSystem_IVRSystem_007_IsDisplayOnDesktop_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->IsDisplayOnDesktop( ); + return 0; +} +#endif + +NTSTATUS IVRSystem_IVRSystem_007_SetDisplayVisibility( void *args ) +{ + struct IVRSystem_IVRSystem_007_SetDisplayVisibility_params *params = (struct IVRSystem_IVRSystem_007_SetDisplayVisibility_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->SetDisplayVisibility( params->bIsVisibleOnDesktop ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_IVRSystem_IVRSystem_007_SetDisplayVisibility( void *args ) +{ + struct wow64_IVRSystem_IVRSystem_007_SetDisplayVisibility_params *params = (struct wow64_IVRSystem_IVRSystem_007_SetDisplayVisibility_params *)args; + struct u_IVRSystem_IVRSystem_007 *iface = (struct u_IVRSystem_IVRSystem_007 *)params->u_iface; + params->_ret = iface->SetDisplayVisibility( params->bIsVisibleOnDesktop ); + return 0; +} +#endif + From 8cf189f75c97fd3f5eacf5625843fcc378a573ee Mon Sep 17 00:00:00 2001 From: Shaun Ren Date: Mon, 22 Sep 2025 15:36:46 -0400 Subject: [PATCH 63/65] proton: Disable hidraw for Sony controllers, for God of War: Ragnorok with SteamDeck=1. Sony controllers in hidraw mode require PSPCSDK, which is not loaded when the game is launched with SteamDeck=1. CW-Bug-Id: #24811 --- proton | 5 +++++ wine | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/proton b/proton index 489e474766..75efb2b26c 100755 --- a/proton +++ b/proton @@ -1791,6 +1791,11 @@ class Session: if "fnad3d11" in self.compat_config and "FNA3D_FORCE_DRIVER" not in self.env: self.env["FNA3D_FORCE_DRIVER"] = "D3D11" + if (os.environ.get("SteamGameId", 0) == "2322010" and # God of War: Ragnarok + os.environ.get("SteamDeck", 0) == "1"): + # Disable hidraw for Sony DualShock and DualSense controllers. + self.env["PROTON_DISABLE_HIDRAW"] = "0x054C/0x05C4,0x054C/0x09CC,0x054C/0x0BA0,0x054C/0x0CE6,0x054C/0x0DF2" + # NVIDIA software may check for the "DriverStore" by querying the # NGXCore\NGXPath registry key via `D3DDDI_QUERYREGISTRY_SERVICEKEY` for # a given adapter. In the case where this path cannot be found, the diff --git a/wine b/wine index a2b5858c7a..bc96ffaa94 160000 --- a/wine +++ b/wine @@ -1 +1 @@ -Subproject commit a2b5858c7a8882f6c8367ad1850f60b0f3106bd9 +Subproject commit bc96ffaa9415ae9dcf2ea9ee05554d2de4814e6e From ffab01e72f428bfdeb583dbd35de43d30c463532 Mon Sep 17 00:00:00 2001 From: Proton Merge Bot Date: Mon, 22 Sep 2025 22:41:02 +0000 Subject: [PATCH 64/65] update submodules --- dxvk | 2 +- dxvk-nvapi | 2 +- vkd3d | 2 +- vkd3d-proton | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dxvk b/dxvk index 08870ab62b..70d6d4f5b9 160000 --- a/dxvk +++ b/dxvk @@ -1 +1 @@ -Subproject commit 08870ab62b36fc3b34e2e425994683a393255a46 +Subproject commit 70d6d4f5b9fa3b3d241c538757ff46698d98d0a8 diff --git a/dxvk-nvapi b/dxvk-nvapi index 5fa4b3c7cd..6bc947de82 160000 --- a/dxvk-nvapi +++ b/dxvk-nvapi @@ -1 +1 @@ -Subproject commit 5fa4b3c7cddc3c8cd6a55b4489f12433703a208b +Subproject commit 6bc947de8214a124f14e15a7cecc9ed1723deb3c diff --git a/vkd3d b/vkd3d index 7c0da1747a..cb8c851bec 160000 --- a/vkd3d +++ b/vkd3d @@ -1 +1 @@ -Subproject commit 7c0da1747a89a8cea27a42ace51b318e9d843a19 +Subproject commit cb8c851bec08a9483ce52f57c71922c9b145b9d3 diff --git a/vkd3d-proton b/vkd3d-proton index 2b766f7639..29118094b1 160000 --- a/vkd3d-proton +++ b/vkd3d-proton @@ -1 +1 @@ -Subproject commit 2b766f7639cfb0c9c04fc110a51807a6867b60a2 +Subproject commit 29118094b1069d36ac7f948d215a727cf802ae1b From c4791b30ddabb0ffd6f9fd138b24cd489310005a Mon Sep 17 00:00:00 2001 From: PeakKS Date: Sun, 21 Sep 2025 17:01:16 -0400 Subject: [PATCH 65/65] lsteamclient: Synthesize SDK version 1.59x For UGC_STEAMUGC_INTERFACE_VERSION019. --- ...SteamUGC_STEAMUGC_INTERFACE_VERSION019.cpp | 1679 +++++++++++++++ ...SteamUGC_STEAMUGC_INTERFACE_VERSION020.cpp | 4 +- ...SteamUGC_STEAMUGC_INTERFACE_VERSION021.cpp | 4 +- lsteamclient/gen_wrapper.py | 1 + lsteamclient/steamclient_generated.c | 1 + lsteamclient/steamclient_generated.h | 1 + lsteamclient/steamclient_structs_generated.h | 116 +- lsteamclient/steamworks_sdk_159x/isteamapps.h | 192 ++ .../steamworks_sdk_159x/isteamappticket.h | 28 + .../steamworks_sdk_159x/isteamclient.h | 173 ++ .../steamworks_sdk_159x/isteamcontroller.h | 726 +++++++ .../steamworks_sdk_159x/isteamdualsense.h | 169 ++ .../steamworks_sdk_159x/isteamfriends.h | 757 +++++++ .../isteamgamecoordinator.h | 74 + .../steamworks_sdk_159x/isteamgameserver.h | 394 ++++ .../isteamgameserverstats.h | 114 + .../steamworks_sdk_159x/isteamhtmlsurface.h | 479 +++++ lsteamclient/steamworks_sdk_159x/isteamhttp.h | 219 ++ .../steamworks_sdk_159x/isteaminput.h | 982 +++++++++ .../steamworks_sdk_159x/isteaminventory.h | 435 ++++ .../steamworks_sdk_159x/isteammatchmaking.h | 1087 ++++++++++ .../steamworks_sdk_159x/isteammusic.h | 71 + .../steamworks_sdk_159x/isteammusicremote.h | 133 ++ .../steamworks_sdk_159x/isteamnetworking.h | 343 +++ .../isteamnetworkingmessages.h | 197 ++ .../isteamnetworkingsockets.h | 1029 +++++++++ .../isteamnetworkingutils.h | 503 +++++ .../isteamparentalsettings.h | 64 + .../isteamps3overlayrenderer.h | 91 + .../steamworks_sdk_159x/isteamremoteplay.h | 99 + .../steamworks_sdk_159x/isteamremotestorage.h | 661 ++++++ .../steamworks_sdk_159x/isteamscreenshots.h | 120 ++ lsteamclient/steamworks_sdk_159x/isteamugc.h | 627 ++++++ lsteamclient/steamworks_sdk_159x/isteamuser.h | 439 ++++ .../steamworks_sdk_159x/isteamuserstats.h | 487 +++++ .../steamworks_sdk_159x/isteamutils.h | 343 +++ .../steamworks_sdk_159x/isteamvideo.h | 68 + .../steamworks_sdk_159x/matchmakingtypes.h | 231 ++ lsteamclient/steamworks_sdk_159x/steam_api.h | 374 ++++ .../steamworks_sdk_159x/steam_api_common.h | 249 +++ .../steamworks_sdk_159x/steam_api_flat.h | 1268 +++++++++++ .../steamworks_sdk_159x/steam_api_internal.h | 396 ++++ .../steamworks_sdk_159x/steam_gameserver.h | 137 ++ .../steamworks_sdk_159x/steamclientpublic.h | 1188 +++++++++++ .../steamencryptedappticket.h | 40 + .../steamworks_sdk_159x/steamhttpenums.h | 105 + .../steamnetworkingfakeip.h | 135 ++ .../steamnetworkingtypes.h | 1871 +++++++++++++++++ .../steamworks_sdk_159x/steamps3params.h | 112 + lsteamclient/steamworks_sdk_159x/steamtypes.h | 156 ++ .../steamworks_sdk_159x/steamuniverse.h | 27 + lsteamclient/unix_private_generated.h | 283 ++- lsteamclient/unixlib_generated.cpp | 830 +++++--- lsteamclient/unixlib_generated.h | 1627 +++++++++++++- lsteamclient/winISteamUGC.c | 1449 ++++++++++++- 55 files changed, 22994 insertions(+), 394 deletions(-) create mode 100644 lsteamclient/cppISteamUGC_STEAMUGC_INTERFACE_VERSION019.cpp create mode 100644 lsteamclient/steamworks_sdk_159x/isteamapps.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamappticket.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamclient.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamcontroller.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamdualsense.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamfriends.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamgamecoordinator.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamgameserver.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamgameserverstats.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamhtmlsurface.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamhttp.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteaminput.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteaminventory.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteammatchmaking.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteammusic.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteammusicremote.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamnetworking.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamnetworkingmessages.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamnetworkingsockets.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamnetworkingutils.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamparentalsettings.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamps3overlayrenderer.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamremoteplay.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamremotestorage.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamscreenshots.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamugc.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamuser.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamuserstats.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamutils.h create mode 100644 lsteamclient/steamworks_sdk_159x/isteamvideo.h create mode 100644 lsteamclient/steamworks_sdk_159x/matchmakingtypes.h create mode 100644 lsteamclient/steamworks_sdk_159x/steam_api.h create mode 100644 lsteamclient/steamworks_sdk_159x/steam_api_common.h create mode 100644 lsteamclient/steamworks_sdk_159x/steam_api_flat.h create mode 100644 lsteamclient/steamworks_sdk_159x/steam_api_internal.h create mode 100644 lsteamclient/steamworks_sdk_159x/steam_gameserver.h create mode 100644 lsteamclient/steamworks_sdk_159x/steamclientpublic.h create mode 100644 lsteamclient/steamworks_sdk_159x/steamencryptedappticket.h create mode 100644 lsteamclient/steamworks_sdk_159x/steamhttpenums.h create mode 100644 lsteamclient/steamworks_sdk_159x/steamnetworkingfakeip.h create mode 100644 lsteamclient/steamworks_sdk_159x/steamnetworkingtypes.h create mode 100644 lsteamclient/steamworks_sdk_159x/steamps3params.h create mode 100644 lsteamclient/steamworks_sdk_159x/steamtypes.h create mode 100644 lsteamclient/steamworks_sdk_159x/steamuniverse.h diff --git a/lsteamclient/cppISteamUGC_STEAMUGC_INTERFACE_VERSION019.cpp b/lsteamclient/cppISteamUGC_STEAMUGC_INTERFACE_VERSION019.cpp new file mode 100644 index 0000000000..ed0986e775 --- /dev/null +++ b/lsteamclient/cppISteamUGC_STEAMUGC_INTERFACE_VERSION019.cpp @@ -0,0 +1,1679 @@ +/* This file is auto-generated, do not edit. */ +#include "unix_private.h" + +#if 0 +#pragma makedep unix +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUserUGCRequest( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUserUGCRequest_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUserUGCRequest_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->CreateQueryUserUGCRequest( params->unAccountID, params->eListType, params->eMatchingUGCType, params->eSortOrder, params->nCreatorAppID, params->nConsumerAppID, params->unPage ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUserUGCRequest( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUserUGCRequest_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUserUGCRequest_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->CreateQueryUserUGCRequest( params->unAccountID, params->eListType, params->eMatchingUGCType, params->eSortOrder, params->nCreatorAppID, params->nConsumerAppID, params->unPage ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->CreateQueryAllUGCRequest( params->eQueryType, params->eMatchingeMatchingUGCTypeFileType, params->nCreatorAppID, params->nConsumerAppID, params->unPage ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->CreateQueryAllUGCRequest( params->eQueryType, params->eMatchingeMatchingUGCTypeFileType, params->nCreatorAppID, params->nConsumerAppID, params->unPage ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_2( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_2_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_2_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->CreateQueryAllUGCRequest( params->eQueryType, params->eMatchingeMatchingUGCTypeFileType, params->nCreatorAppID, params->nConsumerAppID, params->pchCursor ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_2( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_2_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_2_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->CreateQueryAllUGCRequest( params->eQueryType, params->eMatchingeMatchingUGCTypeFileType, params->nCreatorAppID, params->nConsumerAppID, params->pchCursor ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUGCDetailsRequest( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUGCDetailsRequest_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUGCDetailsRequest_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->CreateQueryUGCDetailsRequest( params->pvecPublishedFileID, params->unNumPublishedFileIDs ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUGCDetailsRequest( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUGCDetailsRequest_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUGCDetailsRequest_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->CreateQueryUGCDetailsRequest( params->pvecPublishedFileID, params->unNumPublishedFileIDs ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SendQueryUGCRequest( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SendQueryUGCRequest_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SendQueryUGCRequest_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SendQueryUGCRequest( params->handle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SendQueryUGCRequest( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SendQueryUGCRequest_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SendQueryUGCRequest_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SendQueryUGCRequest( params->handle ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCResult( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCResult_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCResult_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + u_SteamUGCDetails_t_159x u_pDetails = *params->pDetails; + params->_ret = iface->GetQueryUGCResult( params->handle, params->index, &u_pDetails ); + *params->pDetails = u_pDetails; + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCResult( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCResult_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCResult_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + u_SteamUGCDetails_t_159x u_pDetails = *params->pDetails; + params->_ret = iface->GetQueryUGCResult( params->handle, params->index, &u_pDetails ); + *params->pDetails = u_pDetails; + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumTags( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumTags_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumTags_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCNumTags( params->handle, params->index ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumTags( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumTags_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumTags_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCNumTags( params->handle, params->index ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTag( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTag_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTag_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCTag( params->handle, params->index, params->indexTag, params->pchValue, params->cchValueSize ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTag( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTag_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTag_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCTag( params->handle, params->index, params->indexTag, params->pchValue, params->cchValueSize ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTagDisplayName( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTagDisplayName_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTagDisplayName_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCTagDisplayName( params->handle, params->index, params->indexTag, params->pchValue, params->cchValueSize ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTagDisplayName( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTagDisplayName_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTagDisplayName_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCTagDisplayName( params->handle, params->index, params->indexTag, params->pchValue, params->cchValueSize ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCPreviewURL( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCPreviewURL_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCPreviewURL_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCPreviewURL( params->handle, params->index, params->pchURL, params->cchURLSize ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCPreviewURL( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCPreviewURL_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCPreviewURL_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCPreviewURL( params->handle, params->index, params->pchURL, params->cchURLSize ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCMetadata( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCMetadata_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCMetadata_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCMetadata( params->handle, params->index, params->pchMetadata, params->cchMetadatasize ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCMetadata( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCMetadata_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCMetadata_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCMetadata( params->handle, params->index, params->pchMetadata, params->cchMetadatasize ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCChildren( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCChildren_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCChildren_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCChildren( params->handle, params->index, params->pvecPublishedFileID, params->cMaxEntries ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCChildren( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCChildren_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCChildren_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCChildren( params->handle, params->index, params->pvecPublishedFileID, params->cMaxEntries ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCStatistic( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCStatistic_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCStatistic_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCStatistic( params->handle, params->index, params->eStatType, params->pStatValue ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCStatistic( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCStatistic_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCStatistic_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCStatistic( params->handle, params->index, params->eStatType, params->pStatValue ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumAdditionalPreviews( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumAdditionalPreviews_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumAdditionalPreviews_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCNumAdditionalPreviews( params->handle, params->index ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumAdditionalPreviews( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumAdditionalPreviews_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumAdditionalPreviews_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCNumAdditionalPreviews( params->handle, params->index ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCAdditionalPreview( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCAdditionalPreview_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCAdditionalPreview_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCAdditionalPreview( params->handle, params->index, params->previewIndex, params->pchURLOrVideoID, params->cchURLSize, params->pchOriginalFileName, params->cchOriginalFileNameSize, params->pPreviewType ); + steamclient_unix_path_to_dos_path( params->_ret, params->pchURLOrVideoID, params->pchURLOrVideoID, params->cchURLSize, 1 ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCAdditionalPreview( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCAdditionalPreview_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCAdditionalPreview_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCAdditionalPreview( params->handle, params->index, params->previewIndex, params->pchURLOrVideoID, params->cchURLSize, params->pchOriginalFileName, params->cchOriginalFileNameSize, params->pPreviewType ); + steamclient_unix_path_to_dos_path( params->_ret, params->pchURLOrVideoID, params->pchURLOrVideoID, params->cchURLSize, 1 ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumKeyValueTags( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumKeyValueTags_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumKeyValueTags_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCNumKeyValueTags( params->handle, params->index ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumKeyValueTags( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumKeyValueTags_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumKeyValueTags_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCNumKeyValueTags( params->handle, params->index ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCKeyValueTag( params->handle, params->index, params->keyValueTagIndex, params->pchKey, params->cchKeySize, params->pchValue, params->cchValueSize ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCKeyValueTag( params->handle, params->index, params->keyValueTagIndex, params->pchKey, params->cchKeySize, params->pchValue, params->cchValueSize ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_2( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_2_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_2_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCKeyValueTag( params->handle, params->index, params->pchKey, params->pchValue, params->cchValueSize ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_2( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_2_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_2_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCKeyValueTag( params->handle, params->index, params->pchKey, params->pchValue, params->cchValueSize ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCContentDescriptors( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCContentDescriptors_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCContentDescriptors_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCContentDescriptors( params->handle, params->index, params->pvecDescriptors, params->cMaxEntries ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCContentDescriptors( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCContentDescriptors_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCContentDescriptors_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetQueryUGCContentDescriptors( params->handle, params->index, params->pvecDescriptors, params->cMaxEntries ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ReleaseQueryUGCRequest( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ReleaseQueryUGCRequest_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ReleaseQueryUGCRequest_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->ReleaseQueryUGCRequest( params->handle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ReleaseQueryUGCRequest( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ReleaseQueryUGCRequest_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ReleaseQueryUGCRequest_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->ReleaseQueryUGCRequest( params->handle ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTag( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTag_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTag_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->AddRequiredTag( params->handle, params->pTagName ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTag( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTag_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTag_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->AddRequiredTag( params->handle, params->pTagName ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTagGroup( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTagGroup_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTagGroup_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + const u_SteamParamStringArray_t u_pTagGroups = *params->pTagGroups; + params->_ret = iface->AddRequiredTagGroup( params->handle, &u_pTagGroups ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTagGroup( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTagGroup_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTagGroup_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + const u_SteamParamStringArray_t *u_pTagGroups = params->pTagGroups ? new const u_SteamParamStringArray_t( *params->pTagGroups ) : nullptr; + params->_ret = iface->AddRequiredTagGroup( params->handle, u_pTagGroups ); + if (u_pTagGroups) delete u_pTagGroups; + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddExcludedTag( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddExcludedTag_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddExcludedTag_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->AddExcludedTag( params->handle, params->pTagName ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddExcludedTag( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddExcludedTag_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddExcludedTag_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->AddExcludedTag( params->handle, params->pTagName ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnOnlyIDs( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnOnlyIDs_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnOnlyIDs_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetReturnOnlyIDs( params->handle, params->bReturnOnlyIDs ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnOnlyIDs( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnOnlyIDs_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnOnlyIDs_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetReturnOnlyIDs( params->handle, params->bReturnOnlyIDs ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnKeyValueTags( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnKeyValueTags_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnKeyValueTags_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetReturnKeyValueTags( params->handle, params->bReturnKeyValueTags ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnKeyValueTags( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnKeyValueTags_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnKeyValueTags_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetReturnKeyValueTags( params->handle, params->bReturnKeyValueTags ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnLongDescription( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnLongDescription_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnLongDescription_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetReturnLongDescription( params->handle, params->bReturnLongDescription ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnLongDescription( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnLongDescription_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnLongDescription_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetReturnLongDescription( params->handle, params->bReturnLongDescription ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnMetadata( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnMetadata_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnMetadata_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetReturnMetadata( params->handle, params->bReturnMetadata ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnMetadata( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnMetadata_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnMetadata_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetReturnMetadata( params->handle, params->bReturnMetadata ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnChildren( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnChildren_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnChildren_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetReturnChildren( params->handle, params->bReturnChildren ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnChildren( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnChildren_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnChildren_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetReturnChildren( params->handle, params->bReturnChildren ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnAdditionalPreviews( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnAdditionalPreviews_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnAdditionalPreviews_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetReturnAdditionalPreviews( params->handle, params->bReturnAdditionalPreviews ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnAdditionalPreviews( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnAdditionalPreviews_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnAdditionalPreviews_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetReturnAdditionalPreviews( params->handle, params->bReturnAdditionalPreviews ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnTotalOnly( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnTotalOnly_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnTotalOnly_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetReturnTotalOnly( params->handle, params->bReturnTotalOnly ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnTotalOnly( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnTotalOnly_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnTotalOnly_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetReturnTotalOnly( params->handle, params->bReturnTotalOnly ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnPlaytimeStats( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnPlaytimeStats_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnPlaytimeStats_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetReturnPlaytimeStats( params->handle, params->unDays ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnPlaytimeStats( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnPlaytimeStats_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnPlaytimeStats_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetReturnPlaytimeStats( params->handle, params->unDays ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetLanguage( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetLanguage_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetLanguage_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetLanguage( params->handle, params->pchLanguage ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetLanguage( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetLanguage_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetLanguage_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetLanguage( params->handle, params->pchLanguage ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowCachedResponse( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowCachedResponse_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowCachedResponse_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetAllowCachedResponse( params->handle, params->unMaxAgeSeconds ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowCachedResponse( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowCachedResponse_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowCachedResponse_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetAllowCachedResponse( params->handle, params->unMaxAgeSeconds ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAdminQuery( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAdminQuery_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAdminQuery_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetAdminQuery( params->handle, params->bAdminQuery ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAdminQuery( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAdminQuery_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAdminQuery_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetAdminQuery( params->handle, params->bAdminQuery ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetCloudFileNameFilter( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetCloudFileNameFilter_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetCloudFileNameFilter_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetCloudFileNameFilter( params->handle, params->pMatchCloudFileName ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetCloudFileNameFilter( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetCloudFileNameFilter_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetCloudFileNameFilter_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetCloudFileNameFilter( params->handle, params->pMatchCloudFileName ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetMatchAnyTag( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetMatchAnyTag_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetMatchAnyTag_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetMatchAnyTag( params->handle, params->bMatchAnyTag ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetMatchAnyTag( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetMatchAnyTag_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetMatchAnyTag_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetMatchAnyTag( params->handle, params->bMatchAnyTag ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetSearchText( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetSearchText_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetSearchText_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetSearchText( params->handle, params->pSearchText ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetSearchText( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetSearchText_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetSearchText_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetSearchText( params->handle, params->pSearchText ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetRankedByTrendDays( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetRankedByTrendDays_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetRankedByTrendDays_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetRankedByTrendDays( params->handle, params->unDays ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetRankedByTrendDays( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetRankedByTrendDays_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetRankedByTrendDays_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetRankedByTrendDays( params->handle, params->unDays ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeCreatedDateRange( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeCreatedDateRange_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeCreatedDateRange_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetTimeCreatedDateRange( params->handle, params->rtStart, params->rtEnd ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeCreatedDateRange( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeCreatedDateRange_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeCreatedDateRange_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetTimeCreatedDateRange( params->handle, params->rtStart, params->rtEnd ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeUpdatedDateRange( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeUpdatedDateRange_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeUpdatedDateRange_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetTimeUpdatedDateRange( params->handle, params->rtStart, params->rtEnd ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeUpdatedDateRange( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeUpdatedDateRange_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeUpdatedDateRange_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetTimeUpdatedDateRange( params->handle, params->rtStart, params->rtEnd ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredKeyValueTag( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredKeyValueTag_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredKeyValueTag_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->AddRequiredKeyValueTag( params->handle, params->pKey, params->pValue ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredKeyValueTag( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredKeyValueTag_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredKeyValueTag_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->AddRequiredKeyValueTag( params->handle, params->pKey, params->pValue ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RequestUGCDetails( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RequestUGCDetails_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RequestUGCDetails_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->RequestUGCDetails( params->nPublishedFileID, params->unMaxAgeSeconds ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RequestUGCDetails( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RequestUGCDetails_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RequestUGCDetails_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->RequestUGCDetails( params->nPublishedFileID, params->unMaxAgeSeconds ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateItem( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateItem_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateItem_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->CreateItem( params->nConsumerAppId, params->eFileType ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateItem( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateItem_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateItem_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->CreateItem( params->nConsumerAppId, params->eFileType ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartItemUpdate( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartItemUpdate_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartItemUpdate_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->StartItemUpdate( params->nConsumerAppId, params->nPublishedFileID ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartItemUpdate( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartItemUpdate_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartItemUpdate_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->StartItemUpdate( params->nConsumerAppId, params->nPublishedFileID ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTitle( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTitle_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTitle_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetItemTitle( params->handle, params->pchTitle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTitle( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTitle_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTitle_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetItemTitle( params->handle, params->pchTitle ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemDescription( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemDescription_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemDescription_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetItemDescription( params->handle, params->pchDescription ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemDescription( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemDescription_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemDescription_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetItemDescription( params->handle, params->pchDescription ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemUpdateLanguage( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemUpdateLanguage_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemUpdateLanguage_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetItemUpdateLanguage( params->handle, params->pchLanguage ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemUpdateLanguage( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemUpdateLanguage_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemUpdateLanguage_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetItemUpdateLanguage( params->handle, params->pchLanguage ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemMetadata( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemMetadata_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemMetadata_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetItemMetadata( params->handle, params->pchMetaData ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemMetadata( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemMetadata_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemMetadata_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetItemMetadata( params->handle, params->pchMetaData ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemVisibility( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemVisibility_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemVisibility_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetItemVisibility( params->handle, params->eVisibility ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemVisibility( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemVisibility_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemVisibility_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetItemVisibility( params->handle, params->eVisibility ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTags( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTags_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTags_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + const u_SteamParamStringArray_t u_pTags = *params->pTags; + params->_ret = iface->SetItemTags( params->updateHandle, &u_pTags, params->bAllowAdminTags ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTags( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTags_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTags_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + const u_SteamParamStringArray_t *u_pTags = params->pTags ? new const u_SteamParamStringArray_t( *params->pTags ) : nullptr; + params->_ret = iface->SetItemTags( params->updateHandle, u_pTags, params->bAllowAdminTags ); + if (u_pTags) delete u_pTags; + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemContent( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemContent_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemContent_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + char *u_pszContentFolder = steamclient_dos_to_unix_path( params->pszContentFolder, 0 ); + params->_ret = iface->SetItemContent( params->handle, u_pszContentFolder ); + steamclient_free_path( u_pszContentFolder ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemContent( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemContent_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemContent_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + char *u_pszContentFolder = steamclient_dos_to_unix_path( params->pszContentFolder, 0 ); + params->_ret = iface->SetItemContent( params->handle, u_pszContentFolder ); + steamclient_free_path( u_pszContentFolder ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemPreview( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemPreview_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemPreview_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + char *u_pszPreviewFile = steamclient_dos_to_unix_path( params->pszPreviewFile, 0 ); + params->_ret = iface->SetItemPreview( params->handle, u_pszPreviewFile ); + steamclient_free_path( u_pszPreviewFile ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemPreview( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemPreview_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemPreview_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + char *u_pszPreviewFile = steamclient_dos_to_unix_path( params->pszPreviewFile, 0 ); + params->_ret = iface->SetItemPreview( params->handle, u_pszPreviewFile ); + steamclient_free_path( u_pszPreviewFile ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowLegacyUpload( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowLegacyUpload_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowLegacyUpload_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetAllowLegacyUpload( params->handle, params->bAllowLegacyUpload ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowLegacyUpload( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowLegacyUpload_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowLegacyUpload_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetAllowLegacyUpload( params->handle, params->bAllowLegacyUpload ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAllItemKeyValueTags( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAllItemKeyValueTags_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAllItemKeyValueTags_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->RemoveAllItemKeyValueTags( params->handle ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAllItemKeyValueTags( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAllItemKeyValueTags_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAllItemKeyValueTags_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->RemoveAllItemKeyValueTags( params->handle ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemKeyValueTags( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemKeyValueTags_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemKeyValueTags_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->RemoveItemKeyValueTags( params->handle, params->pchKey ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemKeyValueTags( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemKeyValueTags_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemKeyValueTags_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->RemoveItemKeyValueTags( params->handle, params->pchKey ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemKeyValueTag( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemKeyValueTag_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemKeyValueTag_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->AddItemKeyValueTag( params->handle, params->pchKey, params->pchValue ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemKeyValueTag( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemKeyValueTag_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemKeyValueTag_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->AddItemKeyValueTag( params->handle, params->pchKey, params->pchValue ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewFile( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewFile_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewFile_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + char *u_pszPreviewFile = steamclient_dos_to_unix_path( params->pszPreviewFile, 0 ); + params->_ret = iface->AddItemPreviewFile( params->handle, u_pszPreviewFile, params->type ); + steamclient_free_path( u_pszPreviewFile ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewFile( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewFile_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewFile_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + char *u_pszPreviewFile = steamclient_dos_to_unix_path( params->pszPreviewFile, 0 ); + params->_ret = iface->AddItemPreviewFile( params->handle, u_pszPreviewFile, params->type ); + steamclient_free_path( u_pszPreviewFile ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewVideo( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewVideo_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewVideo_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->AddItemPreviewVideo( params->handle, params->pszVideoID ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewVideo( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewVideo_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewVideo_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->AddItemPreviewVideo( params->handle, params->pszVideoID ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewFile( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewFile_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewFile_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + char *u_pszPreviewFile = steamclient_dos_to_unix_path( params->pszPreviewFile, 0 ); + params->_ret = iface->UpdateItemPreviewFile( params->handle, params->index, u_pszPreviewFile ); + steamclient_free_path( u_pszPreviewFile ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewFile( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewFile_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewFile_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + char *u_pszPreviewFile = steamclient_dos_to_unix_path( params->pszPreviewFile, 0 ); + params->_ret = iface->UpdateItemPreviewFile( params->handle, params->index, u_pszPreviewFile ); + steamclient_free_path( u_pszPreviewFile ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewVideo( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewVideo_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewVideo_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->UpdateItemPreviewVideo( params->handle, params->index, params->pszVideoID ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewVideo( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewVideo_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewVideo_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->UpdateItemPreviewVideo( params->handle, params->index, params->pszVideoID ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemPreview( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemPreview_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemPreview_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->RemoveItemPreview( params->handle, params->index ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemPreview( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemPreview_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemPreview_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->RemoveItemPreview( params->handle, params->index ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddContentDescriptor( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddContentDescriptor_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddContentDescriptor_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->AddContentDescriptor( params->handle, params->descid ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddContentDescriptor( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddContentDescriptor_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddContentDescriptor_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->AddContentDescriptor( params->handle, params->descid ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveContentDescriptor( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveContentDescriptor_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveContentDescriptor_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->RemoveContentDescriptor( params->handle, params->descid ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveContentDescriptor( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveContentDescriptor_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveContentDescriptor_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->RemoveContentDescriptor( params->handle, params->descid ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubmitItemUpdate( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubmitItemUpdate_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubmitItemUpdate_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SubmitItemUpdate( params->handle, params->pchChangeNote ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubmitItemUpdate( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubmitItemUpdate_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubmitItemUpdate_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SubmitItemUpdate( params->handle, params->pchChangeNote ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemUpdateProgress( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemUpdateProgress_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemUpdateProgress_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetItemUpdateProgress( params->handle, params->punBytesProcessed, params->punBytesTotal ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemUpdateProgress( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemUpdateProgress_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemUpdateProgress_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetItemUpdateProgress( params->handle, params->punBytesProcessed, params->punBytesTotal ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetUserItemVote( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetUserItemVote_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetUserItemVote_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetUserItemVote( params->nPublishedFileID, params->bVoteUp ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetUserItemVote( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetUserItemVote_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetUserItemVote_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SetUserItemVote( params->nPublishedFileID, params->bVoteUp ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserItemVote( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserItemVote_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserItemVote_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetUserItemVote( params->nPublishedFileID ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserItemVote( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserItemVote_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserItemVote_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetUserItemVote( params->nPublishedFileID ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemToFavorites( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemToFavorites_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemToFavorites_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->AddItemToFavorites( params->nAppId, params->nPublishedFileID ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemToFavorites( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemToFavorites_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemToFavorites_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->AddItemToFavorites( params->nAppId, params->nPublishedFileID ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemFromFavorites( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemFromFavorites_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemFromFavorites_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->RemoveItemFromFavorites( params->nAppId, params->nPublishedFileID ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemFromFavorites( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemFromFavorites_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemFromFavorites_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->RemoveItemFromFavorites( params->nAppId, params->nPublishedFileID ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubscribeItem( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubscribeItem_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubscribeItem_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SubscribeItem( params->nPublishedFileID ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubscribeItem( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubscribeItem_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubscribeItem_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->SubscribeItem( params->nPublishedFileID ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UnsubscribeItem( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UnsubscribeItem_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UnsubscribeItem_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->UnsubscribeItem( params->nPublishedFileID ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UnsubscribeItem( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UnsubscribeItem_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UnsubscribeItem_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->UnsubscribeItem( params->nPublishedFileID ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetNumSubscribedItems( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetNumSubscribedItems_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetNumSubscribedItems_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetNumSubscribedItems( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetNumSubscribedItems( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetNumSubscribedItems_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetNumSubscribedItems_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetNumSubscribedItems( ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetSubscribedItems( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetSubscribedItems_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetSubscribedItems_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetSubscribedItems( params->pvecPublishedFileID, params->cMaxEntries ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetSubscribedItems( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetSubscribedItems_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetSubscribedItems_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetSubscribedItems( params->pvecPublishedFileID, params->cMaxEntries ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemState( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemState_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemState_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetItemState( params->nPublishedFileID ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemState( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemState_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemState_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetItemState( params->nPublishedFileID ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemInstallInfo( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemInstallInfo_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemInstallInfo_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetItemInstallInfo( params->nPublishedFileID, params->punSizeOnDisk, params->pchFolder, params->cchFolderSize, params->punTimeStamp ); + steamclient_unix_path_to_dos_path( params->_ret, params->pchFolder, params->pchFolder, params->cchFolderSize, 0 ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemInstallInfo( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemInstallInfo_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemInstallInfo_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetItemInstallInfo( params->nPublishedFileID, params->punSizeOnDisk, params->pchFolder, params->cchFolderSize, params->punTimeStamp ); + steamclient_unix_path_to_dos_path( params->_ret, params->pchFolder, params->pchFolder, params->cchFolderSize, 0 ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemDownloadInfo( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemDownloadInfo_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemDownloadInfo_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetItemDownloadInfo( params->nPublishedFileID, params->punBytesDownloaded, params->punBytesTotal ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemDownloadInfo( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemDownloadInfo_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemDownloadInfo_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetItemDownloadInfo( params->nPublishedFileID, params->punBytesDownloaded, params->punBytesTotal ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DownloadItem( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DownloadItem_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DownloadItem_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->DownloadItem( params->nPublishedFileID, params->bHighPriority ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DownloadItem( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DownloadItem_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DownloadItem_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->DownloadItem( params->nPublishedFileID, params->bHighPriority ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_BInitWorkshopForGameServer( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_BInitWorkshopForGameServer_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_BInitWorkshopForGameServer_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + char *u_pszFolder = steamclient_dos_to_unix_path( params->pszFolder, 0 ); + params->_ret = iface->BInitWorkshopForGameServer( params->unWorkshopDepotID, u_pszFolder ); + steamclient_free_path( u_pszFolder ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_BInitWorkshopForGameServer( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_BInitWorkshopForGameServer_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_BInitWorkshopForGameServer_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + char *u_pszFolder = steamclient_dos_to_unix_path( params->pszFolder, 0 ); + params->_ret = iface->BInitWorkshopForGameServer( params->unWorkshopDepotID, u_pszFolder ); + steamclient_free_path( u_pszFolder ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SuspendDownloads( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SuspendDownloads_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SuspendDownloads_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + iface->SuspendDownloads( params->bSuspend ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SuspendDownloads( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SuspendDownloads_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SuspendDownloads_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + iface->SuspendDownloads( params->bSuspend ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartPlaytimeTracking( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartPlaytimeTracking_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartPlaytimeTracking_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->StartPlaytimeTracking( params->pvecPublishedFileID, params->unNumPublishedFileIDs ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartPlaytimeTracking( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartPlaytimeTracking_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartPlaytimeTracking_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->StartPlaytimeTracking( params->pvecPublishedFileID, params->unNumPublishedFileIDs ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTracking( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTracking_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTracking_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->StopPlaytimeTracking( params->pvecPublishedFileID, params->unNumPublishedFileIDs ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTracking( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTracking_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTracking_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->StopPlaytimeTracking( params->pvecPublishedFileID, params->unNumPublishedFileIDs ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTrackingForAllItems( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTrackingForAllItems_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTrackingForAllItems_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->StopPlaytimeTrackingForAllItems( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTrackingForAllItems( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTrackingForAllItems_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTrackingForAllItems_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->StopPlaytimeTrackingForAllItems( ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddDependency( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddDependency_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddDependency_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->AddDependency( params->nParentPublishedFileID, params->nChildPublishedFileID ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddDependency( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddDependency_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddDependency_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->AddDependency( params->nParentPublishedFileID, params->nChildPublishedFileID ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveDependency( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveDependency_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveDependency_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->RemoveDependency( params->nParentPublishedFileID, params->nChildPublishedFileID ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveDependency( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveDependency_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveDependency_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->RemoveDependency( params->nParentPublishedFileID, params->nChildPublishedFileID ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddAppDependency( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddAppDependency_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddAppDependency_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->AddAppDependency( params->nPublishedFileID, params->nAppID ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddAppDependency( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddAppDependency_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddAppDependency_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->AddAppDependency( params->nPublishedFileID, params->nAppID ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAppDependency( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAppDependency_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAppDependency_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->RemoveAppDependency( params->nPublishedFileID, params->nAppID ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAppDependency( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAppDependency_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAppDependency_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->RemoveAppDependency( params->nPublishedFileID, params->nAppID ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetAppDependencies( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetAppDependencies_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetAppDependencies_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetAppDependencies( params->nPublishedFileID ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetAppDependencies( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetAppDependencies_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetAppDependencies_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetAppDependencies( params->nPublishedFileID ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DeleteItem( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DeleteItem_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DeleteItem_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->DeleteItem( params->nPublishedFileID ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DeleteItem( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DeleteItem_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DeleteItem_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->DeleteItem( params->nPublishedFileID ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ShowWorkshopEULA( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ShowWorkshopEULA_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ShowWorkshopEULA_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->ShowWorkshopEULA( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ShowWorkshopEULA( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ShowWorkshopEULA_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ShowWorkshopEULA_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->ShowWorkshopEULA( ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetWorkshopEULAStatus( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetWorkshopEULAStatus_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetWorkshopEULAStatus_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetWorkshopEULAStatus( ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetWorkshopEULAStatus( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetWorkshopEULAStatus_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetWorkshopEULAStatus_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetWorkshopEULAStatus( ); + return 0; +} +#endif + +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserContentDescriptorPreferences( void *args ) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserContentDescriptorPreferences_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserContentDescriptorPreferences_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetUserContentDescriptorPreferences( params->pvecDescriptors, params->cMaxEntries ); + return 0; +} + +#if defined(__x86_64__) || defined(__aarch64__) +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserContentDescriptorPreferences( void *args ) +{ + struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserContentDescriptorPreferences_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserContentDescriptorPreferences_params *)args; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 *)params->u_iface; + params->_ret = iface->GetUserContentDescriptorPreferences( params->pvecDescriptors, params->cMaxEntries ); + return 0; +} +#endif + diff --git a/lsteamclient/cppISteamUGC_STEAMUGC_INTERFACE_VERSION020.cpp b/lsteamclient/cppISteamUGC_STEAMUGC_INTERFACE_VERSION020.cpp index 00b9cc273e..bf771738cd 100644 --- a/lsteamclient/cppISteamUGC_STEAMUGC_INTERFACE_VERSION020.cpp +++ b/lsteamclient/cppISteamUGC_STEAMUGC_INTERFACE_VERSION020.cpp @@ -99,7 +99,7 @@ NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION020_GetQueryUGCResult( void *args ) { struct ISteamUGC_STEAMUGC_INTERFACE_VERSION020_GetQueryUGCResult_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION020_GetQueryUGCResult_params *)args; struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION020 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION020 *)params->u_iface; - u_SteamUGCDetails_t_160 u_pDetails = *params->pDetails; + u_SteamUGCDetails_t_159x u_pDetails = *params->pDetails; params->_ret = iface->GetQueryUGCResult( params->handle, params->index, &u_pDetails ); *params->pDetails = u_pDetails; return 0; @@ -110,7 +110,7 @@ NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION020_GetQueryUGCResult( void * { struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION020_GetQueryUGCResult_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION020_GetQueryUGCResult_params *)args; struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION020 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION020 *)params->u_iface; - u_SteamUGCDetails_t_160 u_pDetails = *params->pDetails; + u_SteamUGCDetails_t_159x u_pDetails = *params->pDetails; params->_ret = iface->GetQueryUGCResult( params->handle, params->index, &u_pDetails ); *params->pDetails = u_pDetails; return 0; diff --git a/lsteamclient/cppISteamUGC_STEAMUGC_INTERFACE_VERSION021.cpp b/lsteamclient/cppISteamUGC_STEAMUGC_INTERFACE_VERSION021.cpp index b9f1bb310b..b36bf17775 100644 --- a/lsteamclient/cppISteamUGC_STEAMUGC_INTERFACE_VERSION021.cpp +++ b/lsteamclient/cppISteamUGC_STEAMUGC_INTERFACE_VERSION021.cpp @@ -99,7 +99,7 @@ NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION021_GetQueryUGCResult( void *args ) { struct ISteamUGC_STEAMUGC_INTERFACE_VERSION021_GetQueryUGCResult_params *params = (struct ISteamUGC_STEAMUGC_INTERFACE_VERSION021_GetQueryUGCResult_params *)args; struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION021 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION021 *)params->u_iface; - u_SteamUGCDetails_t_160 u_pDetails = *params->pDetails; + u_SteamUGCDetails_t_159x u_pDetails = *params->pDetails; params->_ret = iface->GetQueryUGCResult( params->handle, params->index, &u_pDetails ); *params->pDetails = u_pDetails; return 0; @@ -110,7 +110,7 @@ NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION021_GetQueryUGCResult( void * { struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION021_GetQueryUGCResult_params *params = (struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION021_GetQueryUGCResult_params *)args; struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION021 *iface = (struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION021 *)params->u_iface; - u_SteamUGCDetails_t_160 u_pDetails = *params->pDetails; + u_SteamUGCDetails_t_159x u_pDetails = *params->pDetails; params->_ret = iface->GetQueryUGCResult( params->handle, params->index, &u_pDetails ); *params->pDetails = u_pDetails; return 0; diff --git a/lsteamclient/gen_wrapper.py b/lsteamclient/gen_wrapper.py index 7000c4bea9..8847066d79 100755 --- a/lsteamclient/gen_wrapper.py +++ b/lsteamclient/gen_wrapper.py @@ -14,6 +14,7 @@ "162", "161", "160", + "159x", "159", "158", "157", diff --git a/lsteamclient/steamclient_generated.c b/lsteamclient/steamclient_generated.c index a9d4ab0447..9f30114d19 100644 --- a/lsteamclient/steamclient_generated.c +++ b/lsteamclient/steamclient_generated.c @@ -70,6 +70,7 @@ static const struct { const char *iface_version; iface_constructor ctor; } const {"STEAMUGC_INTERFACE_VERSION016", &create_winISteamUGC_STEAMUGC_INTERFACE_VERSION016}, {"STEAMUGC_INTERFACE_VERSION017", &create_winISteamUGC_STEAMUGC_INTERFACE_VERSION017}, {"STEAMUGC_INTERFACE_VERSION018", &create_winISteamUGC_STEAMUGC_INTERFACE_VERSION018}, + {"STEAMUGC_INTERFACE_VERSION019", &create_winISteamUGC_STEAMUGC_INTERFACE_VERSION019}, {"STEAMUGC_INTERFACE_VERSION020", &create_winISteamUGC_STEAMUGC_INTERFACE_VERSION020}, {"STEAMUGC_INTERFACE_VERSION021", &create_winISteamUGC_STEAMUGC_INTERFACE_VERSION021}, {"STEAMUNIFIEDMESSAGES_INTERFACE_VERSION001", &create_winISteamUnifiedMessages_STEAMUNIFIEDMESSAGES_INTERFACE_VERSION001}, diff --git a/lsteamclient/steamclient_generated.h b/lsteamclient/steamclient_generated.h index 7047334794..cd77a04368 100644 --- a/lsteamclient/steamclient_generated.h +++ b/lsteamclient/steamclient_generated.h @@ -65,6 +65,7 @@ extern struct w_iface *create_winISteamUGC_STEAMUGC_INTERFACE_VERSION015( struct extern struct w_iface *create_winISteamUGC_STEAMUGC_INTERFACE_VERSION016( struct u_iface ); extern struct w_iface *create_winISteamUGC_STEAMUGC_INTERFACE_VERSION017( struct u_iface ); extern struct w_iface *create_winISteamUGC_STEAMUGC_INTERFACE_VERSION018( struct u_iface ); +extern struct w_iface *create_winISteamUGC_STEAMUGC_INTERFACE_VERSION019( struct u_iface ); extern struct w_iface *create_winISteamUGC_STEAMUGC_INTERFACE_VERSION020( struct u_iface ); extern struct w_iface *create_winISteamUGC_STEAMUGC_INTERFACE_VERSION021( struct u_iface ); extern struct w_iface *create_winISteamUnifiedMessages_STEAMUNIFIEDMESSAGES_INTERFACE_VERSION001( struct u_iface ); diff --git a/lsteamclient/steamclient_structs_generated.h b/lsteamclient/steamclient_structs_generated.h index 6b20d4e4d2..189d3223a4 100644 --- a/lsteamclient/steamclient_structs_generated.h +++ b/lsteamclient/steamclient_structs_generated.h @@ -2431,10 +2431,10 @@ struct gameserveritem_t_099u }; #pragma pack( pop ) -typedef struct u64_SteamUGCDetails_t_160 u64_SteamUGCDetails_t_160; -typedef struct w64_SteamUGCDetails_t_160 w64_SteamUGCDetails_t_160; -typedef struct u32_SteamUGCDetails_t_160 u32_SteamUGCDetails_t_160; -typedef struct w32_SteamUGCDetails_t_160 w32_SteamUGCDetails_t_160; +typedef struct u64_SteamUGCDetails_t_159x u64_SteamUGCDetails_t_159x; +typedef struct w64_SteamUGCDetails_t_159x w64_SteamUGCDetails_t_159x; +typedef struct u32_SteamUGCDetails_t_159x u32_SteamUGCDetails_t_159x; +typedef struct w32_SteamUGCDetails_t_159x w32_SteamUGCDetails_t_159x; typedef struct u64_SteamUGCDetails_t_128x u64_SteamUGCDetails_t_128x; typedef struct w64_SteamUGCDetails_t_128x w64_SteamUGCDetails_t_128x; typedef struct u32_SteamUGCDetails_t_128x u32_SteamUGCDetails_t_128x; @@ -2631,10 +2631,10 @@ typedef struct u_ISteamNetworkingCustomSignalingRecvContext u32_ISteamNetworking typedef struct w_ISteamNetworkingCustomSignalingRecvContext w_ISteamNetworkingCustomSignalingRecvContext; typedef struct w_ISteamNetworkingCustomSignalingRecvContext w64_ISteamNetworkingCustomSignalingRecvContext; typedef struct w_ISteamNetworkingCustomSignalingRecvContext w32_ISteamNetworkingCustomSignalingRecvContext; -typedef struct u64_ItemInstalled_t_160 u64_ItemInstalled_t_160; -typedef struct w64_ItemInstalled_t_160 w64_ItemInstalled_t_160; -typedef struct u32_ItemInstalled_t_160 u32_ItemInstalled_t_160; -typedef struct w32_ItemInstalled_t_160 w32_ItemInstalled_t_160; +typedef struct u64_ItemInstalled_t_159x u64_ItemInstalled_t_159x; +typedef struct w64_ItemInstalled_t_159x w64_ItemInstalled_t_159x; +typedef struct u32_ItemInstalled_t_159x u32_ItemInstalled_t_159x; +typedef struct w32_ItemInstalled_t_159x w32_ItemInstalled_t_159x; typedef struct u64_ItemInstalled_t_130 u64_ItemInstalled_t_130; typedef struct w64_ItemInstalled_t_130 w64_ItemInstalled_t_130; typedef struct u32_ItemInstalled_t_130 u32_ItemInstalled_t_130; @@ -2943,10 +2943,10 @@ typedef struct u64_SteamPartyBeaconLocation_t u64_SteamPartyBeaconLocation_t; typedef struct w64_SteamPartyBeaconLocation_t w64_SteamPartyBeaconLocation_t; typedef struct u32_SteamPartyBeaconLocation_t u32_SteamPartyBeaconLocation_t; typedef struct w32_SteamPartyBeaconLocation_t w32_SteamPartyBeaconLocation_t; -typedef struct u64_SteamUGCRequestUGCDetailsResult_t_160 u64_SteamUGCRequestUGCDetailsResult_t_160; -typedef struct w64_SteamUGCRequestUGCDetailsResult_t_160 w64_SteamUGCRequestUGCDetailsResult_t_160; -typedef struct u32_SteamUGCRequestUGCDetailsResult_t_160 u32_SteamUGCRequestUGCDetailsResult_t_160; -typedef struct w32_SteamUGCRequestUGCDetailsResult_t_160 w32_SteamUGCRequestUGCDetailsResult_t_160; +typedef struct u64_SteamUGCRequestUGCDetailsResult_t_159x u64_SteamUGCRequestUGCDetailsResult_t_159x; +typedef struct w64_SteamUGCRequestUGCDetailsResult_t_159x w64_SteamUGCRequestUGCDetailsResult_t_159x; +typedef struct u32_SteamUGCRequestUGCDetailsResult_t_159x u32_SteamUGCRequestUGCDetailsResult_t_159x; +typedef struct w32_SteamUGCRequestUGCDetailsResult_t_159x w32_SteamUGCRequestUGCDetailsResult_t_159x; typedef struct u64_SteamUGCRequestUGCDetailsResult_t_128x u64_SteamUGCRequestUGCDetailsResult_t_128x; typedef struct w64_SteamUGCRequestUGCDetailsResult_t_128x w64_SteamUGCRequestUGCDetailsResult_t_128x; typedef struct u32_SteamUGCRequestUGCDetailsResult_t_128x u32_SteamUGCRequestUGCDetailsResult_t_128x; @@ -2964,7 +2964,7 @@ typedef struct w64_SubmitPlayerResultResultCallback_t w64_SubmitPlayerResultResu typedef struct u32_SubmitPlayerResultResultCallback_t u32_SubmitPlayerResultResultCallback_t; typedef struct w32_SubmitPlayerResultResultCallback_t w32_SubmitPlayerResultResultCallback_t; #pragma pack( push, 8 ) -struct w64_SteamUGCDetails_t_160 +struct w64_SteamUGCDetails_t_159x { uint64_t m_nPublishedFileId; uint32_t m_eResult; @@ -2997,13 +2997,13 @@ struct w64_SteamUGCDetails_t_160 uint8_t __pad_9772[4]; uint64_t m_ulTotalFilesSize; #ifdef __cplusplus - operator u64_SteamUGCDetails_t_160() const; + operator u64_SteamUGCDetails_t_159x() const; #endif /* __cplusplus */ }; #pragma pack( pop ) #pragma pack( push, 4 ) -struct u64_SteamUGCDetails_t_160 +struct u64_SteamUGCDetails_t_159x { uint64_t m_nPublishedFileId; uint32_t m_eResult; @@ -3034,16 +3034,16 @@ struct u64_SteamUGCDetails_t_160 uint32_t m_unNumChildren; uint64_t m_ulTotalFilesSize; #ifdef __cplusplus - operator w64_SteamUGCDetails_t_160() const; + operator w64_SteamUGCDetails_t_159x() const; #endif /* __cplusplus */ #ifdef __cplusplus - operator w32_SteamUGCDetails_t_160() const; + operator w32_SteamUGCDetails_t_159x() const; #endif /* __cplusplus */ }; #pragma pack( pop ) #pragma pack( push, 8 ) -struct w32_SteamUGCDetails_t_160 +struct w32_SteamUGCDetails_t_159x { uint64_t m_nPublishedFileId; uint32_t m_eResult; @@ -3076,16 +3076,16 @@ struct w32_SteamUGCDetails_t_160 uint8_t __pad_9772[4]; uint64_t m_ulTotalFilesSize; #ifdef __cplusplus - operator u32_SteamUGCDetails_t_160() const; + operator u32_SteamUGCDetails_t_159x() const; #endif /* __cplusplus */ #ifdef __cplusplus - operator u64_SteamUGCDetails_t_160() const; + operator u64_SteamUGCDetails_t_159x() const; #endif /* __cplusplus */ }; #pragma pack( pop ) #pragma pack( push, 4 ) -struct u32_SteamUGCDetails_t_160 +struct u32_SteamUGCDetails_t_159x { uint64_t m_nPublishedFileId; uint32_t m_eResult; @@ -3116,18 +3116,18 @@ struct u32_SteamUGCDetails_t_160 uint32_t m_unNumChildren; uint64_t m_ulTotalFilesSize; #ifdef __cplusplus - operator w32_SteamUGCDetails_t_160() const; + operator w32_SteamUGCDetails_t_159x() const; #endif /* __cplusplus */ }; #pragma pack( pop ) #ifdef __i386__ -typedef w32_SteamUGCDetails_t_160 w_SteamUGCDetails_t_160; -typedef u32_SteamUGCDetails_t_160 u_SteamUGCDetails_t_160; +typedef w32_SteamUGCDetails_t_159x w_SteamUGCDetails_t_159x; +typedef u32_SteamUGCDetails_t_159x u_SteamUGCDetails_t_159x; #endif #if defined(__x86_64__) || defined(__aarch64__) -typedef w64_SteamUGCDetails_t_160 w_SteamUGCDetails_t_160; -typedef u64_SteamUGCDetails_t_160 u_SteamUGCDetails_t_160; +typedef w64_SteamUGCDetails_t_159x w_SteamUGCDetails_t_159x; +typedef u64_SteamUGCDetails_t_159x u_SteamUGCDetails_t_159x; #endif #pragma pack( push, 8 ) @@ -5808,7 +5808,7 @@ struct u_ISteamNetworkingCustomSignalingRecvContext }; #pragma pack( push, 8 ) -struct w64_ItemInstalled_t_160 +struct w64_ItemInstalled_t_159x { uint32_t m_unAppID; uint8_t __pad_4[4]; @@ -5816,29 +5816,29 @@ struct w64_ItemInstalled_t_160 uint64_t m_hLegacyContent; uint64_t m_unManifestID; #ifdef __cplusplus - operator u64_ItemInstalled_t_160() const; + operator u64_ItemInstalled_t_159x() const; #endif /* __cplusplus */ }; #pragma pack( pop ) #pragma pack( push, 4 ) -struct u64_ItemInstalled_t_160 +struct u64_ItemInstalled_t_159x { uint32_t m_unAppID; uint64_t m_nPublishedFileId; uint64_t m_hLegacyContent; uint64_t m_unManifestID; #ifdef __cplusplus - operator w64_ItemInstalled_t_160() const; + operator w64_ItemInstalled_t_159x() const; #endif /* __cplusplus */ #ifdef __cplusplus - operator w32_ItemInstalled_t_160() const; + operator w32_ItemInstalled_t_159x() const; #endif /* __cplusplus */ }; #pragma pack( pop ) #pragma pack( push, 8 ) -struct w32_ItemInstalled_t_160 +struct w32_ItemInstalled_t_159x { uint32_t m_unAppID; uint8_t __pad_4[4]; @@ -5846,34 +5846,34 @@ struct w32_ItemInstalled_t_160 uint64_t m_hLegacyContent; uint64_t m_unManifestID; #ifdef __cplusplus - operator u32_ItemInstalled_t_160() const; + operator u32_ItemInstalled_t_159x() const; #endif /* __cplusplus */ #ifdef __cplusplus - operator u64_ItemInstalled_t_160() const; + operator u64_ItemInstalled_t_159x() const; #endif /* __cplusplus */ }; #pragma pack( pop ) #pragma pack( push, 4 ) -struct u32_ItemInstalled_t_160 +struct u32_ItemInstalled_t_159x { uint32_t m_unAppID; uint64_t m_nPublishedFileId; uint64_t m_hLegacyContent; uint64_t m_unManifestID; #ifdef __cplusplus - operator w32_ItemInstalled_t_160() const; + operator w32_ItemInstalled_t_159x() const; #endif /* __cplusplus */ }; #pragma pack( pop ) #ifdef __i386__ -typedef w32_ItemInstalled_t_160 w_ItemInstalled_t_160; -typedef u32_ItemInstalled_t_160 u_ItemInstalled_t_160; +typedef w32_ItemInstalled_t_159x w_ItemInstalled_t_159x; +typedef u32_ItemInstalled_t_159x u_ItemInstalled_t_159x; #endif #if defined(__x86_64__) || defined(__aarch64__) -typedef w64_ItemInstalled_t_160 w_ItemInstalled_t_160; -typedef u64_ItemInstalled_t_160 u_ItemInstalled_t_160; +typedef w64_ItemInstalled_t_159x w_ItemInstalled_t_159x; +typedef u64_ItemInstalled_t_159x u_ItemInstalled_t_159x; #endif #pragma pack( push, 8 ) @@ -11095,66 +11095,66 @@ typedef u64_SteamPartyBeaconLocation_t u_SteamPartyBeaconLocation_t; #endif #pragma pack( push, 8 ) -struct w64_SteamUGCRequestUGCDetailsResult_t_160 +struct w64_SteamUGCRequestUGCDetailsResult_t_159x { - w64_SteamUGCDetails_t_160 m_details; + w64_SteamUGCDetails_t_159x m_details; int8_t m_bCachedData; uint8_t __pad_9785[7]; #ifdef __cplusplus - operator u64_SteamUGCRequestUGCDetailsResult_t_160() const; + operator u64_SteamUGCRequestUGCDetailsResult_t_159x() const; #endif /* __cplusplus */ }; #pragma pack( pop ) #pragma pack( push, 4 ) -struct u64_SteamUGCRequestUGCDetailsResult_t_160 +struct u64_SteamUGCRequestUGCDetailsResult_t_159x { - u64_SteamUGCDetails_t_160 m_details; + u64_SteamUGCDetails_t_159x m_details; int8_t m_bCachedData; uint8_t __pad_9773[3]; #ifdef __cplusplus - operator w64_SteamUGCRequestUGCDetailsResult_t_160() const; + operator w64_SteamUGCRequestUGCDetailsResult_t_159x() const; #endif /* __cplusplus */ #ifdef __cplusplus - operator w32_SteamUGCRequestUGCDetailsResult_t_160() const; + operator w32_SteamUGCRequestUGCDetailsResult_t_159x() const; #endif /* __cplusplus */ }; #pragma pack( pop ) #pragma pack( push, 8 ) -struct w32_SteamUGCRequestUGCDetailsResult_t_160 +struct w32_SteamUGCRequestUGCDetailsResult_t_159x { - w32_SteamUGCDetails_t_160 m_details; + w32_SteamUGCDetails_t_159x m_details; int8_t m_bCachedData; uint8_t __pad_9785[7]; #ifdef __cplusplus - operator u32_SteamUGCRequestUGCDetailsResult_t_160() const; + operator u32_SteamUGCRequestUGCDetailsResult_t_159x() const; #endif /* __cplusplus */ #ifdef __cplusplus - operator u64_SteamUGCRequestUGCDetailsResult_t_160() const; + operator u64_SteamUGCRequestUGCDetailsResult_t_159x() const; #endif /* __cplusplus */ }; #pragma pack( pop ) #pragma pack( push, 4 ) -struct u32_SteamUGCRequestUGCDetailsResult_t_160 +struct u32_SteamUGCRequestUGCDetailsResult_t_159x { - u32_SteamUGCDetails_t_160 m_details; + u32_SteamUGCDetails_t_159x m_details; int8_t m_bCachedData; uint8_t __pad_9773[3]; #ifdef __cplusplus - operator w32_SteamUGCRequestUGCDetailsResult_t_160() const; + operator w32_SteamUGCRequestUGCDetailsResult_t_159x() const; #endif /* __cplusplus */ }; #pragma pack( pop ) #ifdef __i386__ -typedef w32_SteamUGCRequestUGCDetailsResult_t_160 w_SteamUGCRequestUGCDetailsResult_t_160; -typedef u32_SteamUGCRequestUGCDetailsResult_t_160 u_SteamUGCRequestUGCDetailsResult_t_160; +typedef w32_SteamUGCRequestUGCDetailsResult_t_159x w_SteamUGCRequestUGCDetailsResult_t_159x; +typedef u32_SteamUGCRequestUGCDetailsResult_t_159x u_SteamUGCRequestUGCDetailsResult_t_159x; #endif #if defined(__x86_64__) || defined(__aarch64__) -typedef w64_SteamUGCRequestUGCDetailsResult_t_160 w_SteamUGCRequestUGCDetailsResult_t_160; -typedef u64_SteamUGCRequestUGCDetailsResult_t_160 u_SteamUGCRequestUGCDetailsResult_t_160; +typedef w64_SteamUGCRequestUGCDetailsResult_t_159x w_SteamUGCRequestUGCDetailsResult_t_159x; +typedef u64_SteamUGCRequestUGCDetailsResult_t_159x u_SteamUGCRequestUGCDetailsResult_t_159x; #endif #pragma pack( push, 8 ) diff --git a/lsteamclient/steamworks_sdk_159x/isteamapps.h b/lsteamclient/steamworks_sdk_159x/isteamapps.h new file mode 100644 index 0000000000..8a2197edd0 --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamapps.h @@ -0,0 +1,192 @@ +//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to app data in Steam +// +//============================================================================= + +#ifndef ISTEAMAPPS_H +#define ISTEAMAPPS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +const int k_cubAppProofOfPurchaseKeyMax = 240; // max supported length of a legacy cd key + + +//----------------------------------------------------------------------------- +// Purpose: interface to app data +//----------------------------------------------------------------------------- +class ISteamApps +{ +public: + virtual bool BIsSubscribed() = 0; + virtual bool BIsLowViolence() = 0; + virtual bool BIsCybercafe() = 0; + virtual bool BIsVACBanned() = 0; + virtual const char *GetCurrentGameLanguage() = 0; + virtual const char *GetAvailableGameLanguages() = 0; + + // only use this member if you need to check ownership of another game related to yours, a demo for example + virtual bool BIsSubscribedApp( AppId_t appID ) = 0; + + // Takes AppID of DLC and checks if the user owns the DLC & if the DLC is installed + virtual bool BIsDlcInstalled( AppId_t appID ) = 0; + + // returns the Unix time of the purchase of the app + virtual uint32 GetEarliestPurchaseUnixTime( AppId_t nAppID ) = 0; + + // Checks if the user is subscribed to the current app through a free weekend + // This function will return false for users who have a retail or other type of license + // Before using, please ask your Valve technical contact how to package and secure your free weekened + virtual bool BIsSubscribedFromFreeWeekend() = 0; + + // Returns the number of DLC pieces for the running app + virtual int GetDLCCount() = 0; + + // Returns metadata for DLC by index, of range [0, GetDLCCount()] + virtual bool BGetDLCDataByIndex( int iDLC, AppId_t *pAppID, bool *pbAvailable, char *pchName, int cchNameBufferSize ) = 0; + + // Install/Uninstall control for optional DLC + virtual void InstallDLC( AppId_t nAppID ) = 0; + virtual void UninstallDLC( AppId_t nAppID ) = 0; + + // Request legacy cd-key for yourself or owned DLC. If you are interested in this + // data then make sure you provide us with a list of valid keys to be distributed + // to users when they purchase the game, before the game ships. + // You'll receive an AppProofOfPurchaseKeyResponse_t callback when + // the key is available (which may be immediately). + virtual void RequestAppProofOfPurchaseKey( AppId_t nAppID ) = 0; + + virtual bool GetCurrentBetaName( char *pchName, int cchNameBufferSize ) = 0; // returns current beta branch name, 'public' is the default branch + virtual bool MarkContentCorrupt( bool bMissingFilesOnly ) = 0; // signal Steam that game files seems corrupt or missing + virtual uint32 GetInstalledDepots( AppId_t appID, DepotId_t *pvecDepots, uint32 cMaxDepots ) = 0; // return installed depots in mount order + + // returns current app install folder for AppID, returns folder name length + virtual uint32 GetAppInstallDir( AppId_t appID, char *pchFolder, uint32 cchFolderBufferSize ) = 0; + virtual bool BIsAppInstalled( AppId_t appID ) = 0; // returns true if that app is installed (not necessarily owned) + + // returns the SteamID of the original owner. If this CSteamID is different from ISteamUser::GetSteamID(), + // the user has a temporary license borrowed via Family Sharing + virtual CSteamID GetAppOwner() = 0; + + // Returns the associated launch param if the game is run via steam://run///?param1=value1¶m2=value2¶m3=value3 etc. + // Parameter names starting with the character '@' are reserved for internal use and will always return and empty string. + // Parameter names starting with an underscore '_' are reserved for steam features -- they can be queried by the game, + // but it is advised that you not param names beginning with an underscore for your own features. + // Check for new launch parameters on callback NewUrlLaunchParameters_t + virtual const char *GetLaunchQueryParam( const char *pchKey ) = 0; + + // get download progress for optional DLC + virtual bool GetDlcDownloadProgress( AppId_t nAppID, uint64 *punBytesDownloaded, uint64 *punBytesTotal ) = 0; + + // return the buildid of this app, may change at any time based on backend updates to the game + virtual int GetAppBuildId() = 0; + + // Request all proof of purchase keys for the calling appid and asociated DLC. + // A series of AppProofOfPurchaseKeyResponse_t callbacks will be sent with + // appropriate appid values, ending with a final callback where the m_nAppId + // member is k_uAppIdInvalid (zero). + virtual void RequestAllProofOfPurchaseKeys() = 0; + + STEAM_CALL_RESULT( FileDetailsResult_t ) + virtual SteamAPICall_t GetFileDetails( const char* pszFileName ) = 0; + + // Get command line if game was launched via Steam URL, e.g. steam://run////. + // This method of passing a connect string (used when joining via rich presence, accepting an + // invite, etc) is preferable to passing the connect string on the operating system command + // line, which is a security risk. In order for rich presence joins to go through this + // path and not be placed on the OS command line, you must set a value in your app's + // configuration on Steam. Ask Valve for help with this. + // + // If game was already running and launched again, the NewUrlLaunchParameters_t will be fired. + virtual int GetLaunchCommandLine( char *pszCommandLine, int cubCommandLine ) = 0; + + // Check if user borrowed this game via Family Sharing, If true, call GetAppOwner() to get the lender SteamID + virtual bool BIsSubscribedFromFamilySharing() = 0; + + // check if game is a timed trial with limited playtime + virtual bool BIsTimedTrial( uint32* punSecondsAllowed, uint32* punSecondsPlayed ) = 0; + + // set current DLC AppID being played (or 0 if none). Allows Steam to track usage of major DLC extensions + virtual bool SetDlcContext( AppId_t nAppID ) = 0; +}; + +#define STEAMAPPS_INTERFACE_VERSION "STEAMAPPS_INTERFACE_VERSION008" + +// Global interface accessor +inline ISteamApps *SteamApps(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamApps *, SteamApps, STEAMAPPS_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif +//----------------------------------------------------------------------------- +// Purpose: posted after the user gains ownership of DLC & that DLC is installed +//----------------------------------------------------------------------------- +struct DlcInstalled_t +{ + enum { k_iCallback = k_iSteamAppsCallbacks + 5 }; + AppId_t m_nAppID; // AppID of the DLC +}; + + +//--------------------------------------------------------------------------------- +// Purpose: posted after the user gains executes a Steam URL with command line or query parameters +// such as steam://run///-commandline/?param1=value1¶m2=value2¶m3=value3 etc +// while the game is already running. The new params can be queried +// with GetLaunchQueryParam and GetLaunchCommandLine +//--------------------------------------------------------------------------------- +struct NewUrlLaunchParameters_t +{ + enum { k_iCallback = k_iSteamAppsCallbacks + 14 }; +}; + + +//----------------------------------------------------------------------------- +// Purpose: response to RequestAppProofOfPurchaseKey/RequestAllProofOfPurchaseKeys +// for supporting third-party CD keys, or other proof-of-purchase systems. +//----------------------------------------------------------------------------- +struct AppProofOfPurchaseKeyResponse_t +{ + enum { k_iCallback = k_iSteamAppsCallbacks + 21 }; + EResult m_eResult; + uint32 m_nAppID; + uint32 m_cchKeyLength; + char m_rgchKey[k_cubAppProofOfPurchaseKeyMax]; +}; + + +//----------------------------------------------------------------------------- +// Purpose: response to GetFileDetails +//----------------------------------------------------------------------------- +struct FileDetailsResult_t +{ + enum { k_iCallback = k_iSteamAppsCallbacks + 23 }; + EResult m_eResult; + uint64 m_ulFileSize; // original file size in bytes + uint8 m_FileSHA[20]; // original file SHA1 hash + uint32 m_unFlags; // +}; + + +//----------------------------------------------------------------------------- +// Purpose: called for games in Timed Trial mode +//----------------------------------------------------------------------------- +struct TimedTrialStatus_t +{ + enum { k_iCallback = k_iSteamAppsCallbacks + 30 }; + AppId_t m_unAppID; // appID + bool m_bIsOffline; // if true, time allowed / played refers to offline time, not total time + uint32 m_unSecondsAllowed; // how many seconds the app can be played in total + uint32 m_unSecondsPlayed; // how many seconds the app was already played +}; + +#pragma pack( pop ) +#endif // ISTEAMAPPS_H diff --git a/lsteamclient/steamworks_sdk_159x/isteamappticket.h b/lsteamclient/steamworks_sdk_159x/isteamappticket.h new file mode 100644 index 0000000000..77e04ece5e --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamappticket.h @@ -0,0 +1,28 @@ +//====== Copyright 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: a private, but well versioned, interface to get at critical bits +// of a steam3 appticket - consumed by the simple drm wrapper to let it +// ask about ownership with greater confidence. +// +//============================================================================= + +#ifndef ISTEAMAPPTICKET_H +#define ISTEAMAPPTICKET_H +#include "steamtypes.h" + +//----------------------------------------------------------------------------- +// Purpose: hand out a reasonable "future proof" view of an app ownership ticket +// the raw (signed) buffer, and indices into that buffer where the appid and +// steamid are located. the sizes of the appid and steamid are implicit in +// (each version of) the interface - currently uin32 appid and uint64 steamid +//----------------------------------------------------------------------------- +class ISteamAppTicket +{ +public: + virtual uint32 GetAppOwnershipTicketData( uint32 nAppID, void *pvBuffer, uint32 cbBufferLength, uint32 *piAppId, uint32 *piSteamId, uint32 *piSignature, uint32 *pcbSignature ) = 0; +}; + +#define STEAMAPPTICKET_INTERFACE_VERSION "STEAMAPPTICKET_INTERFACE_VERSION001" + + +#endif // ISTEAMAPPTICKET_H diff --git a/lsteamclient/steamworks_sdk_159x/isteamclient.h b/lsteamclient/steamworks_sdk_159x/isteamclient.h new file mode 100644 index 0000000000..ce9946cbff --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamclient.h @@ -0,0 +1,173 @@ +//====== Copyright Valve Corporation, All rights reserved. ==================== +// +// Internal low-level access to Steamworks interfaces. +// +// Most users of the Steamworks SDK do not need to include this file. +// You should only include this if you are doing something special. +//============================================================================= + +#ifndef ISTEAMCLIENT_H +#define ISTEAMCLIENT_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +//----------------------------------------------------------------------------- +// Purpose: Interface to creating a new steam instance, or to +// connect to an existing steam instance, whether it's in a +// different process or is local. +// +// For most scenarios this is all handled automatically via SteamAPI_Init(). +// You'll only need these APIs if you have a more complex versioning scheme, +// or if you want to implement a multiplexed gameserver where a single process +// is handling multiple games at once with independent gameserver SteamIDs. +//----------------------------------------------------------------------------- +class ISteamClient +{ +public: + // Creates a communication pipe to the Steam client. + // NOT THREADSAFE - ensure that no other threads are accessing Steamworks API when calling + virtual HSteamPipe CreateSteamPipe() = 0; + + // Releases a previously created communications pipe + // NOT THREADSAFE - ensure that no other threads are accessing Steamworks API when calling + virtual bool BReleaseSteamPipe( HSteamPipe hSteamPipe ) = 0; + + // connects to an existing global user, failing if none exists + // used by the game to coordinate with the steamUI + // NOT THREADSAFE - ensure that no other threads are accessing Steamworks API when calling + virtual HSteamUser ConnectToGlobalUser( HSteamPipe hSteamPipe ) = 0; + + // used by game servers, create a steam user that won't be shared with anyone else + // NOT THREADSAFE - ensure that no other threads are accessing Steamworks API when calling + virtual HSteamUser CreateLocalUser( HSteamPipe *phSteamPipe, EAccountType eAccountType ) = 0; + + // removes an allocated user + // NOT THREADSAFE - ensure that no other threads are accessing Steamworks API when calling + virtual void ReleaseUser( HSteamPipe hSteamPipe, HSteamUser hUser ) = 0; + + // retrieves the ISteamUser interface associated with the handle + virtual ISteamUser *GetISteamUser( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // retrieves the ISteamGameServer interface associated with the handle + virtual ISteamGameServer *GetISteamGameServer( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // set the local IP and Port to bind to + // this must be set before CreateLocalUser() + virtual void SetLocalIPBinding( const SteamIPAddress_t &unIP, uint16 usPort ) = 0; + + // returns the ISteamFriends interface + virtual ISteamFriends *GetISteamFriends( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // returns the ISteamUtils interface + virtual ISteamUtils *GetISteamUtils( HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // returns the ISteamMatchmaking interface + virtual ISteamMatchmaking *GetISteamMatchmaking( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // returns the ISteamMatchmakingServers interface + virtual ISteamMatchmakingServers *GetISteamMatchmakingServers( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // returns the a generic interface + virtual void *GetISteamGenericInterface( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // returns the ISteamUserStats interface + virtual ISteamUserStats *GetISteamUserStats( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // returns the ISteamGameServerStats interface + virtual ISteamGameServerStats *GetISteamGameServerStats( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // returns apps interface + virtual ISteamApps *GetISteamApps( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // networking + virtual ISteamNetworking *GetISteamNetworking( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // remote storage + virtual ISteamRemoteStorage *GetISteamRemoteStorage( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // user screenshots + virtual ISteamScreenshots *GetISteamScreenshots( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // game search + virtual ISteamGameSearch *GetISteamGameSearch( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Deprecated. Applications should use SteamAPI_RunCallbacks() or SteamGameServer_RunCallbacks() instead. + STEAM_PRIVATE_API( virtual void RunFrame() = 0; ) + + // returns the number of IPC calls made since the last time this function was called + // Used for perf debugging so you can understand how many IPC calls your game makes per frame + // Every IPC call is at minimum a thread context switch if not a process one so you want to rate + // control how often you do them. + virtual uint32 GetIPCCallCount() = 0; + + // API warning handling + // 'int' is the severity; 0 for msg, 1 for warning + // 'const char *' is the text of the message + // callbacks will occur directly after the API function is called that generated the warning or message. + virtual void SetWarningMessageHook( SteamAPIWarningMessageHook_t pFunction ) = 0; + + // Trigger global shutdown for the DLL + virtual bool BShutdownIfAllPipesClosed() = 0; + + // Expose HTTP interface + virtual ISteamHTTP *GetISteamHTTP( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Exposes the ISteamController interface - deprecated in favor of Steam Input + virtual ISteamController *GetISteamController( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Exposes the ISteamUGC interface + virtual ISteamUGC *GetISteamUGC( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Music Player + virtual ISteamMusic *GetISteamMusic( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Music Player Remote + virtual ISteamMusicRemote *GetISteamMusicRemote(HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion) = 0; + + // html page display + virtual ISteamHTMLSurface *GetISteamHTMLSurface(HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion) = 0; + + // Helper functions for internal Steam usage + STEAM_PRIVATE_API( virtual void DEPRECATED_Set_SteamAPI_CPostAPIResultInProcess( void (*)() ) = 0; ) + STEAM_PRIVATE_API( virtual void DEPRECATED_Remove_SteamAPI_CPostAPIResultInProcess( void (*)() ) = 0; ) + STEAM_PRIVATE_API( virtual void Set_SteamAPI_CCheckCallbackRegisteredInProcess( SteamAPI_CheckCallbackRegistered_t func ) = 0; ) + + // inventory + virtual ISteamInventory *GetISteamInventory( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Video + virtual ISteamVideo *GetISteamVideo( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Parental controls + virtual ISteamParentalSettings *GetISteamParentalSettings( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Exposes the Steam Input interface for controller support + virtual ISteamInput *GetISteamInput( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Steam Parties interface + virtual ISteamParties *GetISteamParties( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Steam Remote Play interface + virtual ISteamRemotePlay *GetISteamRemotePlay( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + STEAM_PRIVATE_API( virtual void DestroyAllInterfaces() = 0; ) + +}; +#define STEAMCLIENT_INTERFACE_VERSION "SteamClient021" + +#ifndef STEAM_API_EXPORTS + +// Global ISteamClient interface accessor +inline ISteamClient *SteamClient(); +STEAM_DEFINE_INTERFACE_ACCESSOR( ISteamClient *, SteamClient, SteamInternal_CreateInterface( STEAMCLIENT_INTERFACE_VERSION ), "global", STEAMCLIENT_INTERFACE_VERSION ); + +// The internal ISteamClient used for the gameserver interface. +// (This is actually the same thing. You really shouldn't need to access any of this stuff directly.) +inline ISteamClient *SteamGameServerClient() { return SteamClient(); } + +#endif + +#endif // ISTEAMCLIENT_H diff --git a/lsteamclient/steamworks_sdk_159x/isteamcontroller.h b/lsteamclient/steamworks_sdk_159x/isteamcontroller.h new file mode 100644 index 0000000000..057606c172 --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamcontroller.h @@ -0,0 +1,726 @@ +//====== Copyright 1996-2018, Valve Corporation, All rights reserved. ======= +// Note: The older ISteamController interface has been deprecated in favor of ISteamInput - this interface +// was updated in this SDK but will be removed from future SDK's. The Steam Client will retain +// compatibility with the older interfaces so your any existing integrations should be unaffected. +// +// Purpose: Steam Input is a flexible input API that supports over three hundred devices including all +// common variants of Xbox, Playstation, Nintendo Switch Pro, and Steam Controllers. +// For more info including a getting started guide for developers +// please visit: https://partner.steamgames.com/doc/features/steam_controller +// +//============================================================================= + +#ifndef ISTEAMCONTROLLER_H +#define ISTEAMCONTROLLER_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" +#include "isteaminput.h" + +#define STEAM_CONTROLLER_MAX_COUNT 16 + +#define STEAM_CONTROLLER_MAX_ANALOG_ACTIONS 24 + +#define STEAM_CONTROLLER_MAX_DIGITAL_ACTIONS 256 + +#define STEAM_CONTROLLER_MAX_ORIGINS 8 + +#define STEAM_CONTROLLER_MAX_ACTIVE_LAYERS 16 + +// When sending an option to a specific controller handle, you can send to all controllers via this command +#define STEAM_CONTROLLER_HANDLE_ALL_CONTROLLERS UINT64_MAX + +#define STEAM_CONTROLLER_MIN_ANALOG_ACTION_DATA -1.0f +#define STEAM_CONTROLLER_MAX_ANALOG_ACTION_DATA 1.0f + +#ifndef ISTEAMINPUT_H +enum ESteamControllerPad +{ + k_ESteamControllerPad_Left, + k_ESteamControllerPad_Right +}; +#endif + +// Note: Please do not use action origins as a way to identify controller types. There is no +// guarantee that they will be added in a contiguous manner - use GetInputTypeForHandle instead +// Versions of Steam that add new controller types in the future will extend this enum if you're +// using a lookup table please check the bounds of any origins returned by Steam. +enum EControllerActionOrigin +{ + // Steam Controller + k_EControllerActionOrigin_None, + k_EControllerActionOrigin_A, + k_EControllerActionOrigin_B, + k_EControllerActionOrigin_X, + k_EControllerActionOrigin_Y, + k_EControllerActionOrigin_LeftBumper, + k_EControllerActionOrigin_RightBumper, + k_EControllerActionOrigin_LeftGrip, + k_EControllerActionOrigin_RightGrip, + k_EControllerActionOrigin_Start, + k_EControllerActionOrigin_Back, + k_EControllerActionOrigin_LeftPad_Touch, + k_EControllerActionOrigin_LeftPad_Swipe, + k_EControllerActionOrigin_LeftPad_Click, + k_EControllerActionOrigin_LeftPad_DPadNorth, + k_EControllerActionOrigin_LeftPad_DPadSouth, + k_EControllerActionOrigin_LeftPad_DPadWest, + k_EControllerActionOrigin_LeftPad_DPadEast, + k_EControllerActionOrigin_RightPad_Touch, + k_EControllerActionOrigin_RightPad_Swipe, + k_EControllerActionOrigin_RightPad_Click, + k_EControllerActionOrigin_RightPad_DPadNorth, + k_EControllerActionOrigin_RightPad_DPadSouth, + k_EControllerActionOrigin_RightPad_DPadWest, + k_EControllerActionOrigin_RightPad_DPadEast, + k_EControllerActionOrigin_LeftTrigger_Pull, + k_EControllerActionOrigin_LeftTrigger_Click, + k_EControllerActionOrigin_RightTrigger_Pull, + k_EControllerActionOrigin_RightTrigger_Click, + k_EControllerActionOrigin_LeftStick_Move, + k_EControllerActionOrigin_LeftStick_Click, + k_EControllerActionOrigin_LeftStick_DPadNorth, + k_EControllerActionOrigin_LeftStick_DPadSouth, + k_EControllerActionOrigin_LeftStick_DPadWest, + k_EControllerActionOrigin_LeftStick_DPadEast, + k_EControllerActionOrigin_Gyro_Move, + k_EControllerActionOrigin_Gyro_Pitch, + k_EControllerActionOrigin_Gyro_Yaw, + k_EControllerActionOrigin_Gyro_Roll, + + // PS4 Dual Shock + k_EControllerActionOrigin_PS4_X, + k_EControllerActionOrigin_PS4_Circle, + k_EControllerActionOrigin_PS4_Triangle, + k_EControllerActionOrigin_PS4_Square, + k_EControllerActionOrigin_PS4_LeftBumper, + k_EControllerActionOrigin_PS4_RightBumper, + k_EControllerActionOrigin_PS4_Options, //Start + k_EControllerActionOrigin_PS4_Share, //Back + k_EControllerActionOrigin_PS4_LeftPad_Touch, + k_EControllerActionOrigin_PS4_LeftPad_Swipe, + k_EControllerActionOrigin_PS4_LeftPad_Click, + k_EControllerActionOrigin_PS4_LeftPad_DPadNorth, + k_EControllerActionOrigin_PS4_LeftPad_DPadSouth, + k_EControllerActionOrigin_PS4_LeftPad_DPadWest, + k_EControllerActionOrigin_PS4_LeftPad_DPadEast, + k_EControllerActionOrigin_PS4_RightPad_Touch, + k_EControllerActionOrigin_PS4_RightPad_Swipe, + k_EControllerActionOrigin_PS4_RightPad_Click, + k_EControllerActionOrigin_PS4_RightPad_DPadNorth, + k_EControllerActionOrigin_PS4_RightPad_DPadSouth, + k_EControllerActionOrigin_PS4_RightPad_DPadWest, + k_EControllerActionOrigin_PS4_RightPad_DPadEast, + k_EControllerActionOrigin_PS4_CenterPad_Touch, + k_EControllerActionOrigin_PS4_CenterPad_Swipe, + k_EControllerActionOrigin_PS4_CenterPad_Click, + k_EControllerActionOrigin_PS4_CenterPad_DPadNorth, + k_EControllerActionOrigin_PS4_CenterPad_DPadSouth, + k_EControllerActionOrigin_PS4_CenterPad_DPadWest, + k_EControllerActionOrigin_PS4_CenterPad_DPadEast, + k_EControllerActionOrigin_PS4_LeftTrigger_Pull, + k_EControllerActionOrigin_PS4_LeftTrigger_Click, + k_EControllerActionOrigin_PS4_RightTrigger_Pull, + k_EControllerActionOrigin_PS4_RightTrigger_Click, + k_EControllerActionOrigin_PS4_LeftStick_Move, + k_EControllerActionOrigin_PS4_LeftStick_Click, + k_EControllerActionOrigin_PS4_LeftStick_DPadNorth, + k_EControllerActionOrigin_PS4_LeftStick_DPadSouth, + k_EControllerActionOrigin_PS4_LeftStick_DPadWest, + k_EControllerActionOrigin_PS4_LeftStick_DPadEast, + k_EControllerActionOrigin_PS4_RightStick_Move, + k_EControllerActionOrigin_PS4_RightStick_Click, + k_EControllerActionOrigin_PS4_RightStick_DPadNorth, + k_EControllerActionOrigin_PS4_RightStick_DPadSouth, + k_EControllerActionOrigin_PS4_RightStick_DPadWest, + k_EControllerActionOrigin_PS4_RightStick_DPadEast, + k_EControllerActionOrigin_PS4_DPad_North, + k_EControllerActionOrigin_PS4_DPad_South, + k_EControllerActionOrigin_PS4_DPad_West, + k_EControllerActionOrigin_PS4_DPad_East, + k_EControllerActionOrigin_PS4_Gyro_Move, + k_EControllerActionOrigin_PS4_Gyro_Pitch, + k_EControllerActionOrigin_PS4_Gyro_Yaw, + k_EControllerActionOrigin_PS4_Gyro_Roll, + + // XBox One + k_EControllerActionOrigin_XBoxOne_A, + k_EControllerActionOrigin_XBoxOne_B, + k_EControllerActionOrigin_XBoxOne_X, + k_EControllerActionOrigin_XBoxOne_Y, + k_EControllerActionOrigin_XBoxOne_LeftBumper, + k_EControllerActionOrigin_XBoxOne_RightBumper, + k_EControllerActionOrigin_XBoxOne_Menu, //Start + k_EControllerActionOrigin_XBoxOne_View, //Back + k_EControllerActionOrigin_XBoxOne_LeftTrigger_Pull, + k_EControllerActionOrigin_XBoxOne_LeftTrigger_Click, + k_EControllerActionOrigin_XBoxOne_RightTrigger_Pull, + k_EControllerActionOrigin_XBoxOne_RightTrigger_Click, + k_EControllerActionOrigin_XBoxOne_LeftStick_Move, + k_EControllerActionOrigin_XBoxOne_LeftStick_Click, + k_EControllerActionOrigin_XBoxOne_LeftStick_DPadNorth, + k_EControllerActionOrigin_XBoxOne_LeftStick_DPadSouth, + k_EControllerActionOrigin_XBoxOne_LeftStick_DPadWest, + k_EControllerActionOrigin_XBoxOne_LeftStick_DPadEast, + k_EControllerActionOrigin_XBoxOne_RightStick_Move, + k_EControllerActionOrigin_XBoxOne_RightStick_Click, + k_EControllerActionOrigin_XBoxOne_RightStick_DPadNorth, + k_EControllerActionOrigin_XBoxOne_RightStick_DPadSouth, + k_EControllerActionOrigin_XBoxOne_RightStick_DPadWest, + k_EControllerActionOrigin_XBoxOne_RightStick_DPadEast, + k_EControllerActionOrigin_XBoxOne_DPad_North, + k_EControllerActionOrigin_XBoxOne_DPad_South, + k_EControllerActionOrigin_XBoxOne_DPad_West, + k_EControllerActionOrigin_XBoxOne_DPad_East, + + // XBox 360 + k_EControllerActionOrigin_XBox360_A, + k_EControllerActionOrigin_XBox360_B, + k_EControllerActionOrigin_XBox360_X, + k_EControllerActionOrigin_XBox360_Y, + k_EControllerActionOrigin_XBox360_LeftBumper, + k_EControllerActionOrigin_XBox360_RightBumper, + k_EControllerActionOrigin_XBox360_Start, //Start + k_EControllerActionOrigin_XBox360_Back, //Back + k_EControllerActionOrigin_XBox360_LeftTrigger_Pull, + k_EControllerActionOrigin_XBox360_LeftTrigger_Click, + k_EControllerActionOrigin_XBox360_RightTrigger_Pull, + k_EControllerActionOrigin_XBox360_RightTrigger_Click, + k_EControllerActionOrigin_XBox360_LeftStick_Move, + k_EControllerActionOrigin_XBox360_LeftStick_Click, + k_EControllerActionOrigin_XBox360_LeftStick_DPadNorth, + k_EControllerActionOrigin_XBox360_LeftStick_DPadSouth, + k_EControllerActionOrigin_XBox360_LeftStick_DPadWest, + k_EControllerActionOrigin_XBox360_LeftStick_DPadEast, + k_EControllerActionOrigin_XBox360_RightStick_Move, + k_EControllerActionOrigin_XBox360_RightStick_Click, + k_EControllerActionOrigin_XBox360_RightStick_DPadNorth, + k_EControllerActionOrigin_XBox360_RightStick_DPadSouth, + k_EControllerActionOrigin_XBox360_RightStick_DPadWest, + k_EControllerActionOrigin_XBox360_RightStick_DPadEast, + k_EControllerActionOrigin_XBox360_DPad_North, + k_EControllerActionOrigin_XBox360_DPad_South, + k_EControllerActionOrigin_XBox360_DPad_West, + k_EControllerActionOrigin_XBox360_DPad_East, + + // SteamController V2 + k_EControllerActionOrigin_SteamV2_A, + k_EControllerActionOrigin_SteamV2_B, + k_EControllerActionOrigin_SteamV2_X, + k_EControllerActionOrigin_SteamV2_Y, + k_EControllerActionOrigin_SteamV2_LeftBumper, + k_EControllerActionOrigin_SteamV2_RightBumper, + k_EControllerActionOrigin_SteamV2_LeftGrip_Lower, + k_EControllerActionOrigin_SteamV2_LeftGrip_Upper, + k_EControllerActionOrigin_SteamV2_RightGrip_Lower, + k_EControllerActionOrigin_SteamV2_RightGrip_Upper, + k_EControllerActionOrigin_SteamV2_LeftBumper_Pressure, + k_EControllerActionOrigin_SteamV2_RightBumper_Pressure, + k_EControllerActionOrigin_SteamV2_LeftGrip_Pressure, + k_EControllerActionOrigin_SteamV2_RightGrip_Pressure, + k_EControllerActionOrigin_SteamV2_LeftGrip_Upper_Pressure, + k_EControllerActionOrigin_SteamV2_RightGrip_Upper_Pressure, + k_EControllerActionOrigin_SteamV2_Start, + k_EControllerActionOrigin_SteamV2_Back, + k_EControllerActionOrigin_SteamV2_LeftPad_Touch, + k_EControllerActionOrigin_SteamV2_LeftPad_Swipe, + k_EControllerActionOrigin_SteamV2_LeftPad_Click, + k_EControllerActionOrigin_SteamV2_LeftPad_Pressure, + k_EControllerActionOrigin_SteamV2_LeftPad_DPadNorth, + k_EControllerActionOrigin_SteamV2_LeftPad_DPadSouth, + k_EControllerActionOrigin_SteamV2_LeftPad_DPadWest, + k_EControllerActionOrigin_SteamV2_LeftPad_DPadEast, + k_EControllerActionOrigin_SteamV2_RightPad_Touch, + k_EControllerActionOrigin_SteamV2_RightPad_Swipe, + k_EControllerActionOrigin_SteamV2_RightPad_Click, + k_EControllerActionOrigin_SteamV2_RightPad_Pressure, + k_EControllerActionOrigin_SteamV2_RightPad_DPadNorth, + k_EControllerActionOrigin_SteamV2_RightPad_DPadSouth, + k_EControllerActionOrigin_SteamV2_RightPad_DPadWest, + k_EControllerActionOrigin_SteamV2_RightPad_DPadEast, + k_EControllerActionOrigin_SteamV2_LeftTrigger_Pull, + k_EControllerActionOrigin_SteamV2_LeftTrigger_Click, + k_EControllerActionOrigin_SteamV2_RightTrigger_Pull, + k_EControllerActionOrigin_SteamV2_RightTrigger_Click, + k_EControllerActionOrigin_SteamV2_LeftStick_Move, + k_EControllerActionOrigin_SteamV2_LeftStick_Click, + k_EControllerActionOrigin_SteamV2_LeftStick_DPadNorth, + k_EControllerActionOrigin_SteamV2_LeftStick_DPadSouth, + k_EControllerActionOrigin_SteamV2_LeftStick_DPadWest, + k_EControllerActionOrigin_SteamV2_LeftStick_DPadEast, + k_EControllerActionOrigin_SteamV2_Gyro_Move, + k_EControllerActionOrigin_SteamV2_Gyro_Pitch, + k_EControllerActionOrigin_SteamV2_Gyro_Yaw, + k_EControllerActionOrigin_SteamV2_Gyro_Roll, + + // Switch - Pro or Joycons used as a single input device. + // This does not apply to a single joycon + k_EControllerActionOrigin_Switch_A, + k_EControllerActionOrigin_Switch_B, + k_EControllerActionOrigin_Switch_X, + k_EControllerActionOrigin_Switch_Y, + k_EControllerActionOrigin_Switch_LeftBumper, + k_EControllerActionOrigin_Switch_RightBumper, + k_EControllerActionOrigin_Switch_Plus, //Start + k_EControllerActionOrigin_Switch_Minus, //Back + k_EControllerActionOrigin_Switch_Capture, + k_EControllerActionOrigin_Switch_LeftTrigger_Pull, + k_EControllerActionOrigin_Switch_LeftTrigger_Click, + k_EControllerActionOrigin_Switch_RightTrigger_Pull, + k_EControllerActionOrigin_Switch_RightTrigger_Click, + k_EControllerActionOrigin_Switch_LeftStick_Move, + k_EControllerActionOrigin_Switch_LeftStick_Click, + k_EControllerActionOrigin_Switch_LeftStick_DPadNorth, + k_EControllerActionOrigin_Switch_LeftStick_DPadSouth, + k_EControllerActionOrigin_Switch_LeftStick_DPadWest, + k_EControllerActionOrigin_Switch_LeftStick_DPadEast, + k_EControllerActionOrigin_Switch_RightStick_Move, + k_EControllerActionOrigin_Switch_RightStick_Click, + k_EControllerActionOrigin_Switch_RightStick_DPadNorth, + k_EControllerActionOrigin_Switch_RightStick_DPadSouth, + k_EControllerActionOrigin_Switch_RightStick_DPadWest, + k_EControllerActionOrigin_Switch_RightStick_DPadEast, + k_EControllerActionOrigin_Switch_DPad_North, + k_EControllerActionOrigin_Switch_DPad_South, + k_EControllerActionOrigin_Switch_DPad_West, + k_EControllerActionOrigin_Switch_DPad_East, + k_EControllerActionOrigin_Switch_ProGyro_Move, // Primary Gyro in Pro Controller, or Right JoyCon + k_EControllerActionOrigin_Switch_ProGyro_Pitch, // Primary Gyro in Pro Controller, or Right JoyCon + k_EControllerActionOrigin_Switch_ProGyro_Yaw, // Primary Gyro in Pro Controller, or Right JoyCon + k_EControllerActionOrigin_Switch_ProGyro_Roll, // Primary Gyro in Pro Controller, or Right JoyCon + // Switch JoyCon Specific + k_EControllerActionOrigin_Switch_RightGyro_Move, // Right JoyCon Gyro generally should correspond to Pro's single gyro + k_EControllerActionOrigin_Switch_RightGyro_Pitch, // Right JoyCon Gyro generally should correspond to Pro's single gyro + k_EControllerActionOrigin_Switch_RightGyro_Yaw, // Right JoyCon Gyro generally should correspond to Pro's single gyro + k_EControllerActionOrigin_Switch_RightGyro_Roll, // Right JoyCon Gyro generally should correspond to Pro's single gyro + k_EControllerActionOrigin_Switch_LeftGyro_Move, + k_EControllerActionOrigin_Switch_LeftGyro_Pitch, + k_EControllerActionOrigin_Switch_LeftGyro_Yaw, + k_EControllerActionOrigin_Switch_LeftGyro_Roll, + k_EControllerActionOrigin_Switch_LeftGrip_Lower, // Left JoyCon SR Button + k_EControllerActionOrigin_Switch_LeftGrip_Upper, // Left JoyCon SL Button + k_EControllerActionOrigin_Switch_RightGrip_Lower, // Right JoyCon SL Button + k_EControllerActionOrigin_Switch_RightGrip_Upper, // Right JoyCon SR Button + + // Added in SDK 1.45 + k_EControllerActionOrigin_PS4_DPad_Move, + k_EControllerActionOrigin_XBoxOne_DPad_Move, + k_EControllerActionOrigin_XBox360_DPad_Move, + k_EControllerActionOrigin_Switch_DPad_Move, + + // Added in SDK 1.51 + k_EControllerActionOrigin_PS5_X, + k_EControllerActionOrigin_PS5_Circle, + k_EControllerActionOrigin_PS5_Triangle, + k_EControllerActionOrigin_PS5_Square, + k_EControllerActionOrigin_PS5_LeftBumper, + k_EControllerActionOrigin_PS5_RightBumper, + k_EControllerActionOrigin_PS5_Option, //Start + k_EControllerActionOrigin_PS5_Create, //Back + k_EControllerActionOrigin_PS5_Mute, + k_EControllerActionOrigin_PS5_LeftPad_Touch, + k_EControllerActionOrigin_PS5_LeftPad_Swipe, + k_EControllerActionOrigin_PS5_LeftPad_Click, + k_EControllerActionOrigin_PS5_LeftPad_DPadNorth, + k_EControllerActionOrigin_PS5_LeftPad_DPadSouth, + k_EControllerActionOrigin_PS5_LeftPad_DPadWest, + k_EControllerActionOrigin_PS5_LeftPad_DPadEast, + k_EControllerActionOrigin_PS5_RightPad_Touch, + k_EControllerActionOrigin_PS5_RightPad_Swipe, + k_EControllerActionOrigin_PS5_RightPad_Click, + k_EControllerActionOrigin_PS5_RightPad_DPadNorth, + k_EControllerActionOrigin_PS5_RightPad_DPadSouth, + k_EControllerActionOrigin_PS5_RightPad_DPadWest, + k_EControllerActionOrigin_PS5_RightPad_DPadEast, + k_EControllerActionOrigin_PS5_CenterPad_Touch, + k_EControllerActionOrigin_PS5_CenterPad_Swipe, + k_EControllerActionOrigin_PS5_CenterPad_Click, + k_EControllerActionOrigin_PS5_CenterPad_DPadNorth, + k_EControllerActionOrigin_PS5_CenterPad_DPadSouth, + k_EControllerActionOrigin_PS5_CenterPad_DPadWest, + k_EControllerActionOrigin_PS5_CenterPad_DPadEast, + k_EControllerActionOrigin_PS5_LeftTrigger_Pull, + k_EControllerActionOrigin_PS5_LeftTrigger_Click, + k_EControllerActionOrigin_PS5_RightTrigger_Pull, + k_EControllerActionOrigin_PS5_RightTrigger_Click, + k_EControllerActionOrigin_PS5_LeftStick_Move, + k_EControllerActionOrigin_PS5_LeftStick_Click, + k_EControllerActionOrigin_PS5_LeftStick_DPadNorth, + k_EControllerActionOrigin_PS5_LeftStick_DPadSouth, + k_EControllerActionOrigin_PS5_LeftStick_DPadWest, + k_EControllerActionOrigin_PS5_LeftStick_DPadEast, + k_EControllerActionOrigin_PS5_RightStick_Move, + k_EControllerActionOrigin_PS5_RightStick_Click, + k_EControllerActionOrigin_PS5_RightStick_DPadNorth, + k_EControllerActionOrigin_PS5_RightStick_DPadSouth, + k_EControllerActionOrigin_PS5_RightStick_DPadWest, + k_EControllerActionOrigin_PS5_RightStick_DPadEast, + k_EControllerActionOrigin_PS5_DPad_Move, + k_EControllerActionOrigin_PS5_DPad_North, + k_EControllerActionOrigin_PS5_DPad_South, + k_EControllerActionOrigin_PS5_DPad_West, + k_EControllerActionOrigin_PS5_DPad_East, + k_EControllerActionOrigin_PS5_Gyro_Move, + k_EControllerActionOrigin_PS5_Gyro_Pitch, + k_EControllerActionOrigin_PS5_Gyro_Yaw, + k_EControllerActionOrigin_PS5_Gyro_Roll, + + k_EControllerActionOrigin_XBoxOne_LeftGrip_Lower, + k_EControllerActionOrigin_XBoxOne_LeftGrip_Upper, + k_EControllerActionOrigin_XBoxOne_RightGrip_Lower, + k_EControllerActionOrigin_XBoxOne_RightGrip_Upper, + k_EControllerActionOrigin_XBoxOne_Share, + + // Added in SDK 1.53 + k_EControllerActionOrigin_SteamDeck_A, + k_EControllerActionOrigin_SteamDeck_B, + k_EControllerActionOrigin_SteamDeck_X, + k_EControllerActionOrigin_SteamDeck_Y, + k_EControllerActionOrigin_SteamDeck_L1, + k_EControllerActionOrigin_SteamDeck_R1, + k_EControllerActionOrigin_SteamDeck_Menu, + k_EControllerActionOrigin_SteamDeck_View, + k_EControllerActionOrigin_SteamDeck_LeftPad_Touch, + k_EControllerActionOrigin_SteamDeck_LeftPad_Swipe, + k_EControllerActionOrigin_SteamDeck_LeftPad_Click, + k_EControllerActionOrigin_SteamDeck_LeftPad_DPadNorth, + k_EControllerActionOrigin_SteamDeck_LeftPad_DPadSouth, + k_EControllerActionOrigin_SteamDeck_LeftPad_DPadWest, + k_EControllerActionOrigin_SteamDeck_LeftPad_DPadEast, + k_EControllerActionOrigin_SteamDeck_RightPad_Touch, + k_EControllerActionOrigin_SteamDeck_RightPad_Swipe, + k_EControllerActionOrigin_SteamDeck_RightPad_Click, + k_EControllerActionOrigin_SteamDeck_RightPad_DPadNorth, + k_EControllerActionOrigin_SteamDeck_RightPad_DPadSouth, + k_EControllerActionOrigin_SteamDeck_RightPad_DPadWest, + k_EControllerActionOrigin_SteamDeck_RightPad_DPadEast, + k_EControllerActionOrigin_SteamDeck_L2_SoftPull, + k_EControllerActionOrigin_SteamDeck_L2, + k_EControllerActionOrigin_SteamDeck_R2_SoftPull, + k_EControllerActionOrigin_SteamDeck_R2, + k_EControllerActionOrigin_SteamDeck_LeftStick_Move, + k_EControllerActionOrigin_SteamDeck_L3, + k_EControllerActionOrigin_SteamDeck_LeftStick_DPadNorth, + k_EControllerActionOrigin_SteamDeck_LeftStick_DPadSouth, + k_EControllerActionOrigin_SteamDeck_LeftStick_DPadWest, + k_EControllerActionOrigin_SteamDeck_LeftStick_DPadEast, + k_EControllerActionOrigin_SteamDeck_LeftStick_Touch, + k_EControllerActionOrigin_SteamDeck_RightStick_Move, + k_EControllerActionOrigin_SteamDeck_R3, + k_EControllerActionOrigin_SteamDeck_RightStick_DPadNorth, + k_EControllerActionOrigin_SteamDeck_RightStick_DPadSouth, + k_EControllerActionOrigin_SteamDeck_RightStick_DPadWest, + k_EControllerActionOrigin_SteamDeck_RightStick_DPadEast, + k_EControllerActionOrigin_SteamDeck_RightStick_Touch, + k_EControllerActionOrigin_SteamDeck_L4, + k_EControllerActionOrigin_SteamDeck_R4, + k_EControllerActionOrigin_SteamDeck_L5, + k_EControllerActionOrigin_SteamDeck_R5, + k_EControllerActionOrigin_SteamDeck_DPad_Move, + k_EControllerActionOrigin_SteamDeck_DPad_North, + k_EControllerActionOrigin_SteamDeck_DPad_South, + k_EControllerActionOrigin_SteamDeck_DPad_West, + k_EControllerActionOrigin_SteamDeck_DPad_East, + k_EControllerActionOrigin_SteamDeck_Gyro_Move, + k_EControllerActionOrigin_SteamDeck_Gyro_Pitch, + k_EControllerActionOrigin_SteamDeck_Gyro_Yaw, + k_EControllerActionOrigin_SteamDeck_Gyro_Roll, + k_EControllerActionOrigin_SteamDeck_Reserved1, + k_EControllerActionOrigin_SteamDeck_Reserved2, + k_EControllerActionOrigin_SteamDeck_Reserved3, + k_EControllerActionOrigin_SteamDeck_Reserved4, + k_EControllerActionOrigin_SteamDeck_Reserved5, + k_EControllerActionOrigin_SteamDeck_Reserved6, + k_EControllerActionOrigin_SteamDeck_Reserved7, + k_EControllerActionOrigin_SteamDeck_Reserved8, + k_EControllerActionOrigin_SteamDeck_Reserved9, + k_EControllerActionOrigin_SteamDeck_Reserved10, + k_EControllerActionOrigin_SteamDeck_Reserved11, + k_EControllerActionOrigin_SteamDeck_Reserved12, + k_EControllerActionOrigin_SteamDeck_Reserved13, + k_EControllerActionOrigin_SteamDeck_Reserved14, + k_EControllerActionOrigin_SteamDeck_Reserved15, + k_EControllerActionOrigin_SteamDeck_Reserved16, + k_EControllerActionOrigin_SteamDeck_Reserved17, + k_EControllerActionOrigin_SteamDeck_Reserved18, + k_EControllerActionOrigin_SteamDeck_Reserved19, + k_EControllerActionOrigin_SteamDeck_Reserved20, + + k_EControllerActionOrigin_Switch_JoyConButton_N, // With a Horizontal JoyCon this will be Y or what would be Dpad Right when vertical + k_EControllerActionOrigin_Switch_JoyConButton_E, // X + k_EControllerActionOrigin_Switch_JoyConButton_S, // A + k_EControllerActionOrigin_Switch_JoyConButton_W, // B + + k_EControllerActionOrigin_PS5_LeftGrip, + k_EControllerActionOrigin_PS5_RightGrip, + k_EControllerActionOrigin_PS5_LeftFn, + k_EControllerActionOrigin_PS5_RightFn, + + k_EControllerActionOrigin_Count, // If Steam has added support for new controllers origins will go here. + k_EControllerActionOrigin_MaximumPossibleValue = 32767, // Origins are currently a maximum of 16 bits. +}; + +#ifndef ISTEAMINPUT_H +enum EXboxOrigin +{ + k_EXboxOrigin_A, + k_EXboxOrigin_B, + k_EXboxOrigin_X, + k_EXboxOrigin_Y, + k_EXboxOrigin_LeftBumper, + k_EXboxOrigin_RightBumper, + k_EXboxOrigin_Menu, //Start + k_EXboxOrigin_View, //Back + k_EXboxOrigin_LeftTrigger_Pull, + k_EXboxOrigin_LeftTrigger_Click, + k_EXboxOrigin_RightTrigger_Pull, + k_EXboxOrigin_RightTrigger_Click, + k_EXboxOrigin_LeftStick_Move, + k_EXboxOrigin_LeftStick_Click, + k_EXboxOrigin_LeftStick_DPadNorth, + k_EXboxOrigin_LeftStick_DPadSouth, + k_EXboxOrigin_LeftStick_DPadWest, + k_EXboxOrigin_LeftStick_DPadEast, + k_EXboxOrigin_RightStick_Move, + k_EXboxOrigin_RightStick_Click, + k_EXboxOrigin_RightStick_DPadNorth, + k_EXboxOrigin_RightStick_DPadSouth, + k_EXboxOrigin_RightStick_DPadWest, + k_EXboxOrigin_RightStick_DPadEast, + k_EXboxOrigin_DPad_North, + k_EXboxOrigin_DPad_South, + k_EXboxOrigin_DPad_West, + k_EXboxOrigin_DPad_East, +}; + +enum ESteamInputType +{ + k_ESteamInputType_Unknown, + k_ESteamInputType_SteamController, + k_ESteamInputType_XBox360Controller, + k_ESteamInputType_XBoxOneController, + k_ESteamInputType_GenericGamepad, // DirectInput controllers + k_ESteamInputType_PS4Controller, + k_ESteamInputType_AppleMFiController, // Unused + k_ESteamInputType_AndroidController, // Unused + k_ESteamInputType_SwitchJoyConPair, // Unused + k_ESteamInputType_SwitchJoyConSingle, // Unused + k_ESteamInputType_SwitchProController, + k_ESteamInputType_MobileTouch, // Steam Link App On-screen Virtual Controller + k_ESteamInputType_PS3Controller, // Currently uses PS4 Origins + k_ESteamInputType_PS5Controller, // Added in SDK 151 + k_ESteamInputType_Count, + k_ESteamInputType_MaximumPossibleValue = 255, +}; +#endif + +enum ESteamControllerLEDFlag +{ + k_ESteamControllerLEDFlag_SetColor, + k_ESteamControllerLEDFlag_RestoreUserDefault +}; + +// ControllerHandle_t is used to refer to a specific controller. +// This handle will consistently identify a controller, even if it is disconnected and re-connected +typedef uint64 ControllerHandle_t; + + +// These handles are used to refer to a specific in-game action or action set +// All action handles should be queried during initialization for performance reasons +typedef uint64 ControllerActionSetHandle_t; +typedef uint64 ControllerDigitalActionHandle_t; +typedef uint64 ControllerAnalogActionHandle_t; + +#pragma pack( push, 1 ) + +#ifdef ISTEAMINPUT_H +#define ControllerAnalogActionData_t InputAnalogActionData_t +#define ControllerDigitalActionData_t InputDigitalActionData_t +#define ControllerMotionData_t InputMotionData_t +#else +struct ControllerAnalogActionData_t +{ + // Type of data coming from this action, this will match what got specified in the action set + EControllerSourceMode eMode; + + // The current state of this action; will be delta updates for mouse actions + float x, y; + + // Whether or not this action is currently available to be bound in the active action set + bool bActive; +}; + +struct ControllerDigitalActionData_t +{ + // The current state of this action; will be true if currently pressed + bool bState; + + // Whether or not this action is currently available to be bound in the active action set + bool bActive; +}; + +struct ControllerMotionData_t +{ + // Sensor-fused absolute rotation; will drift in heading + float rotQuatX; + float rotQuatY; + float rotQuatZ; + float rotQuatW; + + // Positional acceleration + float posAccelX; + float posAccelY; + float posAccelZ; + + // Angular velocity + float rotVelX; + float rotVelY; + float rotVelZ; +}; +#endif +#pragma pack( pop ) + + +//----------------------------------------------------------------------------- +// Purpose: Steam Input API +//----------------------------------------------------------------------------- +class ISteamController +{ +public: + + // Init and Shutdown must be called when starting/ending use of this interface + virtual bool Init() = 0; + virtual bool Shutdown() = 0; + + // Synchronize API state with the latest Steam Controller inputs available. This + // is performed automatically by SteamAPI_RunCallbacks, but for the absolute lowest + // possible latency, you call this directly before reading controller state. This must + // be called from somewhere before GetConnectedControllers will return any handles + virtual void RunFrame() = 0; + + // Enumerate currently connected controllers + // handlesOut should point to a STEAM_CONTROLLER_MAX_COUNT sized array of ControllerHandle_t handles + // Returns the number of handles written to handlesOut + virtual int GetConnectedControllers( STEAM_OUT_ARRAY_COUNT( STEAM_CONTROLLER_MAX_COUNT, Receives list of connected controllers ) ControllerHandle_t *handlesOut ) = 0; + + //----------------------------------------------------------------------------- + // ACTION SETS + //----------------------------------------------------------------------------- + + // Lookup the handle for an Action Set. Best to do this once on startup, and store the handles for all future API calls. + virtual ControllerActionSetHandle_t GetActionSetHandle( const char *pszActionSetName ) = 0; + + // Reconfigure the controller to use the specified action set (ie 'Menu', 'Walk' or 'Drive') + // This is cheap, and can be safely called repeatedly. It's often easier to repeatedly call it in + // your state loops, instead of trying to place it in all of your state transitions. + virtual void ActivateActionSet( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle ) = 0; + virtual ControllerActionSetHandle_t GetCurrentActionSet( ControllerHandle_t controllerHandle ) = 0; + + // ACTION SET LAYERS + virtual void ActivateActionSetLayer( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetLayerHandle ) = 0; + virtual void DeactivateActionSetLayer( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetLayerHandle ) = 0; + virtual void DeactivateAllActionSetLayers( ControllerHandle_t controllerHandle ) = 0; + // Enumerate currently active layers + // handlesOut should point to a STEAM_CONTROLLER_MAX_ACTIVE_LAYERS sized array of ControllerActionSetHandle_t handles. + // Returns the number of handles written to handlesOut + virtual int GetActiveActionSetLayers( ControllerHandle_t controllerHandle, STEAM_OUT_ARRAY_COUNT( STEAM_CONTROLLER_MAX_ACTIVE_LAYERS, Receives list of active layers ) ControllerActionSetHandle_t *handlesOut ) = 0; + + //----------------------------------------------------------------------------- + // ACTIONS + //----------------------------------------------------------------------------- + + // Lookup the handle for a digital action. Best to do this once on startup, and store the handles for all future API calls. + virtual ControllerDigitalActionHandle_t GetDigitalActionHandle( const char *pszActionName ) = 0; + + // Returns the current state of the supplied digital game action + virtual ControllerDigitalActionData_t GetDigitalActionData( ControllerHandle_t controllerHandle, ControllerDigitalActionHandle_t digitalActionHandle ) = 0; + + // Get the origin(s) for a digital action within an action set. Returns the number of origins supplied in originsOut. Use this to display the appropriate on-screen prompt for the action. + // originsOut should point to a STEAM_CONTROLLER_MAX_ORIGINS sized array of EControllerActionOrigin handles. The EControllerActionOrigin enum will get extended as support for new controller controllers gets added to + // the Steam client and will exceed the values from this header, please check bounds if you are using a look up table. + virtual int GetDigitalActionOrigins( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle, ControllerDigitalActionHandle_t digitalActionHandle, STEAM_OUT_ARRAY_COUNT( STEAM_CONTROLLER_MAX_ORIGINS, Receives list of aciton origins ) EControllerActionOrigin *originsOut ) = 0; + + // Lookup the handle for an analog action. Best to do this once on startup, and store the handles for all future API calls. + virtual ControllerAnalogActionHandle_t GetAnalogActionHandle( const char *pszActionName ) = 0; + + // Returns the current state of these supplied analog game action + virtual ControllerAnalogActionData_t GetAnalogActionData( ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t analogActionHandle ) = 0; + + // Get the origin(s) for an analog action within an action set. Returns the number of origins supplied in originsOut. Use this to display the appropriate on-screen prompt for the action. + // originsOut should point to a STEAM_CONTROLLER_MAX_ORIGINS sized array of EControllerActionOrigin handles. The EControllerActionOrigin enum will get extended as support for new controller controllers gets added to + // the Steam client and will exceed the values from this header, please check bounds if you are using a look up table. + virtual int GetAnalogActionOrigins( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle, ControllerAnalogActionHandle_t analogActionHandle, STEAM_OUT_ARRAY_COUNT( STEAM_CONTROLLER_MAX_ORIGINS, Receives list of action origins ) EControllerActionOrigin *originsOut ) = 0; + + // Get a local path to art for on-screen glyph for a particular origin - this call is cheap + virtual const char *GetGlyphForActionOrigin( EControllerActionOrigin eOrigin ) = 0; + + // Returns a localized string (from Steam's language setting) for the specified origin - this call is serialized + virtual const char *GetStringForActionOrigin( EControllerActionOrigin eOrigin ) = 0; + + virtual void StopAnalogActionMomentum( ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t eAction ) = 0; + + // Returns raw motion data from the specified controller + virtual ControllerMotionData_t GetMotionData( ControllerHandle_t controllerHandle ) = 0; + + //----------------------------------------------------------------------------- + // OUTPUTS + //----------------------------------------------------------------------------- + + // Trigger a haptic pulse on a controller + virtual void TriggerHapticPulse( ControllerHandle_t controllerHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec ) = 0; + + // Trigger a pulse with a duty cycle of usDurationMicroSec / usOffMicroSec, unRepeat times. + // nFlags is currently unused and reserved for future use. + virtual void TriggerRepeatedHapticPulse( ControllerHandle_t controllerHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec, unsigned short usOffMicroSec, unsigned short unRepeat, unsigned int nFlags ) = 0; + + // Trigger a vibration event on supported controllers. + virtual void TriggerVibration( ControllerHandle_t controllerHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed ) = 0; + + // Set the controller LED color on supported controllers. + virtual void SetLEDColor( ControllerHandle_t controllerHandle, uint8 nColorR, uint8 nColorG, uint8 nColorB, unsigned int nFlags ) = 0; + + //----------------------------------------------------------------------------- + // Utility functions available without using the rest of Steam Input API + //----------------------------------------------------------------------------- + + // Invokes the Steam overlay and brings up the binding screen if the user is using Big Picture Mode + // If the user is not in Big Picture Mode it will open up the binding in a new window + virtual bool ShowBindingPanel( ControllerHandle_t controllerHandle ) = 0; + + // Returns the input type for a particular handle - unlike EControllerActionOrigin which update with Steam and may return unrecognized values + // ESteamInputType will remain static and only return valid values from your SDK version + virtual ESteamInputType GetInputTypeForHandle( ControllerHandle_t controllerHandle ) = 0; + + // Returns the associated controller handle for the specified emulated gamepad - can be used with the above 2 functions + // to identify controllers presented to your game over Xinput. Returns 0 if the Xinput index isn't associated with Steam Input + virtual ControllerHandle_t GetControllerForGamepadIndex( int nIndex ) = 0; + + // Returns the associated gamepad index for the specified controller, if emulating a gamepad or -1 if not associated with an Xinput index + virtual int GetGamepadIndexForController( ControllerHandle_t ulControllerHandle ) = 0; + + // Returns a localized string (from Steam's language setting) for the specified Xbox controller origin. + virtual const char *GetStringForXboxOrigin( EXboxOrigin eOrigin ) = 0; + + // Get a local path to art for on-screen glyph for a particular Xbox controller origin. + virtual const char *GetGlyphForXboxOrigin( EXboxOrigin eOrigin ) = 0; + + // Get the equivalent ActionOrigin for a given Xbox controller origin this can be chained with GetGlyphForActionOrigin to provide future proof glyphs for + // non-Steam Input API action games. Note - this only translates the buttons directly and doesn't take into account any remapping a user has made in their configuration + virtual EControllerActionOrigin GetActionOriginFromXboxOrigin( ControllerHandle_t controllerHandle, EXboxOrigin eOrigin ) = 0; + + // Convert an origin to another controller type - for inputs not present on the other controller type this will return k_EControllerActionOrigin_None + virtual EControllerActionOrigin TranslateActionOrigin( ESteamInputType eDestinationInputType, EControllerActionOrigin eSourceOrigin ) = 0; + + // Get the binding revision for a given device. Returns false if the handle was not valid or if a mapping is not yet loaded for the device + virtual bool GetControllerBindingRevision( ControllerHandle_t controllerHandle, int *pMajor, int *pMinor ) = 0; +}; + +#define STEAMCONTROLLER_INTERFACE_VERSION "SteamController008" + +// Global interface accessor +inline ISteamController *SteamController(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamController *, SteamController, STEAMCONTROLLER_INTERFACE_VERSION ); + +#endif // ISTEAMCONTROLLER_H diff --git a/lsteamclient/steamworks_sdk_159x/isteamdualsense.h b/lsteamclient/steamworks_sdk_159x/isteamdualsense.h new file mode 100644 index 0000000000..5acc85743c --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamdualsense.h @@ -0,0 +1,169 @@ +/* SIE CONFIDENTIAL + * $PSLibId$ + * Copyright (C) 2019 Sony Interactive Entertainment Inc. + * All Rights Reserved. + */ + + +#ifndef _SCE_PAD_TRIGGER_EFFECT_H +#define _SCE_PAD_TRIGGER_EFFECT_H + + +#define SCE_PAD_TRIGGER_EFFECT_TRIGGER_MASK_L2 0x01 +#define SCE_PAD_TRIGGER_EFFECT_TRIGGER_MASK_R2 0x02 + +#define SCE_PAD_TRIGGER_EFFECT_PARAM_INDEX_FOR_L2 0 +#define SCE_PAD_TRIGGER_EFFECT_PARAM_INDEX_FOR_R2 1 + +#define SCE_PAD_TRIGGER_EFFECT_TRIGGER_NUM 2 + +/* Definition of control point num */ +#define SCE_PAD_TRIGGER_EFFECT_CONTROL_POINT_NUM 10 + +typedef enum ScePadTriggerEffectMode{ + SCE_PAD_TRIGGER_EFFECT_MODE_OFF, + SCE_PAD_TRIGGER_EFFECT_MODE_FEEDBACK, + SCE_PAD_TRIGGER_EFFECT_MODE_WEAPON, + SCE_PAD_TRIGGER_EFFECT_MODE_VIBRATION, + SCE_PAD_TRIGGER_EFFECT_MODE_MULTIPLE_POSITION_FEEDBACK, + SCE_PAD_TRIGGER_EFFECT_MODE_SLOPE_FEEDBACK, + SCE_PAD_TRIGGER_EFFECT_MODE_MULTIPLE_POSITION_VIBRATION, +} ScePadTriggerEffectMode; + +/** + *E + * @brief parameter for setting the trigger effect to off mode. + * Off Mode: Stop trigger effect. + **/ +typedef struct ScePadTriggerEffectOffParam{ + uint8_t padding[48]; +} ScePadTriggerEffectOffParam; + +/** + *E + * @brief parameter for setting the trigger effect to Feedback mode. + * Feedback Mode: The motor arm pushes back trigger. + * Trigger obtains stiffness at specified position. + **/ +typedef struct ScePadTriggerEffectFeedbackParam{ + uint8_t position; /*E position where the strength of target trigger start changing(0~9). */ + uint8_t strength; /*E strength that the motor arm pushes back target trigger(0~8 (0: Same as Off mode)). */ + uint8_t padding[46]; +} ScePadTriggerEffectFeedbackParam; + +/** + *E + * @brief parameter for setting the trigger effect to Weapon mode. + * Weapon Mode: Emulate weapon like gun trigger. + **/ +typedef struct ScePadTriggerEffectWeaponParam{ + uint8_t startPosition; /*E position where the stiffness of trigger start changing(2~7). */ + uint8_t endPosition; /*E position where the stiffness of trigger finish changing(startPosition+1~8). */ + uint8_t strength; /*E strength of gun trigger(0~8 (0: Same as Off mode)). */ + uint8_t padding[45]; +} ScePadTriggerEffectWeaponParam; + +/** + *E + * @brief parameter for setting the trigger effect to Vibration mode. + * Vibration Mode: Vibrates motor arm around specified position. + **/ +typedef struct ScePadTriggerEffectVibrationParam{ + uint8_t position; /*E position where the motor arm start vibrating(0~9). */ + uint8_t amplitude; /*E vibration amplitude(0~8 (0: Same as Off mode)). */ + uint8_t frequency; /*E vibration frequency(0~255[Hz] (0: Same as Off mode)). */ + uint8_t padding[45]; +} ScePadTriggerEffectVibrationParam; + +/** + *E + * @brief parameter for setting the trigger effect to ScePadTriggerEffectMultiplePositionFeedbackParam mode. + * Multi Position Feedback Mode: The motor arm pushes back trigger. + * Trigger obtains specified stiffness at each control point. + **/ +typedef struct ScePadTriggerEffectMultiplePositionFeedbackParam{ + uint8_t strength[SCE_PAD_TRIGGER_EFFECT_CONTROL_POINT_NUM]; /*E strength that the motor arm pushes back target trigger at position(0~8 (0: Same as Off mode)). + * strength[0] means strength of motor arm at position0. + * strength[1] means strength of motor arm at position1. + * ... + * */ + uint8_t padding[38]; +} ScePadTriggerEffectMultiplePositionFeedbackParam; + +/** + *E + * @brief parameter for setting the trigger effect to Feedback3 mode. + * Slope Feedback Mode: The motor arm pushes back trigger between two spedified control points. + * Stiffness of the trigger is changing depending on the set place. + **/ +typedef struct ScePadTriggerEffectSlopeFeedbackParam{ + + uint8_t startPosition; /*E position where the strength of target trigger start changing(0~endPosition). */ + uint8_t endPosition; /*E position where the strength of target trigger finish changing(startPosition+1~9). */ + uint8_t startStrength; /*E strength when trigger's position is startPosition(1~8) */ + uint8_t endStrength; /*E strength when trigger's position is endPosition(1~8) */ + uint8_t padding[44]; +} ScePadTriggerEffectSlopeFeedbackParam; + +/** + *E + * @brief parameter for setting the trigger effect to Vibration2 mode. + * Multi Position Vibration Mode: Vibrates motor arm around specified control point. + * Trigger vibrates specified amplitude at each control point. + **/ +typedef struct ScePadTriggerEffectMultiplePositionVibrationParam{ + uint8_t frequency; /*E vibration frequency(0~255 (0: Same as Off mode)) */ + uint8_t amplitude[SCE_PAD_TRIGGER_EFFECT_CONTROL_POINT_NUM]; /*E vibration amplitude at position(0~8 (0: Same as Off mode)). + * amplitude[0] means amplitude of vibration at position0. + * amplitude[1] means amplitude of vibration at position1. + * ... + * */ + uint8_t padding[37]; +} ScePadTriggerEffectMultiplePositionVibrationParam; + +/** + *E + * @brief parameter for setting the trigger effect mode. + **/ +typedef union ScePadTriggerEffectCommandData{ + ScePadTriggerEffectOffParam offParam; + ScePadTriggerEffectFeedbackParam feedbackParam; + ScePadTriggerEffectWeaponParam weaponParam; + ScePadTriggerEffectVibrationParam vibrationParam; + ScePadTriggerEffectMultiplePositionFeedbackParam multiplePositionFeedbackParam; + ScePadTriggerEffectSlopeFeedbackParam slopeFeedbackParam; + ScePadTriggerEffectMultiplePositionVibrationParam multiplePositionVibrationParam; +} ScePadTriggerEffectCommandData; + +/** + *E + * @brief parameter for setting the trigger effect. + **/ +typedef struct ScePadTriggerEffectCommand{ + ScePadTriggerEffectMode mode; + uint8_t padding[4]; + ScePadTriggerEffectCommandData commandData; +} ScePadTriggerEffectCommand; + +/** + *E + * @brief parameter for the scePadSetTriggerEffect function. + **/ +typedef struct ScePadTriggerEffectParam{ + + uint8_t triggerMask; /*E Set trigger mask to activate trigger effect commands. + * SCE_PAD_TRIGGER_EFFECT_TRIGGER_MASK_L2 : 0x01 + * SCE_PAD_TRIGGER_EFFECT_TRIGGER_MASK_R2 : 0x02 + * */ + uint8_t padding[7]; + + ScePadTriggerEffectCommand command[SCE_PAD_TRIGGER_EFFECT_TRIGGER_NUM]; /*E command[SCE_PAD_TRIGGER_EFFECT_PARAM_INDEX_FOR_L2] is for L2 trigger setting + * and param[SCE_PAD_TRIGGER_EFFECT_PARAM_INDEX_FOR_R2] is for R2 trgger setting. + * */ +} ScePadTriggerEffectParam; + +#if defined(__cplusplus) && __cplusplus >= 201103L +static_assert( sizeof( ScePadTriggerEffectParam ) == 120, "ScePadTriggerEffectParam has incorrect size" ); +#endif + +#endif /* _SCE_PAD_TRIGGER_EFFECT_H */ diff --git a/lsteamclient/steamworks_sdk_159x/isteamfriends.h b/lsteamclient/steamworks_sdk_159x/isteamfriends.h new file mode 100644 index 0000000000..26351eee37 --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamfriends.h @@ -0,0 +1,757 @@ +//====== Copyright Valve Corporation, All rights reserved. ==================== +// +// Purpose: interface to both friends list data and general information about users +// +//============================================================================= + +#ifndef ISTEAMFRIENDS_H +#define ISTEAMFRIENDS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +//----------------------------------------------------------------------------- +// Purpose: set of relationships to other users +//----------------------------------------------------------------------------- +enum EFriendRelationship +{ + k_EFriendRelationshipNone = 0, + k_EFriendRelationshipBlocked = 1, // this doesn't get stored; the user has just done an Ignore on an friendship invite + k_EFriendRelationshipRequestRecipient = 2, + k_EFriendRelationshipFriend = 3, + k_EFriendRelationshipRequestInitiator = 4, + k_EFriendRelationshipIgnored = 5, // this is stored; the user has explicit blocked this other user from comments/chat/etc + k_EFriendRelationshipIgnoredFriend = 6, + k_EFriendRelationshipSuggested_DEPRECATED = 7, // was used by the original implementation of the facebook linking feature, but now unused. + + // keep this updated + k_EFriendRelationshipMax = 8, +}; + +// maximum length of friend group name (not including terminating nul!) +const int k_cchMaxFriendsGroupName = 64; + +// maximum number of groups a single user is allowed +const int k_cFriendsGroupLimit = 100; + +// friends group identifier type +typedef int16 FriendsGroupID_t; + +// invalid friends group identifier constant +const FriendsGroupID_t k_FriendsGroupID_Invalid = -1; + +const int k_cEnumerateFollowersMax = 50; + + +//----------------------------------------------------------------------------- +// Purpose: list of states a friend can be in +//----------------------------------------------------------------------------- +enum EPersonaState +{ + k_EPersonaStateOffline = 0, // friend is not currently logged on + k_EPersonaStateOnline = 1, // friend is logged on + k_EPersonaStateBusy = 2, // user is on, but busy + k_EPersonaStateAway = 3, // auto-away feature + k_EPersonaStateSnooze = 4, // auto-away for a long time + k_EPersonaStateLookingToTrade = 5, // Online, trading + k_EPersonaStateLookingToPlay = 6, // Online, wanting to play + k_EPersonaStateInvisible = 7, // Online, but appears offline to friends. This status is never published to clients. + k_EPersonaStateMax, +}; + + +//----------------------------------------------------------------------------- +// Purpose: flags for enumerating friends list, or quickly checking a the relationship between users +//----------------------------------------------------------------------------- +enum EFriendFlags +{ + k_EFriendFlagNone = 0x00, + k_EFriendFlagBlocked = 0x01, + k_EFriendFlagFriendshipRequested = 0x02, + k_EFriendFlagImmediate = 0x04, // "regular" friend + k_EFriendFlagClanMember = 0x08, + k_EFriendFlagOnGameServer = 0x10, + // k_EFriendFlagHasPlayedWith = 0x20, // not currently used + // k_EFriendFlagFriendOfFriend = 0x40, // not currently used + k_EFriendFlagRequestingFriendship = 0x80, + k_EFriendFlagRequestingInfo = 0x100, + k_EFriendFlagIgnored = 0x200, + k_EFriendFlagIgnoredFriend = 0x400, + // k_EFriendFlagSuggested = 0x800, // not used + k_EFriendFlagChatMember = 0x1000, + k_EFriendFlagAll = 0xFFFF, +}; + + +// friend game played information +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif +struct FriendGameInfo_t +{ + CGameID m_gameID; + uint32 m_unGameIP; + uint16 m_usGamePort; + uint16 m_usQueryPort; + CSteamID m_steamIDLobby; +}; +#pragma pack( pop ) + +// special values for FriendGameInfo_t::m_usQueryPort +const uint16 k_usFriendGameInfoQueryPort_NotInitialized = 0xFFFF; // We haven't asked the GS for this query port's actual value yet. Was #define QUERY_PORT_NOT_INITIALIZED in older versions of Steamworks SDK. +const uint16 k_usFriendGameInfoQueryPort_Error = 0xFFFE; // We were unable to get the query port for this server. Was #define QUERY_PORT_ERROR in older versions of Steamworks SDK. + +// maximum number of characters in a user's name. Two flavors; one for UTF-8 and one for UTF-16. +// The UTF-8 version has to be very generous to accomodate characters that get large when encoded +// in UTF-8. +enum +{ + k_cchPersonaNameMax = 128, + k_cwchPersonaNameMax = 32, +}; + +//----------------------------------------------------------------------------- +// Purpose: user restriction flags +//----------------------------------------------------------------------------- +enum EUserRestriction +{ + k_nUserRestrictionNone = 0, // no known chat/content restriction + k_nUserRestrictionUnknown = 1, // we don't know yet (user offline) + k_nUserRestrictionAnyChat = 2, // user is not allowed to (or can't) send/recv any chat + k_nUserRestrictionVoiceChat = 4, // user is not allowed to (or can't) send/recv voice chat + k_nUserRestrictionGroupChat = 8, // user is not allowed to (or can't) send/recv group chat + k_nUserRestrictionRating = 16, // user is too young according to rating in current region + k_nUserRestrictionGameInvites = 32, // user cannot send or recv game invites (e.g. mobile) + k_nUserRestrictionTrading = 64, // user cannot participate in trading (console, mobile) +}; + +// size limit on chat room or member metadata +const uint32 k_cubChatMetadataMax = 8192; + +// size limits on Rich Presence data +enum { k_cchMaxRichPresenceKeys = 30 }; +enum { k_cchMaxRichPresenceKeyLength = 64 }; +enum { k_cchMaxRichPresenceValueLength = 256 }; + +// These values are passed as parameters to the store +enum EOverlayToStoreFlag +{ + k_EOverlayToStoreFlag_None = 0, + k_EOverlayToStoreFlag_AddToCart = 1, + k_EOverlayToStoreFlag_AddToCartAndShow = 2, +}; + + +//----------------------------------------------------------------------------- +// Purpose: Tells Steam where to place the browser window inside the overlay +//----------------------------------------------------------------------------- +enum EActivateGameOverlayToWebPageMode +{ + k_EActivateGameOverlayToWebPageMode_Default = 0, // Browser will open next to all other windows that the user has open in the overlay. + // The window will remain open, even if the user closes then re-opens the overlay. + + k_EActivateGameOverlayToWebPageMode_Modal = 1 // Browser will be opened in a special overlay configuration which hides all other windows + // that the user has open in the overlay. When the user closes the overlay, the browser window + // will also close. When the user closes the browser window, the overlay will automatically close. +}; + +//----------------------------------------------------------------------------- +// Purpose: See GetProfileItemPropertyString and GetProfileItemPropertyUint +//----------------------------------------------------------------------------- +enum ECommunityProfileItemType +{ + k_ECommunityProfileItemType_AnimatedAvatar = 0, + k_ECommunityProfileItemType_AvatarFrame = 1, + k_ECommunityProfileItemType_ProfileModifier = 2, + k_ECommunityProfileItemType_ProfileBackground = 3, + k_ECommunityProfileItemType_MiniProfileBackground = 4, +}; +enum ECommunityProfileItemProperty +{ + k_ECommunityProfileItemProperty_ImageSmall = 0, // string + k_ECommunityProfileItemProperty_ImageLarge = 1, // string + k_ECommunityProfileItemProperty_InternalName = 2, // string + k_ECommunityProfileItemProperty_Title = 3, // string + k_ECommunityProfileItemProperty_Description = 4, // string + k_ECommunityProfileItemProperty_AppID = 5, // uint32 + k_ECommunityProfileItemProperty_TypeID = 6, // uint32 + k_ECommunityProfileItemProperty_Class = 7, // uint32 + k_ECommunityProfileItemProperty_MovieWebM = 8, // string + k_ECommunityProfileItemProperty_MovieMP4 = 9, // string + k_ECommunityProfileItemProperty_MovieWebMSmall = 10, // string + k_ECommunityProfileItemProperty_MovieMP4Small = 11, // string +}; + +//----------------------------------------------------------------------------- +// Purpose: interface to accessing information about individual users, +// that can be a friend, in a group, on a game server or in a lobby with the local user +//----------------------------------------------------------------------------- +class ISteamFriends +{ +public: + // returns the local players name - guaranteed to not be NULL. + // this is the same name as on the users community profile page + // this is stored in UTF-8 format + // like all the other interface functions that return a char *, it's important that this pointer is not saved + // off; it will eventually be free'd or re-allocated + virtual const char *GetPersonaName() = 0; + + // Sets the player name, stores it on the server and publishes the changes to all friends who are online. + // Changes take place locally immediately, and a PersonaStateChange_t is posted, presuming success. + // + // The final results are available through the return value SteamAPICall_t, using SetPersonaNameResponse_t. + // + // If the name change fails to happen on the server, then an additional global PersonaStateChange_t will be posted + // to change the name back, in addition to the SetPersonaNameResponse_t callback. + STEAM_CALL_RESULT( SetPersonaNameResponse_t ) + virtual SteamAPICall_t SetPersonaName( const char *pchPersonaName ) = 0; + + // gets the status of the current user + virtual EPersonaState GetPersonaState() = 0; + + // friend iteration + // takes a set of k_EFriendFlags, and returns the number of users the client knows about who meet that criteria + // then GetFriendByIndex() can then be used to return the id's of each of those users + virtual int GetFriendCount( int iFriendFlags ) = 0; + + // returns the steamID of a user + // iFriend is a index of range [0, GetFriendCount()) + // iFriendsFlags must be the same value as used in GetFriendCount() + // the returned CSteamID can then be used by all the functions below to access details about the user + virtual CSteamID GetFriendByIndex( int iFriend, int iFriendFlags ) = 0; + + // returns a relationship to a user + virtual EFriendRelationship GetFriendRelationship( CSteamID steamIDFriend ) = 0; + + // returns the current status of the specified user + // this will only be known by the local user if steamIDFriend is in their friends list; on the same game server; in a chat room or lobby; or in a small group with the local user + virtual EPersonaState GetFriendPersonaState( CSteamID steamIDFriend ) = 0; + + // returns the name another user - guaranteed to not be NULL. + // same rules as GetFriendPersonaState() apply as to whether or not the user knowns the name of the other user + // note that on first joining a lobby, chat room or game server the local user will not known the name of the other users automatically; that information will arrive asyncronously + // + virtual const char *GetFriendPersonaName( CSteamID steamIDFriend ) = 0; + + // returns true if the friend is actually in a game, and fills in pFriendGameInfo with an extra details + virtual bool GetFriendGamePlayed( CSteamID steamIDFriend, STEAM_OUT_STRUCT() FriendGameInfo_t *pFriendGameInfo ) = 0; + // accesses old friends names - returns an empty string when their are no more items in the history + virtual const char *GetFriendPersonaNameHistory( CSteamID steamIDFriend, int iPersonaName ) = 0; + // friends steam level + virtual int GetFriendSteamLevel( CSteamID steamIDFriend ) = 0; + + // Returns nickname the current user has set for the specified player. Returns NULL if the no nickname has been set for that player. + // DEPRECATED: GetPersonaName follows the Steam nickname preferences, so apps shouldn't need to care about nicknames explicitly. + virtual const char *GetPlayerNickname( CSteamID steamIDPlayer ) = 0; + + // friend grouping (tag) apis + // returns the number of friends groups + virtual int GetFriendsGroupCount() = 0; + // returns the friends group ID for the given index (invalid indices return k_FriendsGroupID_Invalid) + virtual FriendsGroupID_t GetFriendsGroupIDByIndex( int iFG ) = 0; + // returns the name for the given friends group (NULL in the case of invalid friends group IDs) + virtual const char *GetFriendsGroupName( FriendsGroupID_t friendsGroupID ) = 0; + // returns the number of members in a given friends group + virtual int GetFriendsGroupMembersCount( FriendsGroupID_t friendsGroupID ) = 0; + // gets up to nMembersCount members of the given friends group, if fewer exist than requested those positions' SteamIDs will be invalid + virtual void GetFriendsGroupMembersList( FriendsGroupID_t friendsGroupID, STEAM_OUT_ARRAY_CALL(nMembersCount, GetFriendsGroupMembersCount, friendsGroupID ) CSteamID *pOutSteamIDMembers, int nMembersCount ) = 0; + + // returns true if the specified user meets any of the criteria specified in iFriendFlags + // iFriendFlags can be the union (binary or, |) of one or more k_EFriendFlags values + virtual bool HasFriend( CSteamID steamIDFriend, int iFriendFlags ) = 0; + + // clan (group) iteration and access functions + virtual int GetClanCount() = 0; + virtual CSteamID GetClanByIndex( int iClan ) = 0; + virtual const char *GetClanName( CSteamID steamIDClan ) = 0; + virtual const char *GetClanTag( CSteamID steamIDClan ) = 0; + // returns the most recent information we have about what's happening in a clan + virtual bool GetClanActivityCounts( CSteamID steamIDClan, int *pnOnline, int *pnInGame, int *pnChatting ) = 0; + + // for clans a user is a member of, they will have reasonably up-to-date information, but for others you'll have to download the info to have the latest + STEAM_CALL_RESULT( DownloadClanActivityCountsResult_t ) + virtual SteamAPICall_t DownloadClanActivityCounts( STEAM_ARRAY_COUNT(cClansToRequest) CSteamID *psteamIDClans, int cClansToRequest ) = 0; + + // iterators for getting users in a chat room, lobby, game server or clan + // note that large clans that cannot be iterated by the local user + // note that the current user must be in a lobby to retrieve CSteamIDs of other users in that lobby + // steamIDSource can be the steamID of a group, game server, lobby or chat room + virtual int GetFriendCountFromSource( CSteamID steamIDSource ) = 0; + virtual CSteamID GetFriendFromSourceByIndex( CSteamID steamIDSource, int iFriend ) = 0; + + // returns true if the local user can see that steamIDUser is a member or in steamIDSource + virtual bool IsUserInSource( CSteamID steamIDUser, CSteamID steamIDSource ) = 0; + + // User is in a game pressing the talk button (will suppress the microphone for all voice comms from the Steam friends UI) + virtual void SetInGameVoiceSpeaking( CSteamID steamIDUser, bool bSpeaking ) = 0; + + // activates the game overlay, with an optional dialog to open + // valid options include "Friends", "Community", "Players", "Settings", "OfficialGameGroup", "Stats", "Achievements", + // "chatroomgroup/nnnn" + virtual void ActivateGameOverlay( const char *pchDialog ) = 0; + + // activates game overlay to a specific place + // valid options are + // "steamid" - opens the overlay web browser to the specified user or groups profile + // "chat" - opens a chat window to the specified user, or joins the group chat + // "jointrade" - opens a window to a Steam Trading session that was started with the ISteamEconomy/StartTrade Web API + // "stats" - opens the overlay web browser to the specified user's stats + // "achievements" - opens the overlay web browser to the specified user's achievements + // "friendadd" - opens the overlay in minimal mode prompting the user to add the target user as a friend + // "friendremove" - opens the overlay in minimal mode prompting the user to remove the target friend + // "friendrequestaccept" - opens the overlay in minimal mode prompting the user to accept an incoming friend invite + // "friendrequestignore" - opens the overlay in minimal mode prompting the user to ignore an incoming friend invite + virtual void ActivateGameOverlayToUser( const char *pchDialog, CSteamID steamID ) = 0; + + // activates game overlay web browser directly to the specified URL + // full address with protocol type is required, e.g. http://www.steamgames.com/ + virtual void ActivateGameOverlayToWebPage( const char *pchURL, EActivateGameOverlayToWebPageMode eMode = k_EActivateGameOverlayToWebPageMode_Default ) = 0; + + // activates game overlay to store page for app + virtual void ActivateGameOverlayToStore( AppId_t nAppID, EOverlayToStoreFlag eFlag ) = 0; + + // Mark a target user as 'played with'. This is a client-side only feature that requires that the calling user is + // in game + virtual void SetPlayedWith( CSteamID steamIDUserPlayedWith ) = 0; + + // activates game overlay to open the invite dialog. Invitations will be sent for the provided lobby. + virtual void ActivateGameOverlayInviteDialog( CSteamID steamIDLobby ) = 0; + + // gets the small (32x32) avatar of the current user, which is a handle to be used in IClientUtils::GetImageRGBA(), or 0 if none set + virtual int GetSmallFriendAvatar( CSteamID steamIDFriend ) = 0; + + // gets the medium (64x64) avatar of the current user, which is a handle to be used in IClientUtils::GetImageRGBA(), or 0 if none set + virtual int GetMediumFriendAvatar( CSteamID steamIDFriend ) = 0; + + // gets the large (184x184) avatar of the current user, which is a handle to be used in IClientUtils::GetImageRGBA(), or 0 if none set + // returns -1 if this image has yet to be loaded, in this case wait for a AvatarImageLoaded_t callback and then call this again + virtual int GetLargeFriendAvatar( CSteamID steamIDFriend ) = 0; + + // requests information about a user - persona name & avatar + // if bRequireNameOnly is set, then the avatar of a user isn't downloaded + // - it's a lot slower to download avatars and churns the local cache, so if you don't need avatars, don't request them + // if returns true, it means that data is being requested, and a PersonaStateChanged_t callback will be posted when it's retrieved + // if returns false, it means that we already have all the details about that user, and functions can be called immediately + virtual bool RequestUserInformation( CSteamID steamIDUser, bool bRequireNameOnly ) = 0; + + // requests information about a clan officer list + // when complete, data is returned in ClanOfficerListResponse_t call result + // this makes available the calls below + // you can only ask about clans that a user is a member of + // note that this won't download avatars automatically; if you get an officer, + // and no avatar image is available, call RequestUserInformation( steamID, false ) to download the avatar + STEAM_CALL_RESULT( ClanOfficerListResponse_t ) + virtual SteamAPICall_t RequestClanOfficerList( CSteamID steamIDClan ) = 0; + + // iteration of clan officers - can only be done when a RequestClanOfficerList() call has completed + + // returns the steamID of the clan owner + virtual CSteamID GetClanOwner( CSteamID steamIDClan ) = 0; + // returns the number of officers in a clan (including the owner) + virtual int GetClanOfficerCount( CSteamID steamIDClan ) = 0; + // returns the steamID of a clan officer, by index, of range [0,GetClanOfficerCount) + virtual CSteamID GetClanOfficerByIndex( CSteamID steamIDClan, int iOfficer ) = 0; + // if current user is chat restricted, he can't send or receive any text/voice chat messages. + // the user can't see custom avatars. But the user can be online and send/recv game invites. + // a chat restricted user can't add friends or join any groups. + virtual uint32 GetUserRestrictions() = 0; + + // Rich Presence data is automatically shared between friends who are in the same game + // Each user has a set of Key/Value pairs + // Note the following limits: k_cchMaxRichPresenceKeys, k_cchMaxRichPresenceKeyLength, k_cchMaxRichPresenceValueLength + // There are five magic keys: + // "status" - a UTF-8 string that will show up in the 'view game info' dialog in the Steam friends list + // "connect" - a UTF-8 string that contains the command-line for how a friend can connect to a game + // "steam_display" - Names a rich presence localization token that will be displayed in the viewing user's selected language + // in the Steam client UI. For more info: https://partner.steamgames.com/doc/api/ISteamFriends#richpresencelocalization + // "steam_player_group" - When set, indicates to the Steam client that the player is a member of a particular group. Players in the same group + // may be organized together in various places in the Steam UI. + // "steam_player_group_size" - When set, indicates the total number of players in the steam_player_group. The Steam client may use this number to + // display additional information about a group when all of the members are not part of a user's friends list. + // GetFriendRichPresence() returns an empty string "" if no value is set + // SetRichPresence() to a NULL or an empty string deletes the key + // You can iterate the current set of keys for a friend with GetFriendRichPresenceKeyCount() + // and GetFriendRichPresenceKeyByIndex() (typically only used for debugging) + virtual bool SetRichPresence( const char *pchKey, const char *pchValue ) = 0; + virtual void ClearRichPresence() = 0; + virtual const char *GetFriendRichPresence( CSteamID steamIDFriend, const char *pchKey ) = 0; + virtual int GetFriendRichPresenceKeyCount( CSteamID steamIDFriend ) = 0; + virtual const char *GetFriendRichPresenceKeyByIndex( CSteamID steamIDFriend, int iKey ) = 0; + // Requests rich presence for a specific user. + virtual void RequestFriendRichPresence( CSteamID steamIDFriend ) = 0; + + // Rich invite support. + // If the target accepts the invite, a GameRichPresenceJoinRequested_t callback is posted containing the connect string. + // (Or you can configure your game so that it is passed on the command line instead. This is a deprecated path; ask us if you really need this.) + virtual bool InviteUserToGame( CSteamID steamIDFriend, const char *pchConnectString ) = 0; + + // recently-played-with friends iteration + // this iterates the entire list of users recently played with, across games + // GetFriendCoplayTime() returns as a unix time + virtual int GetCoplayFriendCount() = 0; + virtual CSteamID GetCoplayFriend( int iCoplayFriend ) = 0; + virtual int GetFriendCoplayTime( CSteamID steamIDFriend ) = 0; + virtual AppId_t GetFriendCoplayGame( CSteamID steamIDFriend ) = 0; + + // chat interface for games + // this allows in-game access to group (clan) chats from in the game + // the behavior is somewhat sophisticated, because the user may or may not be already in the group chat from outside the game or in the overlay + // use ActivateGameOverlayToUser( "chat", steamIDClan ) to open the in-game overlay version of the chat + STEAM_CALL_RESULT( JoinClanChatRoomCompletionResult_t ) + virtual SteamAPICall_t JoinClanChatRoom( CSteamID steamIDClan ) = 0; + virtual bool LeaveClanChatRoom( CSteamID steamIDClan ) = 0; + virtual int GetClanChatMemberCount( CSteamID steamIDClan ) = 0; + virtual CSteamID GetChatMemberByIndex( CSteamID steamIDClan, int iUser ) = 0; + virtual bool SendClanChatMessage( CSteamID steamIDClanChat, const char *pchText ) = 0; + virtual int GetClanChatMessage( CSteamID steamIDClanChat, int iMessage, void *prgchText, int cchTextMax, EChatEntryType *peChatEntryType, STEAM_OUT_STRUCT() CSteamID *psteamidChatter ) = 0; + virtual bool IsClanChatAdmin( CSteamID steamIDClanChat, CSteamID steamIDUser ) = 0; + + // interact with the Steam (game overlay / desktop) + virtual bool IsClanChatWindowOpenInSteam( CSteamID steamIDClanChat ) = 0; + virtual bool OpenClanChatWindowInSteam( CSteamID steamIDClanChat ) = 0; + virtual bool CloseClanChatWindowInSteam( CSteamID steamIDClanChat ) = 0; + + // peer-to-peer chat interception + // this is so you can show P2P chats inline in the game + virtual bool SetListenForFriendsMessages( bool bInterceptEnabled ) = 0; + virtual bool ReplyToFriendMessage( CSteamID steamIDFriend, const char *pchMsgToSend ) = 0; + virtual int GetFriendMessage( CSteamID steamIDFriend, int iMessageID, void *pvData, int cubData, EChatEntryType *peChatEntryType ) = 0; + + // following apis + STEAM_CALL_RESULT( FriendsGetFollowerCount_t ) + virtual SteamAPICall_t GetFollowerCount( CSteamID steamID ) = 0; + STEAM_CALL_RESULT( FriendsIsFollowing_t ) + virtual SteamAPICall_t IsFollowing( CSteamID steamID ) = 0; + STEAM_CALL_RESULT( FriendsEnumerateFollowingList_t ) + virtual SteamAPICall_t EnumerateFollowingList( uint32 unStartIndex ) = 0; + + virtual bool IsClanPublic( CSteamID steamIDClan ) = 0; + virtual bool IsClanOfficialGameGroup( CSteamID steamIDClan ) = 0; + + /// Return the number of chats (friends or chat rooms) with unread messages. + /// A "priority" message is one that would generate some sort of toast or + /// notification, and depends on user settings. + /// + /// You can register for UnreadChatMessagesChanged_t callbacks to know when this + /// has potentially changed. + virtual int GetNumChatsWithUnreadPriorityMessages() = 0; + + // activates game overlay to open the remote play together invite dialog. Invitations will be sent for remote play together + virtual void ActivateGameOverlayRemotePlayTogetherInviteDialog( CSteamID steamIDLobby ) = 0; + + // Call this before calling ActivateGameOverlayToWebPage() to have the Steam Overlay Browser block navigations + // to your specified protocol (scheme) uris and instead dispatch a OverlayBrowserProtocolNavigation_t callback to your game. + // ActivateGameOverlayToWebPage() must have been called with k_EActivateGameOverlayToWebPageMode_Modal + virtual bool RegisterProtocolInOverlayBrowser( const char *pchProtocol ) = 0; + + // Activates the game overlay to open an invite dialog that will send the provided Rich Presence connect string to selected friends + virtual void ActivateGameOverlayInviteDialogConnectString( const char *pchConnectString ) = 0; + + // Steam Community items equipped by a user on their profile + // You can register for EquippedProfileItemsChanged_t to know when a friend has changed their equipped profile items + STEAM_CALL_RESULT( EquippedProfileItems_t ) + virtual SteamAPICall_t RequestEquippedProfileItems( CSteamID steamID ) = 0; + virtual bool BHasEquippedProfileItem( CSteamID steamID, ECommunityProfileItemType itemType ) = 0; + virtual const char *GetProfileItemPropertyString( CSteamID steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop ) = 0; + virtual uint32 GetProfileItemPropertyUint( CSteamID steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop ) = 0; +}; + +#define STEAMFRIENDS_INTERFACE_VERSION "SteamFriends017" + +// Global interface accessor +inline ISteamFriends *SteamFriends(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamFriends *, SteamFriends, STEAMFRIENDS_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + +//----------------------------------------------------------------------------- +// Purpose: called when a friends' status changes +//----------------------------------------------------------------------------- +struct PersonaStateChange_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 4 }; + + uint64 m_ulSteamID; // steamID of the friend who changed + int m_nChangeFlags; // what's changed +}; + + +// used in PersonaStateChange_t::m_nChangeFlags to describe what's changed about a user +// these flags describe what the client has learned has changed recently, so on startup you'll see a name, avatar & relationship change for every friend +enum EPersonaChange +{ + k_EPersonaChangeName = 0x0001, + k_EPersonaChangeStatus = 0x0002, + k_EPersonaChangeComeOnline = 0x0004, + k_EPersonaChangeGoneOffline = 0x0008, + k_EPersonaChangeGamePlayed = 0x0010, + k_EPersonaChangeGameServer = 0x0020, + k_EPersonaChangeAvatar = 0x0040, + k_EPersonaChangeJoinedSource= 0x0080, + k_EPersonaChangeLeftSource = 0x0100, + k_EPersonaChangeRelationshipChanged = 0x0200, + k_EPersonaChangeNameFirstSet = 0x0400, + k_EPersonaChangeBroadcast = 0x0800, + k_EPersonaChangeNickname = 0x1000, + k_EPersonaChangeSteamLevel = 0x2000, + k_EPersonaChangeRichPresence = 0x4000, +}; + + +//----------------------------------------------------------------------------- +// Purpose: posted when game overlay activates or deactivates +// the game can use this to be pause or resume single player games +//----------------------------------------------------------------------------- +struct GameOverlayActivated_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 31 }; + uint8 m_bActive; // true if it's just been activated, false otherwise + bool m_bUserInitiated; // true if the user asked for the overlay to be activated/deactivated + AppId_t m_nAppID; // the appID of the game (should always be the current game) + uint32 m_dwOverlayPID; // used internally +}; + + +//----------------------------------------------------------------------------- +// Purpose: called when the user tries to join a different game server from their friends list +// game client should attempt to connect to specified server when this is received +//----------------------------------------------------------------------------- +struct GameServerChangeRequested_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 32 }; + char m_rgchServer[64]; // server address ("127.0.0.1:27015", "tf2.valvesoftware.com") + char m_rgchPassword[64]; // server password, if any +}; + + +//----------------------------------------------------------------------------- +// Purpose: called when the user tries to join a lobby from their friends list +// game client should attempt to connect to specified lobby when this is received +//----------------------------------------------------------------------------- +struct GameLobbyJoinRequested_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 33 }; + CSteamID m_steamIDLobby; + + // The friend they did the join via (will be invalid if not directly via a friend) + // + // On PS3, the friend will be invalid if this was triggered by a PSN invite via the XMB, but + // the account type will be console user so you can tell at least that this was from a PSN friend + // rather than a Steam friend. + CSteamID m_steamIDFriend; +}; + + +//----------------------------------------------------------------------------- +// Purpose: called when an avatar is loaded in from a previous GetLargeFriendAvatar() call +// if the image wasn't already available +//----------------------------------------------------------------------------- +struct AvatarImageLoaded_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 34 }; + CSteamID m_steamID; // steamid the avatar has been loaded for + int m_iImage; // the image index of the now loaded image + int m_iWide; // width of the loaded image + int m_iTall; // height of the loaded image +}; + + +//----------------------------------------------------------------------------- +// Purpose: marks the return of a request officer list call +//----------------------------------------------------------------------------- +struct ClanOfficerListResponse_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 35 }; + CSteamID m_steamIDClan; + int m_cOfficers; + uint8 m_bSuccess; +}; + + +//----------------------------------------------------------------------------- +// Purpose: callback indicating updated data about friends rich presence information +//----------------------------------------------------------------------------- +struct FriendRichPresenceUpdate_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 36 }; + CSteamID m_steamIDFriend; // friend who's rich presence has changed + AppId_t m_nAppID; // the appID of the game (should always be the current game) +}; + + +//----------------------------------------------------------------------------- +// Purpose: called when the user tries to join a game from their friends list +// rich presence will have been set with the "connect" key which is set here +//----------------------------------------------------------------------------- +struct GameRichPresenceJoinRequested_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 37 }; + CSteamID m_steamIDFriend; // the friend they did the join via (will be invalid if not directly via a friend) + char m_rgchConnect[k_cchMaxRichPresenceValueLength]; +}; + + +//----------------------------------------------------------------------------- +// Purpose: a chat message has been received for a clan chat the game has joined +//----------------------------------------------------------------------------- +struct GameConnectedClanChatMsg_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 38 }; + CSteamID m_steamIDClanChat; + CSteamID m_steamIDUser; + int m_iMessageID; +}; + + +//----------------------------------------------------------------------------- +// Purpose: a user has joined a clan chat +//----------------------------------------------------------------------------- +struct GameConnectedChatJoin_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 39 }; + CSteamID m_steamIDClanChat; + CSteamID m_steamIDUser; +}; + + +//----------------------------------------------------------------------------- +// Purpose: a user has left the chat we're in +//----------------------------------------------------------------------------- +struct GameConnectedChatLeave_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 40 }; + CSteamID m_steamIDClanChat; + CSteamID m_steamIDUser; + bool m_bKicked; // true if admin kicked + bool m_bDropped; // true if Steam connection dropped +}; + + +//----------------------------------------------------------------------------- +// Purpose: a DownloadClanActivityCounts() call has finished +//----------------------------------------------------------------------------- +struct DownloadClanActivityCountsResult_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 41 }; + bool m_bSuccess; +}; + + +//----------------------------------------------------------------------------- +// Purpose: a JoinClanChatRoom() call has finished +//----------------------------------------------------------------------------- +struct JoinClanChatRoomCompletionResult_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 42 }; + CSteamID m_steamIDClanChat; + EChatRoomEnterResponse m_eChatRoomEnterResponse; +}; + +//----------------------------------------------------------------------------- +// Purpose: a chat message has been received from a user +//----------------------------------------------------------------------------- +struct GameConnectedFriendChatMsg_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 43 }; + CSteamID m_steamIDUser; + int m_iMessageID; +}; + + +struct FriendsGetFollowerCount_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 44 }; + EResult m_eResult; + CSteamID m_steamID; + int m_nCount; +}; + + +struct FriendsIsFollowing_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 45 }; + EResult m_eResult; + CSteamID m_steamID; + bool m_bIsFollowing; +}; + + +struct FriendsEnumerateFollowingList_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 46 }; + EResult m_eResult; + CSteamID m_rgSteamID[ k_cEnumerateFollowersMax ]; + int32 m_nResultsReturned; + int32 m_nTotalResultCount; +}; + +//----------------------------------------------------------------------------- +// Purpose: reports the result of an attempt to change the user's persona name +//----------------------------------------------------------------------------- +struct SetPersonaNameResponse_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 47 }; + + bool m_bSuccess; // true if name change succeeded completely. + bool m_bLocalSuccess; // true if name change was retained locally. (We might not have been able to communicate with Steam) + EResult m_result; // detailed result code +}; + +//----------------------------------------------------------------------------- +// Purpose: Invoked when the status of unread messages changes +//----------------------------------------------------------------------------- +struct UnreadChatMessagesChanged_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 48 }; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Dispatched when an overlay browser instance is navigated to a protocol/scheme registered by RegisterProtocolInOverlayBrowser() +//----------------------------------------------------------------------------- +struct OverlayBrowserProtocolNavigation_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 49 }; + char rgchURI[ 1024 ]; +}; + +//----------------------------------------------------------------------------- +// Purpose: A user's equipped profile items have changed +//----------------------------------------------------------------------------- +struct EquippedProfileItemsChanged_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 50 }; + CSteamID m_steamID; +}; + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +struct EquippedProfileItems_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 51 }; + EResult m_eResult; + CSteamID m_steamID; + bool m_bHasAnimatedAvatar; + bool m_bHasAvatarFrame; + bool m_bHasProfileModifier; + bool m_bHasProfileBackground; + bool m_bHasMiniProfileBackground; +}; + +#pragma pack( pop ) + +#endif // ISTEAMFRIENDS_H diff --git a/lsteamclient/steamworks_sdk_159x/isteamgamecoordinator.h b/lsteamclient/steamworks_sdk_159x/isteamgamecoordinator.h new file mode 100644 index 0000000000..89b740d7ce --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamgamecoordinator.h @@ -0,0 +1,74 @@ +//====== Copyright ©, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to the game coordinator for this application +// +//============================================================================= + +#ifndef ISTEAMGAMECOORDINATOR +#define ISTEAMGAMECOORDINATOR +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + + +// list of possible return values from the ISteamGameCoordinator API +enum EGCResults +{ + k_EGCResultOK = 0, + k_EGCResultNoMessage = 1, // There is no message in the queue + k_EGCResultBufferTooSmall = 2, // The buffer is too small for the requested message + k_EGCResultNotLoggedOn = 3, // The client is not logged onto Steam + k_EGCResultInvalidMessage = 4, // Something was wrong with the message being sent with SendMessage +}; + + +//----------------------------------------------------------------------------- +// Purpose: Functions for sending and receiving messages from the Game Coordinator +// for this application +//----------------------------------------------------------------------------- +class ISteamGameCoordinator +{ +public: + + // sends a message to the Game Coordinator + virtual EGCResults SendMessage( uint32 unMsgType, const void *pubData, uint32 cubData ) = 0; + + // returns true if there is a message waiting from the game coordinator + virtual bool IsMessageAvailable( uint32 *pcubMsgSize ) = 0; + + // fills the provided buffer with the first message in the queue and returns k_EGCResultOK or + // returns k_EGCResultNoMessage if there is no message waiting. pcubMsgSize is filled with the message size. + // If the provided buffer is not large enough to fit the entire message, k_EGCResultBufferTooSmall is returned + // and the message remains at the head of the queue. + virtual EGCResults RetrieveMessage( uint32 *punMsgType, void *pubDest, uint32 cubDest, uint32 *pcubMsgSize ) = 0; + +}; +#define STEAMGAMECOORDINATOR_INTERFACE_VERSION "SteamGameCoordinator001" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + +// callback notification - A new message is available for reading from the message queue +struct GCMessageAvailable_t +{ + enum { k_iCallback = k_iSteamGameCoordinatorCallbacks + 1 }; + uint32 m_nMessageSize; +}; + +// callback notification - A message failed to make it to the GC. It may be down temporarily +struct GCMessageFailed_t +{ + enum { k_iCallback = k_iSteamGameCoordinatorCallbacks + 2 }; +}; + +#pragma pack( pop ) + +#endif // ISTEAMGAMECOORDINATOR diff --git a/lsteamclient/steamworks_sdk_159x/isteamgameserver.h b/lsteamclient/steamworks_sdk_159x/isteamgameserver.h new file mode 100644 index 0000000000..ba4d12517f --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamgameserver.h @@ -0,0 +1,394 @@ +//====== Copyright (c) 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to steam for game servers +// +//============================================================================= + +#ifndef ISTEAMGAMESERVER_H +#define ISTEAMGAMESERVER_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +//----------------------------------------------------------------------------- +// Purpose: Functions for authenticating users via Steam to play on a game server +//----------------------------------------------------------------------------- +class ISteamGameServer +{ +public: + +// +// Basic server data. These properties, if set, must be set before before calling LogOn. They +// may not be changed after logged in. +// + + /// This is called by SteamGameServer_Init, and you will usually not need to call it directly + STEAM_PRIVATE_API( virtual bool InitGameServer( uint32 unIP, uint16 usGamePort, uint16 usQueryPort, uint32 unFlags, AppId_t nGameAppId, const char *pchVersionString ) = 0; ) + + /// Game product identifier. This is currently used by the master server for version checking purposes. + /// It's a required field, but will eventually will go away, and the AppID will be used for this purpose. + virtual void SetProduct( const char *pszProduct ) = 0; + + /// Description of the game. This is a required field and is displayed in the steam server browser....for now. + /// This is a required field, but it will go away eventually, as the data should be determined from the AppID. + virtual void SetGameDescription( const char *pszGameDescription ) = 0; + + /// If your game is a "mod," pass the string that identifies it. The default is an empty string, meaning + /// this application is the original game, not a mod. + /// + /// @see k_cbMaxGameServerGameDir + virtual void SetModDir( const char *pszModDir ) = 0; + + /// Is this is a dedicated server? The default value is false. + virtual void SetDedicatedServer( bool bDedicated ) = 0; + +// +// Login +// + + /// Begin process to login to a persistent game server account + /// + /// You need to register for callbacks to determine the result of this operation. + /// @see SteamServersConnected_t + /// @see SteamServerConnectFailure_t + /// @see SteamServersDisconnected_t + virtual void LogOn( const char *pszToken ) = 0; + + /// Login to a generic, anonymous account. + /// + /// Note: in previous versions of the SDK, this was automatically called within SteamGameServer_Init, + /// but this is no longer the case. + virtual void LogOnAnonymous() = 0; + + /// Begin process of logging game server out of steam + virtual void LogOff() = 0; + + // status functions + virtual bool BLoggedOn() = 0; + virtual bool BSecure() = 0; + virtual CSteamID GetSteamID() = 0; + + /// Returns true if the master server has requested a restart. + /// Only returns true once per request. + virtual bool WasRestartRequested() = 0; + +// +// Server state. These properties may be changed at any time. +// + + /// Max player count that will be reported to server browser and client queries + virtual void SetMaxPlayerCount( int cPlayersMax ) = 0; + + /// Number of bots. Default value is zero + virtual void SetBotPlayerCount( int cBotplayers ) = 0; + + /// Set the name of server as it will appear in the server browser + /// + /// @see k_cbMaxGameServerName + virtual void SetServerName( const char *pszServerName ) = 0; + + /// Set name of map to report in the server browser + /// + /// @see k_cbMaxGameServerMapName + virtual void SetMapName( const char *pszMapName ) = 0; + + /// Let people know if your server will require a password + virtual void SetPasswordProtected( bool bPasswordProtected ) = 0; + + /// Spectator server port to advertise. The default value is zero, meaning the + /// service is not used. If your server receives any info requests on the LAN, + /// this is the value that will be placed into the reply for such local queries. + /// + /// This is also the value that will be advertised by the master server. + /// The only exception is if your server is using a FakeIP. Then then the second + /// fake port number (index 1) assigned to your server will be listed on the master + /// server as the spectator port, if you set this value to any nonzero value. + /// + /// This function merely controls the values that are advertised -- it's up to you to + /// configure the server to actually listen on this port and handle any spectator traffic + virtual void SetSpectatorPort( uint16 unSpectatorPort ) = 0; + + /// Name of the spectator server. (Only used if spectator port is nonzero.) + /// + /// @see k_cbMaxGameServerMapName + virtual void SetSpectatorServerName( const char *pszSpectatorServerName ) = 0; + + /// Call this to clear the whole list of key/values that are sent in rules queries. + virtual void ClearAllKeyValues() = 0; + + /// Call this to add/update a key/value pair. + virtual void SetKeyValue( const char *pKey, const char *pValue ) = 0; + + /// Sets a string defining the "gametags" for this server, this is optional, but if it is set + /// it allows users to filter in the matchmaking/server-browser interfaces based on the value + /// + /// @see k_cbMaxGameServerTags + virtual void SetGameTags( const char *pchGameTags ) = 0; + + /// Sets a string defining the "gamedata" for this server, this is optional, but if it is set + /// it allows users to filter in the matchmaking/server-browser interfaces based on the value + /// + /// @see k_cbMaxGameServerGameData + virtual void SetGameData( const char *pchGameData ) = 0; + + /// Region identifier. This is an optional field, the default value is empty, meaning the "world" region + virtual void SetRegion( const char *pszRegion ) = 0; + + /// Indicate whether you wish to be listed on the master server list + /// and/or respond to server browser / LAN discovery packets. + /// The server starts with this value set to false. You should set all + /// relevant server parameters before enabling advertisement on the server. + /// + /// (This function used to be named EnableHeartbeats, so if you are wondering + /// where that function went, it's right here. It does the same thing as before, + /// the old name was just confusing.) + virtual void SetAdvertiseServerActive( bool bActive ) = 0; + +// +// Player list management / authentication. +// + + // Retrieve ticket to be sent to the entity who wishes to authenticate you ( using BeginAuthSession API ). + // pcbTicket retrieves the length of the actual ticket. + // SteamNetworkingIdentity is an optional parameter to hold the public IP address of the entity you are connecting to + // if an IP address is passed Steam will only allow the ticket to be used by an entity with that IP address + virtual HAuthTicket GetAuthSessionTicket( void *pTicket, int cbMaxTicket, uint32 *pcbTicket, const SteamNetworkingIdentity *pSnid ) = 0; + + // Authenticate ticket ( from GetAuthSessionTicket ) from entity steamID to be sure it is valid and isnt reused + // Registers for callbacks if the entity goes offline or cancels the ticket ( see ValidateAuthTicketResponse_t callback and EAuthSessionResponse ) + virtual EBeginAuthSessionResult BeginAuthSession( const void *pAuthTicket, int cbAuthTicket, CSteamID steamID ) = 0; + + // Stop tracking started by BeginAuthSession - called when no longer playing game with this entity + virtual void EndAuthSession( CSteamID steamID ) = 0; + + // Cancel auth ticket from GetAuthSessionTicket, called when no longer playing game with the entity you gave the ticket to + virtual void CancelAuthTicket( HAuthTicket hAuthTicket ) = 0; + + // After receiving a user's authentication data, and passing it to SendUserConnectAndAuthenticate, use this function + // to determine if the user owns downloadable content specified by the provided AppID. + virtual EUserHasLicenseForAppResult UserHasLicenseForApp( CSteamID steamID, AppId_t appID ) = 0; + + // Ask if a user in in the specified group, results returns async by GSUserGroupStatus_t + // returns false if we're not connected to the steam servers and thus cannot ask + virtual bool RequestUserGroupStatus( CSteamID steamIDUser, CSteamID steamIDGroup ) = 0; + + + // these two functions s are deprecated, and will not return results + // they will be removed in a future version of the SDK + virtual void GetGameplayStats( ) = 0; + STEAM_CALL_RESULT( GSReputation_t ) + virtual SteamAPICall_t GetServerReputation() = 0; + + // Returns the public IP of the server according to Steam, useful when the server is + // behind NAT and you want to advertise its IP in a lobby for other clients to directly + // connect to + virtual SteamIPAddress_t GetPublicIP() = 0; + +// Server browser related query packet processing for shared socket mode. These are used +// when you pass STEAMGAMESERVER_QUERY_PORT_SHARED as the query port to SteamGameServer_Init. +// IP address and port are in host order, i.e 127.0.0.1 == 0x7f000001 + + // These are used when you've elected to multiplex the game server's UDP socket + // rather than having the master server updater use its own sockets. + // + // Source games use this to simplify the job of the server admins, so they + // don't have to open up more ports on their firewalls. + + // Call this when a packet that starts with 0xFFFFFFFF comes in. That means + // it's for us. + virtual bool HandleIncomingPacket( const void *pData, int cbData, uint32 srcIP, uint16 srcPort ) = 0; + + // AFTER calling HandleIncomingPacket for any packets that came in that frame, call this. + // This gets a packet that the master server updater needs to send out on UDP. + // It returns the length of the packet it wants to send, or 0 if there are no more packets to send. + // Call this each frame until it returns 0. + virtual int GetNextOutgoingPacket( void *pOut, int cbMaxOut, uint32 *pNetAdr, uint16 *pPort ) = 0; + +// +// Server clan association +// + + // associate this game server with this clan for the purposes of computing player compat + STEAM_CALL_RESULT( AssociateWithClanResult_t ) + virtual SteamAPICall_t AssociateWithClan( CSteamID steamIDClan ) = 0; + + // ask if any of the current players dont want to play with this new player - or vice versa + STEAM_CALL_RESULT( ComputeNewPlayerCompatibilityResult_t ) + virtual SteamAPICall_t ComputeNewPlayerCompatibility( CSteamID steamIDNewPlayer ) = 0; + + + + + // Handles receiving a new connection from a Steam user. This call will ask the Steam + // servers to validate the users identity, app ownership, and VAC status. If the Steam servers + // are off-line, then it will validate the cached ticket itself which will validate app ownership + // and identity. The AuthBlob here should be acquired on the game client using SteamUser()->InitiateGameConnection() + // and must then be sent up to the game server for authentication. + // + // Return Value: returns true if the users ticket passes basic checks. pSteamIDUser will contain the Steam ID of this user. pSteamIDUser must NOT be NULL + // If the call succeeds then you should expect a GSClientApprove_t or GSClientDeny_t callback which will tell you whether authentication + // for the user has succeeded or failed (the steamid in the callback will match the one returned by this call) + // + // DEPRECATED! This function will be removed from the SDK in an upcoming version. + // Please migrate to BeginAuthSession and related functions. + virtual bool SendUserConnectAndAuthenticate_DEPRECATED( uint32 unIPClient, const void *pvAuthBlob, uint32 cubAuthBlobSize, CSteamID *pSteamIDUser ) = 0; + + // Creates a fake user (ie, a bot) which will be listed as playing on the server, but skips validation. + // + // Return Value: Returns a SteamID for the user to be tracked with, you should call EndAuthSession() + // when this user leaves the server just like you would for a real user. + virtual CSteamID CreateUnauthenticatedUserConnection() = 0; + + // Should be called whenever a user leaves our game server, this lets Steam internally + // track which users are currently on which servers for the purposes of preventing a single + // account being logged into multiple servers, showing who is currently on a server, etc. + // + // DEPRECATED! This function will be removed from the SDK in an upcoming version. + // Please migrate to BeginAuthSession and related functions. + virtual void SendUserDisconnect_DEPRECATED( CSteamID steamIDUser ) = 0; + + // Update the data to be displayed in the server browser and matchmaking interfaces for a user + // currently connected to the server. For regular users you must call this after you receive a + // GSUserValidationSuccess callback. + // + // Return Value: true if successful, false if failure (ie, steamIDUser wasn't for an active player) + virtual bool BUpdateUserData( CSteamID steamIDUser, const char *pchPlayerName, uint32 uScore ) = 0; + +// Deprecated functions. These will be removed in a future version of the SDK. +// If you really need these, please contact us and help us understand what you are +// using them for. + + STEAM_PRIVATE_API( + virtual void SetMasterServerHeartbeatInterval_DEPRECATED( int iHeartbeatInterval ) = 0; + virtual void ForceMasterServerHeartbeat_DEPRECATED() = 0; + ) +}; + +#define STEAMGAMESERVER_INTERFACE_VERSION "SteamGameServer015" + +// Global accessor +inline ISteamGameServer *SteamGameServer(); +STEAM_DEFINE_GAMESERVER_INTERFACE_ACCESSOR( ISteamGameServer *, SteamGameServer, STEAMGAMESERVER_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + + +// client has been approved to connect to this game server +struct GSClientApprove_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 1 }; + CSteamID m_SteamID; // SteamID of approved player + CSteamID m_OwnerSteamID; // SteamID of original owner for game license +}; + + +// client has been denied to connection to this game server +struct GSClientDeny_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 2 }; + CSteamID m_SteamID; + EDenyReason m_eDenyReason; + char m_rgchOptionalText[128]; +}; + + +// request the game server should kick the user +struct GSClientKick_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 3 }; + CSteamID m_SteamID; + EDenyReason m_eDenyReason; +}; + +// NOTE: callback values 4 and 5 are skipped because they are used for old deprecated callbacks, +// do not reuse them here. + + +// client achievement info +struct GSClientAchievementStatus_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 6 }; + uint64 m_SteamID; + char m_pchAchievement[128]; + bool m_bUnlocked; +}; + +// received when the game server requests to be displayed as secure (VAC protected) +// m_bSecure is true if the game server should display itself as secure to users, false otherwise +struct GSPolicyResponse_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 15 }; + uint8 m_bSecure; +}; + +// GS gameplay stats info +struct GSGameplayStats_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 7 }; + EResult m_eResult; // Result of the call + int32 m_nRank; // Overall rank of the server (0-based) + uint32 m_unTotalConnects; // Total number of clients who have ever connected to the server + uint32 m_unTotalMinutesPlayed; // Total number of minutes ever played on the server +}; + +// send as a reply to RequestUserGroupStatus() +struct GSClientGroupStatus_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 8 }; + CSteamID m_SteamIDUser; + CSteamID m_SteamIDGroup; + bool m_bMember; + bool m_bOfficer; +}; + +// Sent as a reply to GetServerReputation() +struct GSReputation_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 9 }; + EResult m_eResult; // Result of the call; + uint32 m_unReputationScore; // The reputation score for the game server + bool m_bBanned; // True if the server is banned from the Steam + // master servers + + // The following members are only filled out if m_bBanned is true. They will all + // be set to zero otherwise. Master server bans are by IP so it is possible to be + // banned even when the score is good high if there is a bad server on another port. + // This information can be used to determine which server is bad. + + uint32 m_unBannedIP; // The IP of the banned server + uint16 m_usBannedPort; // The port of the banned server + uint64 m_ulBannedGameID; // The game ID the banned server is serving + uint32 m_unBanExpires; // Time the ban expires, expressed in the Unix epoch (seconds since 1/1/1970) +}; + +// Sent as a reply to AssociateWithClan() +struct AssociateWithClanResult_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 10 }; + EResult m_eResult; // Result of the call; +}; + +// Sent as a reply to ComputeNewPlayerCompatibility() +struct ComputeNewPlayerCompatibilityResult_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 11 }; + EResult m_eResult; // Result of the call; + int m_cPlayersThatDontLikeCandidate; + int m_cPlayersThatCandidateDoesntLike; + int m_cClanPlayersThatDontLikeCandidate; + CSteamID m_SteamIDCandidate; +}; + + +#pragma pack( pop ) + +#endif // ISTEAMGAMESERVER_H diff --git a/lsteamclient/steamworks_sdk_159x/isteamgameserverstats.h b/lsteamclient/steamworks_sdk_159x/isteamgameserverstats.h new file mode 100644 index 0000000000..50192794e1 --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamgameserverstats.h @@ -0,0 +1,114 @@ +//====== Copyright © Valve Corporation, All rights reserved. ======= +// +// Purpose: interface for game servers to steam stats and achievements +// +//============================================================================= + +#ifndef ISTEAMGAMESERVERSTATS_H +#define ISTEAMGAMESERVERSTATS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +//----------------------------------------------------------------------------- +// Purpose: Functions for authenticating users via Steam to play on a game server +//----------------------------------------------------------------------------- +class ISteamGameServerStats +{ +public: + // downloads stats for the user + // returns a GSStatsReceived_t callback when completed + // if the user has no stats, GSStatsReceived_t.m_eResult will be set to k_EResultFail + // these stats will only be auto-updated for clients playing on the server. For other + // users you'll need to call RequestUserStats() again to refresh any data + STEAM_CALL_RESULT( GSStatsReceived_t ) + virtual SteamAPICall_t RequestUserStats( CSteamID steamIDUser ) = 0; + + // requests stat information for a user, usable after a successful call to RequestUserStats() + STEAM_FLAT_NAME( GetUserStatInt32 ) + virtual bool GetUserStat( CSteamID steamIDUser, const char *pchName, int32 *pData ) = 0; + + STEAM_FLAT_NAME( GetUserStatFloat ) + virtual bool GetUserStat( CSteamID steamIDUser, const char *pchName, float *pData ) = 0; + + virtual bool GetUserAchievement( CSteamID steamIDUser, const char *pchName, bool *pbAchieved ) = 0; + + // Set / update stats and achievements. + // Note: These updates will work only on stats game servers are allowed to edit and only for + // game servers that have been declared as officially controlled by the game creators. + // Set the IP range of your official servers on the Steamworks page + + STEAM_FLAT_NAME( SetUserStatInt32 ) + virtual bool SetUserStat( CSteamID steamIDUser, const char *pchName, int32 nData ) = 0; + + STEAM_FLAT_NAME( SetUserStatFloat ) + virtual bool SetUserStat( CSteamID steamIDUser, const char *pchName, float fData ) = 0; + + virtual bool UpdateUserAvgRateStat( CSteamID steamIDUser, const char *pchName, float flCountThisSession, double dSessionLength ) = 0; + + virtual bool SetUserAchievement( CSteamID steamIDUser, const char *pchName ) = 0; + virtual bool ClearUserAchievement( CSteamID steamIDUser, const char *pchName ) = 0; + + // Store the current data on the server, will get a GSStatsStored_t callback when set. + // + // If the callback has a result of k_EResultInvalidParam, one or more stats + // uploaded has been rejected, either because they broke constraints + // or were out of date. In this case the server sends back updated values. + // The stats should be re-iterated to keep in sync. + STEAM_CALL_RESULT( GSStatsStored_t ) + virtual SteamAPICall_t StoreUserStats( CSteamID steamIDUser ) = 0; +}; +#define STEAMGAMESERVERSTATS_INTERFACE_VERSION "SteamGameServerStats001" + +// Global accessor +inline ISteamGameServerStats *SteamGameServerStats(); +STEAM_DEFINE_GAMESERVER_INTERFACE_ACCESSOR( ISteamGameServerStats *, SteamGameServerStats, STEAMGAMESERVERSTATS_INTERFACE_VERSION ); + + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + +//----------------------------------------------------------------------------- +// Purpose: called when the latests stats and achievements have been received +// from the server +//----------------------------------------------------------------------------- +struct GSStatsReceived_t +{ + enum { k_iCallback = k_iSteamGameServerStatsCallbacks }; + EResult m_eResult; // Success / error fetching the stats + CSteamID m_steamIDUser; // The user for whom the stats are retrieved for +}; + + +//----------------------------------------------------------------------------- +// Purpose: result of a request to store the user stats for a game +//----------------------------------------------------------------------------- +struct GSStatsStored_t +{ + enum { k_iCallback = k_iSteamGameServerStatsCallbacks + 1 }; + EResult m_eResult; // success / error + CSteamID m_steamIDUser; // The user for whom the stats were stored +}; + +//----------------------------------------------------------------------------- +// Purpose: Callback indicating that a user's stats have been unloaded. +// Call RequestUserStats again to access stats for this user +//----------------------------------------------------------------------------- +struct GSStatsUnloaded_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 8 }; + CSteamID m_steamIDUser; // User whose stats have been unloaded +}; + +#pragma pack( pop ) + + +#endif // ISTEAMGAMESERVERSTATS_H diff --git a/lsteamclient/steamworks_sdk_159x/isteamhtmlsurface.h b/lsteamclient/steamworks_sdk_159x/isteamhtmlsurface.h new file mode 100644 index 0000000000..dd30fe249d --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamhtmlsurface.h @@ -0,0 +1,479 @@ +//====== Copyright 1996-2013, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to display html pages in a texture +// +//============================================================================= + +#ifndef ISTEAMHTMLSURFACE_H +#define ISTEAMHTMLSURFACE_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +typedef uint32 HHTMLBrowser; +const uint32 INVALID_HTMLBROWSER = 0; + +//----------------------------------------------------------------------------- +// Purpose: Functions for displaying HTML pages and interacting with them +//----------------------------------------------------------------------------- +class ISteamHTMLSurface +{ +public: + virtual ~ISteamHTMLSurface() {} + + // Must call init and shutdown when starting/ending use of the interface + virtual bool Init() = 0; + virtual bool Shutdown() = 0; + + // Create a browser object for display of a html page, when creation is complete the call handle + // will return a HTML_BrowserReady_t callback for the HHTMLBrowser of your new browser. + // The user agent string is a substring to be added to the general user agent string so you can + // identify your client on web servers. + // The userCSS string lets you apply a CSS style sheet to every displayed page, leave null if + // you do not require this functionality. + // + // YOU MUST HAVE IMPLEMENTED HANDLERS FOR HTML_BrowserReady_t, HTML_StartRequest_t, + // HTML_JSAlert_t, HTML_JSConfirm_t, and HTML_FileOpenDialog_t! See the CALLBACKS + // section of this interface (AllowStartRequest, etc) for more details. If you do + // not implement these callback handlers, the browser may appear to hang instead of + // navigating to new pages or triggering javascript popups. + // + STEAM_CALL_RESULT( HTML_BrowserReady_t ) + virtual SteamAPICall_t CreateBrowser( const char *pchUserAgent, const char *pchUserCSS ) = 0; + + // Call this when you are done with a html surface, this lets us free the resources being used by it + virtual void RemoveBrowser( HHTMLBrowser unBrowserHandle ) = 0; + + // Navigate to this URL, results in a HTML_StartRequest_t as the request commences + virtual void LoadURL( HHTMLBrowser unBrowserHandle, const char *pchURL, const char *pchPostData ) = 0; + + // Tells the surface the size in pixels to display the surface + virtual void SetSize( HHTMLBrowser unBrowserHandle, uint32 unWidth, uint32 unHeight ) = 0; + + // Stop the load of the current html page + virtual void StopLoad( HHTMLBrowser unBrowserHandle ) = 0; + // Reload (most likely from local cache) the current page + virtual void Reload( HHTMLBrowser unBrowserHandle ) = 0; + // navigate back in the page history + virtual void GoBack( HHTMLBrowser unBrowserHandle ) = 0; + // navigate forward in the page history + virtual void GoForward( HHTMLBrowser unBrowserHandle ) = 0; + + // add this header to any url requests from this browser + virtual void AddHeader( HHTMLBrowser unBrowserHandle, const char *pchKey, const char *pchValue ) = 0; + // run this javascript script in the currently loaded page + virtual void ExecuteJavascript( HHTMLBrowser unBrowserHandle, const char *pchScript ) = 0; + + enum EHTMLMouseButton + { + eHTMLMouseButton_Left = 0, + eHTMLMouseButton_Right = 1, + eHTMLMouseButton_Middle = 2, + }; + + // Mouse click and mouse movement commands + virtual void MouseUp( HHTMLBrowser unBrowserHandle, EHTMLMouseButton eMouseButton ) = 0; + virtual void MouseDown( HHTMLBrowser unBrowserHandle, EHTMLMouseButton eMouseButton ) = 0; + virtual void MouseDoubleClick( HHTMLBrowser unBrowserHandle, EHTMLMouseButton eMouseButton ) = 0; + // x and y are relative to the HTML bounds + virtual void MouseMove( HHTMLBrowser unBrowserHandle, int x, int y ) = 0; + // nDelta is pixels of scroll + virtual void MouseWheel( HHTMLBrowser unBrowserHandle, int32 nDelta ) = 0; + + enum EMouseCursor + { + dc_user = 0, + dc_none, + dc_arrow, + dc_ibeam, + dc_hourglass, + dc_waitarrow, + dc_crosshair, + dc_up, + dc_sizenw, + dc_sizese, + dc_sizene, + dc_sizesw, + dc_sizew, + dc_sizee, + dc_sizen, + dc_sizes, + dc_sizewe, + dc_sizens, + dc_sizeall, + dc_no, + dc_hand, + dc_blank, // don't show any custom cursor, just use your default + dc_middle_pan, + dc_north_pan, + dc_north_east_pan, + dc_east_pan, + dc_south_east_pan, + dc_south_pan, + dc_south_west_pan, + dc_west_pan, + dc_north_west_pan, + dc_alias, + dc_cell, + dc_colresize, + dc_copycur, + dc_verticaltext, + dc_rowresize, + dc_zoomin, + dc_zoomout, + dc_help, + dc_custom, + + dc_last, // custom cursors start from this value and up + }; + + enum EHTMLKeyModifiers + { + k_eHTMLKeyModifier_None = 0, + k_eHTMLKeyModifier_AltDown = 1 << 0, + k_eHTMLKeyModifier_CtrlDown = 1 << 1, + k_eHTMLKeyModifier_ShiftDown = 1 << 2, + }; + + // keyboard interactions, native keycode is the virtual key code value from your OS, system key flags the key to not + // be sent as a typed character as well as a key down + virtual void KeyDown( HHTMLBrowser unBrowserHandle, uint32 nNativeKeyCode, EHTMLKeyModifiers eHTMLKeyModifiers, bool bIsSystemKey = false ) = 0; + virtual void KeyUp( HHTMLBrowser unBrowserHandle, uint32 nNativeKeyCode, EHTMLKeyModifiers eHTMLKeyModifiers ) = 0; + // cUnicodeChar is the unicode character point for this keypress (and potentially multiple chars per press) + virtual void KeyChar( HHTMLBrowser unBrowserHandle, uint32 cUnicodeChar, EHTMLKeyModifiers eHTMLKeyModifiers ) = 0; + + // programmatically scroll this many pixels on the page + virtual void SetHorizontalScroll( HHTMLBrowser unBrowserHandle, uint32 nAbsolutePixelScroll ) = 0; + virtual void SetVerticalScroll( HHTMLBrowser unBrowserHandle, uint32 nAbsolutePixelScroll ) = 0; + + // tell the html control if it has key focus currently, controls showing the I-beam cursor in text controls amongst other things + virtual void SetKeyFocus( HHTMLBrowser unBrowserHandle, bool bHasKeyFocus ) = 0; + + // open the current pages html code in the local editor of choice, used for debugging + virtual void ViewSource( HHTMLBrowser unBrowserHandle ) = 0; + // copy the currently selected text on the html page to the local clipboard + virtual void CopyToClipboard( HHTMLBrowser unBrowserHandle ) = 0; + // paste from the local clipboard to the current html page + virtual void PasteFromClipboard( HHTMLBrowser unBrowserHandle ) = 0; + + // find this string in the browser, if bCurrentlyInFind is true then instead cycle to the next matching element + virtual void Find( HHTMLBrowser unBrowserHandle, const char *pchSearchStr, bool bCurrentlyInFind, bool bReverse ) = 0; + // cancel a currently running find + virtual void StopFind( HHTMLBrowser unBrowserHandle ) = 0; + + // return details about the link at position x,y on the current page + virtual void GetLinkAtPosition( HHTMLBrowser unBrowserHandle, int x, int y ) = 0; + + // set a webcookie for the hostname in question + virtual void SetCookie( const char *pchHostname, const char *pchKey, const char *pchValue, const char *pchPath = "/", RTime32 nExpires = 0, bool bSecure = false, bool bHTTPOnly = false ) = 0; + + // Zoom the current page by flZoom ( from 0.0 to 2.0, so to zoom to 120% use 1.2 ), zooming around point X,Y in the page (use 0,0 if you don't care) + virtual void SetPageScaleFactor( HHTMLBrowser unBrowserHandle, float flZoom, int nPointX, int nPointY ) = 0; + + // Enable/disable low-resource background mode, where javascript and repaint timers are throttled, resources are + // more aggressively purged from memory, and audio/video elements are paused. When background mode is enabled, + // all HTML5 video and audio objects will execute ".pause()" and gain the property "._steam_background_paused = 1". + // When background mode is disabled, any video or audio objects with that property will resume with ".play()". + virtual void SetBackgroundMode( HHTMLBrowser unBrowserHandle, bool bBackgroundMode ) = 0; + + // Scale the output display space by this factor, this is useful when displaying content on high dpi devices. + // Specifies the ratio between physical and logical pixels. + virtual void SetDPIScalingFactor( HHTMLBrowser unBrowserHandle, float flDPIScaling ) = 0; + + // Open HTML/JS developer tools + virtual void OpenDeveloperTools( HHTMLBrowser unBrowserHandle ) = 0; + + // CALLBACKS + // + // These set of functions are used as responses to callback requests + // + + // You MUST call this in response to a HTML_StartRequest_t callback + // Set bAllowed to true to allow this navigation, false to cancel it and stay + // on the current page. You can use this feature to limit the valid pages + // allowed in your HTML surface. + virtual void AllowStartRequest( HHTMLBrowser unBrowserHandle, bool bAllowed ) = 0; + + // You MUST call this in response to a HTML_JSAlert_t or HTML_JSConfirm_t callback + // Set bResult to true for the OK option of a confirm, use false otherwise + virtual void JSDialogResponse( HHTMLBrowser unBrowserHandle, bool bResult ) = 0; + + // You MUST call this in response to a HTML_FileOpenDialog_t callback + virtual void FileLoadDialogResponse( HHTMLBrowser unBrowserHandle, const char **pchSelectedFiles ) = 0; +}; + +#define STEAMHTMLSURFACE_INTERFACE_VERSION "STEAMHTMLSURFACE_INTERFACE_VERSION_005" + +// Global interface accessor +inline ISteamHTMLSurface *SteamHTMLSurface(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamHTMLSurface *, SteamHTMLSurface, STEAMHTMLSURFACE_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + + +//----------------------------------------------------------------------------- +// Purpose: The browser is ready for use +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_BrowserReady_t, k_iSteamHTMLSurfaceCallbacks + 1 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // this browser is now fully created and ready to navigate to pages +STEAM_CALLBACK_END(1) + + +//----------------------------------------------------------------------------- +// Purpose: the browser has a pending paint +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN(HTML_NeedsPaint_t, k_iSteamHTMLSurfaceCallbacks + 2) +STEAM_CALLBACK_MEMBER(0, HHTMLBrowser, unBrowserHandle) // the browser that needs the paint +STEAM_CALLBACK_MEMBER(1, const char *, pBGRA ) // a pointer to the B8G8R8A8 data for this surface, valid until SteamAPI_RunCallbacks is next called +STEAM_CALLBACK_MEMBER(2, uint32, unWide) // the total width of the pBGRA texture +STEAM_CALLBACK_MEMBER(3, uint32, unTall) // the total height of the pBGRA texture +STEAM_CALLBACK_MEMBER(4, uint32, unUpdateX) // the offset in X for the damage rect for this update +STEAM_CALLBACK_MEMBER(5, uint32, unUpdateY) // the offset in Y for the damage rect for this update +STEAM_CALLBACK_MEMBER(6, uint32, unUpdateWide) // the width of the damage rect for this update +STEAM_CALLBACK_MEMBER(7, uint32, unUpdateTall) // the height of the damage rect for this update +STEAM_CALLBACK_MEMBER(8, uint32, unScrollX) // the page scroll the browser was at when this texture was rendered +STEAM_CALLBACK_MEMBER(9, uint32, unScrollY) // the page scroll the browser was at when this texture was rendered +STEAM_CALLBACK_MEMBER(10, float, flPageScale) // the page scale factor on this page when rendered +STEAM_CALLBACK_MEMBER(11, uint32, unPageSerial) // incremented on each new page load, you can use this to reject draws while navigating to new pages +STEAM_CALLBACK_END(12) + + +//----------------------------------------------------------------------------- +// Purpose: The browser wanted to navigate to a new page +// NOTE - you MUST call AllowStartRequest in response to this callback +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN(HTML_StartRequest_t, k_iSteamHTMLSurfaceCallbacks + 3) +STEAM_CALLBACK_MEMBER(0, HHTMLBrowser, unBrowserHandle) // the handle of the surface navigating +STEAM_CALLBACK_MEMBER(1, const char *, pchURL) // the url they wish to navigate to +STEAM_CALLBACK_MEMBER(2, const char *, pchTarget) // the html link target type (i.e _blank, _self, _parent, _top ) +STEAM_CALLBACK_MEMBER(3, const char *, pchPostData ) // any posted data for the request +STEAM_CALLBACK_MEMBER(4, bool, bIsRedirect) // true if this was a http/html redirect from the last load request +STEAM_CALLBACK_END(5) + + +//----------------------------------------------------------------------------- +// Purpose: The browser has been requested to close due to user interaction (usually from a javascript window.close() call) +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN(HTML_CloseBrowser_t, k_iSteamHTMLSurfaceCallbacks + 4) +STEAM_CALLBACK_MEMBER(0, HHTMLBrowser, unBrowserHandle) // the handle of the surface +STEAM_CALLBACK_END(1) + + +//----------------------------------------------------------------------------- +// Purpose: the browser is navigating to a new url +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_URLChanged_t, k_iSteamHTMLSurfaceCallbacks + 5 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface navigating +STEAM_CALLBACK_MEMBER( 1, const char *, pchURL ) // the url they wish to navigate to +STEAM_CALLBACK_MEMBER( 2, const char *, pchPostData ) // any posted data for the request +STEAM_CALLBACK_MEMBER( 3, bool, bIsRedirect ) // true if this was a http/html redirect from the last load request +STEAM_CALLBACK_MEMBER( 4, const char *, pchPageTitle ) // the title of the page +STEAM_CALLBACK_MEMBER( 5, bool, bNewNavigation ) // true if this was from a fresh tab and not a click on an existing page +STEAM_CALLBACK_END(6) + + +//----------------------------------------------------------------------------- +// Purpose: A page is finished loading +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_FinishedRequest_t, k_iSteamHTMLSurfaceCallbacks + 6 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, const char *, pchURL ) // +STEAM_CALLBACK_MEMBER( 2, const char *, pchPageTitle ) // +STEAM_CALLBACK_END(3) + + +//----------------------------------------------------------------------------- +// Purpose: a request to load this url in a new tab +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_OpenLinkInNewTab_t, k_iSteamHTMLSurfaceCallbacks + 7 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, const char *, pchURL ) // +STEAM_CALLBACK_END(2) + + +//----------------------------------------------------------------------------- +// Purpose: the page has a new title now +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_ChangedTitle_t, k_iSteamHTMLSurfaceCallbacks + 8 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, const char *, pchTitle ) // +STEAM_CALLBACK_END(2) + + +//----------------------------------------------------------------------------- +// Purpose: results from a search +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_SearchResults_t, k_iSteamHTMLSurfaceCallbacks + 9 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, uint32, unResults ) // +STEAM_CALLBACK_MEMBER( 2, uint32, unCurrentMatch ) // +STEAM_CALLBACK_END(3) + + +//----------------------------------------------------------------------------- +// Purpose: page history status changed on the ability to go backwards and forward +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_CanGoBackAndForward_t, k_iSteamHTMLSurfaceCallbacks + 10 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, bool, bCanGoBack ) // +STEAM_CALLBACK_MEMBER( 2, bool, bCanGoForward ) // +STEAM_CALLBACK_END(3) + + +//----------------------------------------------------------------------------- +// Purpose: details on the visibility and size of the horizontal scrollbar +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_HorizontalScroll_t, k_iSteamHTMLSurfaceCallbacks + 11 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, uint32, unScrollMax ) // +STEAM_CALLBACK_MEMBER( 2, uint32, unScrollCurrent ) // +STEAM_CALLBACK_MEMBER( 3, float, flPageScale ) // +STEAM_CALLBACK_MEMBER( 4, bool , bVisible ) // +STEAM_CALLBACK_MEMBER( 5, uint32, unPageSize ) // +STEAM_CALLBACK_END(6) + + +//----------------------------------------------------------------------------- +// Purpose: details on the visibility and size of the vertical scrollbar +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_VerticalScroll_t, k_iSteamHTMLSurfaceCallbacks + 12 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, uint32, unScrollMax ) // +STEAM_CALLBACK_MEMBER( 2, uint32, unScrollCurrent ) // +STEAM_CALLBACK_MEMBER( 3, float, flPageScale ) // +STEAM_CALLBACK_MEMBER( 4, bool, bVisible ) // +STEAM_CALLBACK_MEMBER( 5, uint32, unPageSize ) // +STEAM_CALLBACK_END(6) + + +//----------------------------------------------------------------------------- +// Purpose: response to GetLinkAtPosition call +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_LinkAtPosition_t, k_iSteamHTMLSurfaceCallbacks + 13 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, uint32, x ) // NOTE - Not currently set +STEAM_CALLBACK_MEMBER( 2, uint32, y ) // NOTE - Not currently set +STEAM_CALLBACK_MEMBER( 3, const char *, pchURL ) // +STEAM_CALLBACK_MEMBER( 4, bool, bInput ) // +STEAM_CALLBACK_MEMBER( 5, bool, bLiveLink ) // +STEAM_CALLBACK_END(6) + + + +//----------------------------------------------------------------------------- +// Purpose: show a Javascript alert dialog, call JSDialogResponse +// when the user dismisses this dialog (or right away to ignore it) +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_JSAlert_t, k_iSteamHTMLSurfaceCallbacks + 14 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, const char *, pchMessage ) // +STEAM_CALLBACK_END(2) + + +//----------------------------------------------------------------------------- +// Purpose: show a Javascript confirmation dialog, call JSDialogResponse +// when the user dismisses this dialog (or right away to ignore it) +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_JSConfirm_t, k_iSteamHTMLSurfaceCallbacks + 15 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, const char *, pchMessage ) // +STEAM_CALLBACK_END(2) + + +//----------------------------------------------------------------------------- +// Purpose: when received show a file open dialog +// then call FileLoadDialogResponse with the file(s) the user selected. +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_FileOpenDialog_t, k_iSteamHTMLSurfaceCallbacks + 16 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, const char *, pchTitle ) // +STEAM_CALLBACK_MEMBER( 2, const char *, pchInitialFile ) // +STEAM_CALLBACK_END(3) + + +//----------------------------------------------------------------------------- +// Purpose: a new html window is being created. +// +// IMPORTANT NOTE: at this time, the API does not allow you to acknowledge or +// render the contents of this new window, so the new window is always destroyed +// immediately. The URL and other parameters of the new window are passed here +// to give your application the opportunity to call CreateBrowser and set up +// a new browser in response to the attempted popup, if you wish to do so. +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_NewWindow_t, k_iSteamHTMLSurfaceCallbacks + 21 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the current surface +STEAM_CALLBACK_MEMBER( 1, const char *, pchURL ) // the page to load +STEAM_CALLBACK_MEMBER( 2, uint32, unX ) // the x pos into the page to display the popup +STEAM_CALLBACK_MEMBER( 3, uint32, unY ) // the y pos into the page to display the popup +STEAM_CALLBACK_MEMBER( 4, uint32, unWide ) // the total width of the pBGRA texture +STEAM_CALLBACK_MEMBER( 5, uint32, unTall ) // the total height of the pBGRA texture +STEAM_CALLBACK_MEMBER( 6, HHTMLBrowser, unNewWindow_BrowserHandle_IGNORE ) +STEAM_CALLBACK_END(7) + + +//----------------------------------------------------------------------------- +// Purpose: change the cursor to display +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_SetCursor_t, k_iSteamHTMLSurfaceCallbacks + 22 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, uint32, eMouseCursor ) // the EMouseCursor to display +STEAM_CALLBACK_END(2) + + +//----------------------------------------------------------------------------- +// Purpose: informational message from the browser +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_StatusText_t, k_iSteamHTMLSurfaceCallbacks + 23 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, const char *, pchMsg ) // the EMouseCursor to display +STEAM_CALLBACK_END(2) + + +//----------------------------------------------------------------------------- +// Purpose: show a tooltip +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_ShowToolTip_t, k_iSteamHTMLSurfaceCallbacks + 24 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, const char *, pchMsg ) // the EMouseCursor to display +STEAM_CALLBACK_END(2) + + +//----------------------------------------------------------------------------- +// Purpose: update the text of an existing tooltip +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_UpdateToolTip_t, k_iSteamHTMLSurfaceCallbacks + 25 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_MEMBER( 1, const char *, pchMsg ) // the EMouseCursor to display +STEAM_CALLBACK_END(2) + + +//----------------------------------------------------------------------------- +// Purpose: hide the tooltip you are showing +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_HideToolTip_t, k_iSteamHTMLSurfaceCallbacks + 26 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +STEAM_CALLBACK_END(1) + + +//----------------------------------------------------------------------------- +// Purpose: The browser has restarted due to an internal failure, use this new handle value +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( HTML_BrowserRestarted_t, k_iSteamHTMLSurfaceCallbacks + 27 ) +STEAM_CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // this is the new browser handle after the restart +STEAM_CALLBACK_MEMBER( 1, HHTMLBrowser, unOldBrowserHandle ) // the handle for the browser before the restart, if your handle was this then switch to using unBrowserHandle for API calls +STEAM_CALLBACK_END(2) + + +#pragma pack( pop ) + + +#endif // ISTEAMHTMLSURFACE_H diff --git a/lsteamclient/steamworks_sdk_159x/isteamhttp.h b/lsteamclient/steamworks_sdk_159x/isteamhttp.h new file mode 100644 index 0000000000..fb034ca1dc --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamhttp.h @@ -0,0 +1,219 @@ +//====== Copyright © 1996-2009, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to http client +// +//============================================================================= + +#ifndef ISTEAMHTTP_H +#define ISTEAMHTTP_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" +#include "steamhttpenums.h" + +// Handle to a HTTP Request handle +typedef uint32 HTTPRequestHandle; +#define INVALID_HTTPREQUEST_HANDLE 0 + +typedef uint32 HTTPCookieContainerHandle; +#define INVALID_HTTPCOOKIE_HANDLE 0 + +//----------------------------------------------------------------------------- +// Purpose: interface to http client +//----------------------------------------------------------------------------- +class ISteamHTTP +{ +public: + + // Initializes a new HTTP request, returning a handle to use in further operations on it. Requires + // the method (GET or POST) and the absolute URL for the request. Both http and https are supported, + // so this string must start with http:// or https:// and should look like http://store.steampowered.com/app/250/ + // or such. + virtual HTTPRequestHandle CreateHTTPRequest( EHTTPMethod eHTTPRequestMethod, const char *pchAbsoluteURL ) = 0; + + // Set a context value for the request, which will be returned in the HTTPRequestCompleted_t callback after + // sending the request. This is just so the caller can easily keep track of which callbacks go with which request data. + virtual bool SetHTTPRequestContextValue( HTTPRequestHandle hRequest, uint64 ulContextValue ) = 0; + + // Set a timeout in seconds for the HTTP request, must be called prior to sending the request. Default + // timeout is 60 seconds if you don't call this. Returns false if the handle is invalid, or the request + // has already been sent. + virtual bool SetHTTPRequestNetworkActivityTimeout( HTTPRequestHandle hRequest, uint32 unTimeoutSeconds ) = 0; + + // Set a request header value for the request, must be called prior to sending the request. Will + // return false if the handle is invalid or the request is already sent. + virtual bool SetHTTPRequestHeaderValue( HTTPRequestHandle hRequest, const char *pchHeaderName, const char *pchHeaderValue ) = 0; + + // Set a GET or POST parameter value on the request, which is set will depend on the EHTTPMethod specified + // when creating the request. Must be called prior to sending the request. Will return false if the + // handle is invalid or the request is already sent. + virtual bool SetHTTPRequestGetOrPostParameter( HTTPRequestHandle hRequest, const char *pchParamName, const char *pchParamValue ) = 0; + + // Sends the HTTP request, will return false on a bad handle, otherwise use SteamCallHandle to wait on + // asynchronous response via callback. + // + // Note: If the user is in offline mode in Steam, then this will add a only-if-cached cache-control + // header and only do a local cache lookup rather than sending any actual remote request. + virtual bool SendHTTPRequest( HTTPRequestHandle hRequest, SteamAPICall_t *pCallHandle ) = 0; + + // Sends the HTTP request, will return false on a bad handle, otherwise use SteamCallHandle to wait on + // asynchronous response via callback for completion, and listen for HTTPRequestHeadersReceived_t and + // HTTPRequestDataReceived_t callbacks while streaming. + virtual bool SendHTTPRequestAndStreamResponse( HTTPRequestHandle hRequest, SteamAPICall_t *pCallHandle ) = 0; + + // Defers a request you have sent, the actual HTTP client code may have many requests queued, and this will move + // the specified request to the tail of the queue. Returns false on invalid handle, or if the request is not yet sent. + virtual bool DeferHTTPRequest( HTTPRequestHandle hRequest ) = 0; + + // Prioritizes a request you have sent, the actual HTTP client code may have many requests queued, and this will move + // the specified request to the head of the queue. Returns false on invalid handle, or if the request is not yet sent. + virtual bool PrioritizeHTTPRequest( HTTPRequestHandle hRequest ) = 0; + + // Checks if a response header is present in a HTTP response given a handle from HTTPRequestCompleted_t, also + // returns the size of the header value if present so the caller and allocate a correctly sized buffer for + // GetHTTPResponseHeaderValue. + virtual bool GetHTTPResponseHeaderSize( HTTPRequestHandle hRequest, const char *pchHeaderName, uint32 *unResponseHeaderSize ) = 0; + + // Gets header values from a HTTP response given a handle from HTTPRequestCompleted_t, will return false if the + // header is not present or if your buffer is too small to contain it's value. You should first call + // BGetHTTPResponseHeaderSize to check for the presence of the header and to find out the size buffer needed. + virtual bool GetHTTPResponseHeaderValue( HTTPRequestHandle hRequest, const char *pchHeaderName, uint8 *pHeaderValueBuffer, uint32 unBufferSize ) = 0; + + // Gets the size of the body data from a HTTP response given a handle from HTTPRequestCompleted_t, will return false if the + // handle is invalid. + virtual bool GetHTTPResponseBodySize( HTTPRequestHandle hRequest, uint32 *unBodySize ) = 0; + + // Gets the body data from a HTTP response given a handle from HTTPRequestCompleted_t, will return false if the + // handle is invalid or is to a streaming response, or if the provided buffer is not the correct size. Use BGetHTTPResponseBodySize first to find out + // the correct buffer size to use. + virtual bool GetHTTPResponseBodyData( HTTPRequestHandle hRequest, uint8 *pBodyDataBuffer, uint32 unBufferSize ) = 0; + + // Gets the body data from a streaming HTTP response given a handle from HTTPRequestDataReceived_t. Will return false if the + // handle is invalid or is to a non-streaming response (meaning it wasn't sent with SendHTTPRequestAndStreamResponse), or if the buffer size and offset + // do not match the size and offset sent in HTTPRequestDataReceived_t. + virtual bool GetHTTPStreamingResponseBodyData( HTTPRequestHandle hRequest, uint32 cOffset, uint8 *pBodyDataBuffer, uint32 unBufferSize ) = 0; + + // Releases an HTTP response handle, should always be called to free resources after receiving a HTTPRequestCompleted_t + // callback and finishing using the response. + virtual bool ReleaseHTTPRequest( HTTPRequestHandle hRequest ) = 0; + + // Gets progress on downloading the body for the request. This will be zero unless a response header has already been + // received which included a content-length field. For responses that contain no content-length it will report + // zero for the duration of the request as the size is unknown until the connection closes. + virtual bool GetHTTPDownloadProgressPct( HTTPRequestHandle hRequest, float *pflPercentOut ) = 0; + + // Sets the body for an HTTP Post request. Will fail and return false on a GET request, and will fail if POST params + // have already been set for the request. Setting this raw body makes it the only contents for the post, the pchContentType + // parameter will set the content-type header for the request so the server may know how to interpret the body. + virtual bool SetHTTPRequestRawPostBody( HTTPRequestHandle hRequest, const char *pchContentType, uint8 *pubBody, uint32 unBodyLen ) = 0; + + // Creates a cookie container handle which you must later free with ReleaseCookieContainer(). If bAllowResponsesToModify=true + // than any response to your requests using this cookie container may add new cookies which may be transmitted with + // future requests. If bAllowResponsesToModify=false than only cookies you explicitly set will be sent. This API is just for + // during process lifetime, after steam restarts no cookies are persisted and you have no way to access the cookie container across + // repeat executions of your process. + virtual HTTPCookieContainerHandle CreateCookieContainer( bool bAllowResponsesToModify ) = 0; + + // Release a cookie container you are finished using, freeing it's memory + virtual bool ReleaseCookieContainer( HTTPCookieContainerHandle hCookieContainer ) = 0; + + // Adds a cookie to the specified cookie container that will be used with future requests. + virtual bool SetCookie( HTTPCookieContainerHandle hCookieContainer, const char *pchHost, const char *pchUrl, const char *pchCookie ) = 0; + + // Set the cookie container to use for a HTTP request + virtual bool SetHTTPRequestCookieContainer( HTTPRequestHandle hRequest, HTTPCookieContainerHandle hCookieContainer ) = 0; + + // Set the extra user agent info for a request, this doesn't clobber the normal user agent, it just adds the extra info on the end + virtual bool SetHTTPRequestUserAgentInfo( HTTPRequestHandle hRequest, const char *pchUserAgentInfo ) = 0; + + // Disable or re-enable verification of SSL/TLS certificates. + // By default, certificates are checked for all HTTPS requests. + virtual bool SetHTTPRequestRequiresVerifiedCertificate( HTTPRequestHandle hRequest, bool bRequireVerifiedCertificate ) = 0; + + // Set an absolute timeout on the HTTP request, this is just a total time timeout different than the network activity timeout + // which can bump everytime we get more data + virtual bool SetHTTPRequestAbsoluteTimeoutMS( HTTPRequestHandle hRequest, uint32 unMilliseconds ) = 0; + + // Check if the reason the request failed was because we timed it out (rather than some harder failure) + virtual bool GetHTTPRequestWasTimedOut( HTTPRequestHandle hRequest, bool *pbWasTimedOut ) = 0; +}; + +#define STEAMHTTP_INTERFACE_VERSION "STEAMHTTP_INTERFACE_VERSION003" + +// Global interface accessor +inline ISteamHTTP *SteamHTTP(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamHTTP *, SteamHTTP, STEAMHTTP_INTERFACE_VERSION ); + +// Global accessor for the gameserver client +inline ISteamHTTP *SteamGameServerHTTP(); +STEAM_DEFINE_GAMESERVER_INTERFACE_ACCESSOR( ISteamHTTP *, SteamGameServerHTTP, STEAMHTTP_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + +struct HTTPRequestCompleted_t +{ + enum { k_iCallback = k_iSteamHTTPCallbacks + 1 }; + + // Handle value for the request that has completed. + HTTPRequestHandle m_hRequest; + + // Context value that the user defined on the request that this callback is associated with, 0 if + // no context value was set. + uint64 m_ulContextValue; + + // This will be true if we actually got any sort of response from the server (even an error). + // It will be false if we failed due to an internal error or client side network failure. + bool m_bRequestSuccessful; + + // Will be the HTTP status code value returned by the server, k_EHTTPStatusCode200OK is the normal + // OK response, if you get something else you probably need to treat it as a failure. + EHTTPStatusCode m_eStatusCode; + + uint32 m_unBodySize; // Same as GetHTTPResponseBodySize() +}; + + +struct HTTPRequestHeadersReceived_t +{ + enum { k_iCallback = k_iSteamHTTPCallbacks + 2 }; + + // Handle value for the request that has received headers. + HTTPRequestHandle m_hRequest; + + // Context value that the user defined on the request that this callback is associated with, 0 if + // no context value was set. + uint64 m_ulContextValue; +}; + +struct HTTPRequestDataReceived_t +{ + enum { k_iCallback = k_iSteamHTTPCallbacks + 3 }; + + // Handle value for the request that has received data. + HTTPRequestHandle m_hRequest; + + // Context value that the user defined on the request that this callback is associated with, 0 if + // no context value was set. + uint64 m_ulContextValue; + + + // Offset to provide to GetHTTPStreamingResponseBodyData to get this chunk of data + uint32 m_cOffset; + + // Size to provide to GetHTTPStreamingResponseBodyData to get this chunk of data + uint32 m_cBytesReceived; +}; + + +#pragma pack( pop ) + +#endif // ISTEAMHTTP_H \ No newline at end of file diff --git a/lsteamclient/steamworks_sdk_159x/isteaminput.h b/lsteamclient/steamworks_sdk_159x/isteaminput.h new file mode 100644 index 0000000000..f3fea1304e --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteaminput.h @@ -0,0 +1,982 @@ +//====== Copyright 1996-2018, Valve Corporation, All rights reserved. ======= +// +// Purpose: Steam Input is a flexible input API that supports over three hundred devices including all +// common variants of Xbox, Playstation, Nintendo Switch Pro, and Steam Controllers. +// For more info including a getting started guide for developers +// please visit: https://partner.steamgames.com/doc/features/steam_controller +// +//============================================================================= + +#ifndef ISTEAMINPUT_H +#define ISTEAMINPUT_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +#define STEAM_INPUT_MAX_COUNT 16 + +#define STEAM_INPUT_MAX_ANALOG_ACTIONS 24 + +#define STEAM_INPUT_MAX_DIGITAL_ACTIONS 256 + +#define STEAM_INPUT_MAX_ORIGINS 8 + +#define STEAM_INPUT_MAX_ACTIVE_LAYERS 16 + +// When sending an option to a specific controller handle, you can send to all devices via this command +#define STEAM_INPUT_HANDLE_ALL_CONTROLLERS UINT64_MAX + +#define STEAM_INPUT_MIN_ANALOG_ACTION_DATA -1.0f +#define STEAM_INPUT_MAX_ANALOG_ACTION_DATA 1.0f + +enum EInputSourceMode +{ + k_EInputSourceMode_None, + k_EInputSourceMode_Dpad, + k_EInputSourceMode_Buttons, + k_EInputSourceMode_FourButtons, + k_EInputSourceMode_AbsoluteMouse, + k_EInputSourceMode_RelativeMouse, + k_EInputSourceMode_JoystickMove, + k_EInputSourceMode_JoystickMouse, + k_EInputSourceMode_JoystickCamera, + k_EInputSourceMode_ScrollWheel, + k_EInputSourceMode_Trigger, + k_EInputSourceMode_TouchMenu, + k_EInputSourceMode_MouseJoystick, + k_EInputSourceMode_MouseRegion, + k_EInputSourceMode_RadialMenu, + k_EInputSourceMode_SingleButton, + k_EInputSourceMode_Switches +}; + +// Note: Please do not use action origins as a way to identify controller types. There is no +// guarantee that they will be added in a contiguous manner - use GetInputTypeForHandle instead. +// Versions of Steam that add new controller types in the future will extend this enum so if you're +// using a lookup table please check the bounds of any origins returned by Steam. +enum EInputActionOrigin +{ + // Steam Controller + k_EInputActionOrigin_None, + k_EInputActionOrigin_SteamController_A, + k_EInputActionOrigin_SteamController_B, + k_EInputActionOrigin_SteamController_X, + k_EInputActionOrigin_SteamController_Y, + k_EInputActionOrigin_SteamController_LeftBumper, + k_EInputActionOrigin_SteamController_RightBumper, + k_EInputActionOrigin_SteamController_LeftGrip, + k_EInputActionOrigin_SteamController_RightGrip, + k_EInputActionOrigin_SteamController_Start, + k_EInputActionOrigin_SteamController_Back, + k_EInputActionOrigin_SteamController_LeftPad_Touch, + k_EInputActionOrigin_SteamController_LeftPad_Swipe, + k_EInputActionOrigin_SteamController_LeftPad_Click, + k_EInputActionOrigin_SteamController_LeftPad_DPadNorth, + k_EInputActionOrigin_SteamController_LeftPad_DPadSouth, + k_EInputActionOrigin_SteamController_LeftPad_DPadWest, + k_EInputActionOrigin_SteamController_LeftPad_DPadEast, + k_EInputActionOrigin_SteamController_RightPad_Touch, + k_EInputActionOrigin_SteamController_RightPad_Swipe, + k_EInputActionOrigin_SteamController_RightPad_Click, + k_EInputActionOrigin_SteamController_RightPad_DPadNorth, + k_EInputActionOrigin_SteamController_RightPad_DPadSouth, + k_EInputActionOrigin_SteamController_RightPad_DPadWest, + k_EInputActionOrigin_SteamController_RightPad_DPadEast, + k_EInputActionOrigin_SteamController_LeftTrigger_Pull, + k_EInputActionOrigin_SteamController_LeftTrigger_Click, + k_EInputActionOrigin_SteamController_RightTrigger_Pull, + k_EInputActionOrigin_SteamController_RightTrigger_Click, + k_EInputActionOrigin_SteamController_LeftStick_Move, + k_EInputActionOrigin_SteamController_LeftStick_Click, + k_EInputActionOrigin_SteamController_LeftStick_DPadNorth, + k_EInputActionOrigin_SteamController_LeftStick_DPadSouth, + k_EInputActionOrigin_SteamController_LeftStick_DPadWest, + k_EInputActionOrigin_SteamController_LeftStick_DPadEast, + k_EInputActionOrigin_SteamController_Gyro_Move, + k_EInputActionOrigin_SteamController_Gyro_Pitch, + k_EInputActionOrigin_SteamController_Gyro_Yaw, + k_EInputActionOrigin_SteamController_Gyro_Roll, + k_EInputActionOrigin_SteamController_Reserved0, + k_EInputActionOrigin_SteamController_Reserved1, + k_EInputActionOrigin_SteamController_Reserved2, + k_EInputActionOrigin_SteamController_Reserved3, + k_EInputActionOrigin_SteamController_Reserved4, + k_EInputActionOrigin_SteamController_Reserved5, + k_EInputActionOrigin_SteamController_Reserved6, + k_EInputActionOrigin_SteamController_Reserved7, + k_EInputActionOrigin_SteamController_Reserved8, + k_EInputActionOrigin_SteamController_Reserved9, + k_EInputActionOrigin_SteamController_Reserved10, + + // PS4 Dual Shock + k_EInputActionOrigin_PS4_X, + k_EInputActionOrigin_PS4_Circle, + k_EInputActionOrigin_PS4_Triangle, + k_EInputActionOrigin_PS4_Square, + k_EInputActionOrigin_PS4_LeftBumper, + k_EInputActionOrigin_PS4_RightBumper, + k_EInputActionOrigin_PS4_Options, //Start + k_EInputActionOrigin_PS4_Share, //Back + k_EInputActionOrigin_PS4_LeftPad_Touch, + k_EInputActionOrigin_PS4_LeftPad_Swipe, + k_EInputActionOrigin_PS4_LeftPad_Click, + k_EInputActionOrigin_PS4_LeftPad_DPadNorth, + k_EInputActionOrigin_PS4_LeftPad_DPadSouth, + k_EInputActionOrigin_PS4_LeftPad_DPadWest, + k_EInputActionOrigin_PS4_LeftPad_DPadEast, + k_EInputActionOrigin_PS4_RightPad_Touch, + k_EInputActionOrigin_PS4_RightPad_Swipe, + k_EInputActionOrigin_PS4_RightPad_Click, + k_EInputActionOrigin_PS4_RightPad_DPadNorth, + k_EInputActionOrigin_PS4_RightPad_DPadSouth, + k_EInputActionOrigin_PS4_RightPad_DPadWest, + k_EInputActionOrigin_PS4_RightPad_DPadEast, + k_EInputActionOrigin_PS4_CenterPad_Touch, + k_EInputActionOrigin_PS4_CenterPad_Swipe, + k_EInputActionOrigin_PS4_CenterPad_Click, + k_EInputActionOrigin_PS4_CenterPad_DPadNorth, + k_EInputActionOrigin_PS4_CenterPad_DPadSouth, + k_EInputActionOrigin_PS4_CenterPad_DPadWest, + k_EInputActionOrigin_PS4_CenterPad_DPadEast, + k_EInputActionOrigin_PS4_LeftTrigger_Pull, + k_EInputActionOrigin_PS4_LeftTrigger_Click, + k_EInputActionOrigin_PS4_RightTrigger_Pull, + k_EInputActionOrigin_PS4_RightTrigger_Click, + k_EInputActionOrigin_PS4_LeftStick_Move, + k_EInputActionOrigin_PS4_LeftStick_Click, + k_EInputActionOrigin_PS4_LeftStick_DPadNorth, + k_EInputActionOrigin_PS4_LeftStick_DPadSouth, + k_EInputActionOrigin_PS4_LeftStick_DPadWest, + k_EInputActionOrigin_PS4_LeftStick_DPadEast, + k_EInputActionOrigin_PS4_RightStick_Move, + k_EInputActionOrigin_PS4_RightStick_Click, + k_EInputActionOrigin_PS4_RightStick_DPadNorth, + k_EInputActionOrigin_PS4_RightStick_DPadSouth, + k_EInputActionOrigin_PS4_RightStick_DPadWest, + k_EInputActionOrigin_PS4_RightStick_DPadEast, + k_EInputActionOrigin_PS4_DPad_North, + k_EInputActionOrigin_PS4_DPad_South, + k_EInputActionOrigin_PS4_DPad_West, + k_EInputActionOrigin_PS4_DPad_East, + k_EInputActionOrigin_PS4_Gyro_Move, + k_EInputActionOrigin_PS4_Gyro_Pitch, + k_EInputActionOrigin_PS4_Gyro_Yaw, + k_EInputActionOrigin_PS4_Gyro_Roll, + k_EInputActionOrigin_PS4_DPad_Move, + k_EInputActionOrigin_PS4_Reserved1, + k_EInputActionOrigin_PS4_Reserved2, + k_EInputActionOrigin_PS4_Reserved3, + k_EInputActionOrigin_PS4_Reserved4, + k_EInputActionOrigin_PS4_Reserved5, + k_EInputActionOrigin_PS4_Reserved6, + k_EInputActionOrigin_PS4_Reserved7, + k_EInputActionOrigin_PS4_Reserved8, + k_EInputActionOrigin_PS4_Reserved9, + k_EInputActionOrigin_PS4_Reserved10, + + // XBox One + k_EInputActionOrigin_XBoxOne_A, + k_EInputActionOrigin_XBoxOne_B, + k_EInputActionOrigin_XBoxOne_X, + k_EInputActionOrigin_XBoxOne_Y, + k_EInputActionOrigin_XBoxOne_LeftBumper, + k_EInputActionOrigin_XBoxOne_RightBumper, + k_EInputActionOrigin_XBoxOne_Menu, //Start + k_EInputActionOrigin_XBoxOne_View, //Back + k_EInputActionOrigin_XBoxOne_LeftTrigger_Pull, + k_EInputActionOrigin_XBoxOne_LeftTrigger_Click, + k_EInputActionOrigin_XBoxOne_RightTrigger_Pull, + k_EInputActionOrigin_XBoxOne_RightTrigger_Click, + k_EInputActionOrigin_XBoxOne_LeftStick_Move, + k_EInputActionOrigin_XBoxOne_LeftStick_Click, + k_EInputActionOrigin_XBoxOne_LeftStick_DPadNorth, + k_EInputActionOrigin_XBoxOne_LeftStick_DPadSouth, + k_EInputActionOrigin_XBoxOne_LeftStick_DPadWest, + k_EInputActionOrigin_XBoxOne_LeftStick_DPadEast, + k_EInputActionOrigin_XBoxOne_RightStick_Move, + k_EInputActionOrigin_XBoxOne_RightStick_Click, + k_EInputActionOrigin_XBoxOne_RightStick_DPadNorth, + k_EInputActionOrigin_XBoxOne_RightStick_DPadSouth, + k_EInputActionOrigin_XBoxOne_RightStick_DPadWest, + k_EInputActionOrigin_XBoxOne_RightStick_DPadEast, + k_EInputActionOrigin_XBoxOne_DPad_North, + k_EInputActionOrigin_XBoxOne_DPad_South, + k_EInputActionOrigin_XBoxOne_DPad_West, + k_EInputActionOrigin_XBoxOne_DPad_East, + k_EInputActionOrigin_XBoxOne_DPad_Move, + k_EInputActionOrigin_XBoxOne_LeftGrip_Lower, + k_EInputActionOrigin_XBoxOne_LeftGrip_Upper, + k_EInputActionOrigin_XBoxOne_RightGrip_Lower, + k_EInputActionOrigin_XBoxOne_RightGrip_Upper, + k_EInputActionOrigin_XBoxOne_Share, // Xbox Series X controllers only + k_EInputActionOrigin_XBoxOne_Reserved6, + k_EInputActionOrigin_XBoxOne_Reserved7, + k_EInputActionOrigin_XBoxOne_Reserved8, + k_EInputActionOrigin_XBoxOne_Reserved9, + k_EInputActionOrigin_XBoxOne_Reserved10, + + // XBox 360 + k_EInputActionOrigin_XBox360_A, + k_EInputActionOrigin_XBox360_B, + k_EInputActionOrigin_XBox360_X, + k_EInputActionOrigin_XBox360_Y, + k_EInputActionOrigin_XBox360_LeftBumper, + k_EInputActionOrigin_XBox360_RightBumper, + k_EInputActionOrigin_XBox360_Start, //Start + k_EInputActionOrigin_XBox360_Back, //Back + k_EInputActionOrigin_XBox360_LeftTrigger_Pull, + k_EInputActionOrigin_XBox360_LeftTrigger_Click, + k_EInputActionOrigin_XBox360_RightTrigger_Pull, + k_EInputActionOrigin_XBox360_RightTrigger_Click, + k_EInputActionOrigin_XBox360_LeftStick_Move, + k_EInputActionOrigin_XBox360_LeftStick_Click, + k_EInputActionOrigin_XBox360_LeftStick_DPadNorth, + k_EInputActionOrigin_XBox360_LeftStick_DPadSouth, + k_EInputActionOrigin_XBox360_LeftStick_DPadWest, + k_EInputActionOrigin_XBox360_LeftStick_DPadEast, + k_EInputActionOrigin_XBox360_RightStick_Move, + k_EInputActionOrigin_XBox360_RightStick_Click, + k_EInputActionOrigin_XBox360_RightStick_DPadNorth, + k_EInputActionOrigin_XBox360_RightStick_DPadSouth, + k_EInputActionOrigin_XBox360_RightStick_DPadWest, + k_EInputActionOrigin_XBox360_RightStick_DPadEast, + k_EInputActionOrigin_XBox360_DPad_North, + k_EInputActionOrigin_XBox360_DPad_South, + k_EInputActionOrigin_XBox360_DPad_West, + k_EInputActionOrigin_XBox360_DPad_East, + k_EInputActionOrigin_XBox360_DPad_Move, + k_EInputActionOrigin_XBox360_Reserved1, + k_EInputActionOrigin_XBox360_Reserved2, + k_EInputActionOrigin_XBox360_Reserved3, + k_EInputActionOrigin_XBox360_Reserved4, + k_EInputActionOrigin_XBox360_Reserved5, + k_EInputActionOrigin_XBox360_Reserved6, + k_EInputActionOrigin_XBox360_Reserved7, + k_EInputActionOrigin_XBox360_Reserved8, + k_EInputActionOrigin_XBox360_Reserved9, + k_EInputActionOrigin_XBox360_Reserved10, + + + // Switch - Pro or Joycons used as a single input device. + // This does not apply to a single joycon + k_EInputActionOrigin_Switch_A, + k_EInputActionOrigin_Switch_B, + k_EInputActionOrigin_Switch_X, + k_EInputActionOrigin_Switch_Y, + k_EInputActionOrigin_Switch_LeftBumper, + k_EInputActionOrigin_Switch_RightBumper, + k_EInputActionOrigin_Switch_Plus, //Start + k_EInputActionOrigin_Switch_Minus, //Back + k_EInputActionOrigin_Switch_Capture, + k_EInputActionOrigin_Switch_LeftTrigger_Pull, + k_EInputActionOrigin_Switch_LeftTrigger_Click, + k_EInputActionOrigin_Switch_RightTrigger_Pull, + k_EInputActionOrigin_Switch_RightTrigger_Click, + k_EInputActionOrigin_Switch_LeftStick_Move, + k_EInputActionOrigin_Switch_LeftStick_Click, + k_EInputActionOrigin_Switch_LeftStick_DPadNorth, + k_EInputActionOrigin_Switch_LeftStick_DPadSouth, + k_EInputActionOrigin_Switch_LeftStick_DPadWest, + k_EInputActionOrigin_Switch_LeftStick_DPadEast, + k_EInputActionOrigin_Switch_RightStick_Move, + k_EInputActionOrigin_Switch_RightStick_Click, + k_EInputActionOrigin_Switch_RightStick_DPadNorth, + k_EInputActionOrigin_Switch_RightStick_DPadSouth, + k_EInputActionOrigin_Switch_RightStick_DPadWest, + k_EInputActionOrigin_Switch_RightStick_DPadEast, + k_EInputActionOrigin_Switch_DPad_North, + k_EInputActionOrigin_Switch_DPad_South, + k_EInputActionOrigin_Switch_DPad_West, + k_EInputActionOrigin_Switch_DPad_East, + k_EInputActionOrigin_Switch_ProGyro_Move, // Primary Gyro in Pro Controller, or Right JoyCon + k_EInputActionOrigin_Switch_ProGyro_Pitch, // Primary Gyro in Pro Controller, or Right JoyCon + k_EInputActionOrigin_Switch_ProGyro_Yaw, // Primary Gyro in Pro Controller, or Right JoyCon + k_EInputActionOrigin_Switch_ProGyro_Roll, // Primary Gyro in Pro Controller, or Right JoyCon + k_EInputActionOrigin_Switch_DPad_Move, + k_EInputActionOrigin_Switch_Reserved1, + k_EInputActionOrigin_Switch_Reserved2, + k_EInputActionOrigin_Switch_Reserved3, + k_EInputActionOrigin_Switch_Reserved4, + k_EInputActionOrigin_Switch_Reserved5, + k_EInputActionOrigin_Switch_Reserved6, + k_EInputActionOrigin_Switch_Reserved7, + k_EInputActionOrigin_Switch_Reserved8, + k_EInputActionOrigin_Switch_Reserved9, + k_EInputActionOrigin_Switch_Reserved10, + + // Switch JoyCon Specific + k_EInputActionOrigin_Switch_RightGyro_Move, // Right JoyCon Gyro generally should correspond to Pro's single gyro + k_EInputActionOrigin_Switch_RightGyro_Pitch, // Right JoyCon Gyro generally should correspond to Pro's single gyro + k_EInputActionOrigin_Switch_RightGyro_Yaw, // Right JoyCon Gyro generally should correspond to Pro's single gyro + k_EInputActionOrigin_Switch_RightGyro_Roll, // Right JoyCon Gyro generally should correspond to Pro's single gyro + k_EInputActionOrigin_Switch_LeftGyro_Move, + k_EInputActionOrigin_Switch_LeftGyro_Pitch, + k_EInputActionOrigin_Switch_LeftGyro_Yaw, + k_EInputActionOrigin_Switch_LeftGyro_Roll, + k_EInputActionOrigin_Switch_LeftGrip_Lower, // Left JoyCon SR Button + k_EInputActionOrigin_Switch_LeftGrip_Upper, // Left JoyCon SL Button + k_EInputActionOrigin_Switch_RightGrip_Lower, // Right JoyCon SL Button + k_EInputActionOrigin_Switch_RightGrip_Upper, // Right JoyCon SR Button + k_EInputActionOrigin_Switch_JoyConButton_N, // With a Horizontal JoyCon this will be Y or what would be Dpad Right when vertical + k_EInputActionOrigin_Switch_JoyConButton_E, // X + k_EInputActionOrigin_Switch_JoyConButton_S, // A + k_EInputActionOrigin_Switch_JoyConButton_W, // B + k_EInputActionOrigin_Switch_Reserved15, + k_EInputActionOrigin_Switch_Reserved16, + k_EInputActionOrigin_Switch_Reserved17, + k_EInputActionOrigin_Switch_Reserved18, + k_EInputActionOrigin_Switch_Reserved19, + k_EInputActionOrigin_Switch_Reserved20, + + // Added in SDK 1.51 + k_EInputActionOrigin_PS5_X, + k_EInputActionOrigin_PS5_Circle, + k_EInputActionOrigin_PS5_Triangle, + k_EInputActionOrigin_PS5_Square, + k_EInputActionOrigin_PS5_LeftBumper, + k_EInputActionOrigin_PS5_RightBumper, + k_EInputActionOrigin_PS5_Option, //Start + k_EInputActionOrigin_PS5_Create, //Back + k_EInputActionOrigin_PS5_Mute, + k_EInputActionOrigin_PS5_LeftPad_Touch, + k_EInputActionOrigin_PS5_LeftPad_Swipe, + k_EInputActionOrigin_PS5_LeftPad_Click, + k_EInputActionOrigin_PS5_LeftPad_DPadNorth, + k_EInputActionOrigin_PS5_LeftPad_DPadSouth, + k_EInputActionOrigin_PS5_LeftPad_DPadWest, + k_EInputActionOrigin_PS5_LeftPad_DPadEast, + k_EInputActionOrigin_PS5_RightPad_Touch, + k_EInputActionOrigin_PS5_RightPad_Swipe, + k_EInputActionOrigin_PS5_RightPad_Click, + k_EInputActionOrigin_PS5_RightPad_DPadNorth, + k_EInputActionOrigin_PS5_RightPad_DPadSouth, + k_EInputActionOrigin_PS5_RightPad_DPadWest, + k_EInputActionOrigin_PS5_RightPad_DPadEast, + k_EInputActionOrigin_PS5_CenterPad_Touch, + k_EInputActionOrigin_PS5_CenterPad_Swipe, + k_EInputActionOrigin_PS5_CenterPad_Click, + k_EInputActionOrigin_PS5_CenterPad_DPadNorth, + k_EInputActionOrigin_PS5_CenterPad_DPadSouth, + k_EInputActionOrigin_PS5_CenterPad_DPadWest, + k_EInputActionOrigin_PS5_CenterPad_DPadEast, + k_EInputActionOrigin_PS5_LeftTrigger_Pull, + k_EInputActionOrigin_PS5_LeftTrigger_Click, + k_EInputActionOrigin_PS5_RightTrigger_Pull, + k_EInputActionOrigin_PS5_RightTrigger_Click, + k_EInputActionOrigin_PS5_LeftStick_Move, + k_EInputActionOrigin_PS5_LeftStick_Click, + k_EInputActionOrigin_PS5_LeftStick_DPadNorth, + k_EInputActionOrigin_PS5_LeftStick_DPadSouth, + k_EInputActionOrigin_PS5_LeftStick_DPadWest, + k_EInputActionOrigin_PS5_LeftStick_DPadEast, + k_EInputActionOrigin_PS5_RightStick_Move, + k_EInputActionOrigin_PS5_RightStick_Click, + k_EInputActionOrigin_PS5_RightStick_DPadNorth, + k_EInputActionOrigin_PS5_RightStick_DPadSouth, + k_EInputActionOrigin_PS5_RightStick_DPadWest, + k_EInputActionOrigin_PS5_RightStick_DPadEast, + k_EInputActionOrigin_PS5_DPad_North, + k_EInputActionOrigin_PS5_DPad_South, + k_EInputActionOrigin_PS5_DPad_West, + k_EInputActionOrigin_PS5_DPad_East, + k_EInputActionOrigin_PS5_Gyro_Move, + k_EInputActionOrigin_PS5_Gyro_Pitch, + k_EInputActionOrigin_PS5_Gyro_Yaw, + k_EInputActionOrigin_PS5_Gyro_Roll, + k_EInputActionOrigin_PS5_DPad_Move, + k_EInputActionOrigin_PS5_LeftGrip, + k_EInputActionOrigin_PS5_RightGrip, + k_EInputActionOrigin_PS5_LeftFn, + k_EInputActionOrigin_PS5_RightFn, + k_EInputActionOrigin_PS5_Reserved5, + k_EInputActionOrigin_PS5_Reserved6, + k_EInputActionOrigin_PS5_Reserved7, + k_EInputActionOrigin_PS5_Reserved8, + k_EInputActionOrigin_PS5_Reserved9, + k_EInputActionOrigin_PS5_Reserved10, + k_EInputActionOrigin_PS5_Reserved11, + k_EInputActionOrigin_PS5_Reserved12, + k_EInputActionOrigin_PS5_Reserved13, + k_EInputActionOrigin_PS5_Reserved14, + k_EInputActionOrigin_PS5_Reserved15, + k_EInputActionOrigin_PS5_Reserved16, + k_EInputActionOrigin_PS5_Reserved17, + k_EInputActionOrigin_PS5_Reserved18, + k_EInputActionOrigin_PS5_Reserved19, + k_EInputActionOrigin_PS5_Reserved20, + + // Added in SDK 1.53 + k_EInputActionOrigin_SteamDeck_A, + k_EInputActionOrigin_SteamDeck_B, + k_EInputActionOrigin_SteamDeck_X, + k_EInputActionOrigin_SteamDeck_Y, + k_EInputActionOrigin_SteamDeck_L1, + k_EInputActionOrigin_SteamDeck_R1, + k_EInputActionOrigin_SteamDeck_Menu, + k_EInputActionOrigin_SteamDeck_View, + k_EInputActionOrigin_SteamDeck_LeftPad_Touch, + k_EInputActionOrigin_SteamDeck_LeftPad_Swipe, + k_EInputActionOrigin_SteamDeck_LeftPad_Click, + k_EInputActionOrigin_SteamDeck_LeftPad_DPadNorth, + k_EInputActionOrigin_SteamDeck_LeftPad_DPadSouth, + k_EInputActionOrigin_SteamDeck_LeftPad_DPadWest, + k_EInputActionOrigin_SteamDeck_LeftPad_DPadEast, + k_EInputActionOrigin_SteamDeck_RightPad_Touch, + k_EInputActionOrigin_SteamDeck_RightPad_Swipe, + k_EInputActionOrigin_SteamDeck_RightPad_Click, + k_EInputActionOrigin_SteamDeck_RightPad_DPadNorth, + k_EInputActionOrigin_SteamDeck_RightPad_DPadSouth, + k_EInputActionOrigin_SteamDeck_RightPad_DPadWest, + k_EInputActionOrigin_SteamDeck_RightPad_DPadEast, + k_EInputActionOrigin_SteamDeck_L2_SoftPull, + k_EInputActionOrigin_SteamDeck_L2, + k_EInputActionOrigin_SteamDeck_R2_SoftPull, + k_EInputActionOrigin_SteamDeck_R2, + k_EInputActionOrigin_SteamDeck_LeftStick_Move, + k_EInputActionOrigin_SteamDeck_L3, + k_EInputActionOrigin_SteamDeck_LeftStick_DPadNorth, + k_EInputActionOrigin_SteamDeck_LeftStick_DPadSouth, + k_EInputActionOrigin_SteamDeck_LeftStick_DPadWest, + k_EInputActionOrigin_SteamDeck_LeftStick_DPadEast, + k_EInputActionOrigin_SteamDeck_LeftStick_Touch, + k_EInputActionOrigin_SteamDeck_RightStick_Move, + k_EInputActionOrigin_SteamDeck_R3, + k_EInputActionOrigin_SteamDeck_RightStick_DPadNorth, + k_EInputActionOrigin_SteamDeck_RightStick_DPadSouth, + k_EInputActionOrigin_SteamDeck_RightStick_DPadWest, + k_EInputActionOrigin_SteamDeck_RightStick_DPadEast, + k_EInputActionOrigin_SteamDeck_RightStick_Touch, + k_EInputActionOrigin_SteamDeck_L4, + k_EInputActionOrigin_SteamDeck_R4, + k_EInputActionOrigin_SteamDeck_L5, + k_EInputActionOrigin_SteamDeck_R5, + k_EInputActionOrigin_SteamDeck_DPad_Move, + k_EInputActionOrigin_SteamDeck_DPad_North, + k_EInputActionOrigin_SteamDeck_DPad_South, + k_EInputActionOrigin_SteamDeck_DPad_West, + k_EInputActionOrigin_SteamDeck_DPad_East, + k_EInputActionOrigin_SteamDeck_Gyro_Move, + k_EInputActionOrigin_SteamDeck_Gyro_Pitch, + k_EInputActionOrigin_SteamDeck_Gyro_Yaw, + k_EInputActionOrigin_SteamDeck_Gyro_Roll, + k_EInputActionOrigin_SteamDeck_Reserved1, + k_EInputActionOrigin_SteamDeck_Reserved2, + k_EInputActionOrigin_SteamDeck_Reserved3, + k_EInputActionOrigin_SteamDeck_Reserved4, + k_EInputActionOrigin_SteamDeck_Reserved5, + k_EInputActionOrigin_SteamDeck_Reserved6, + k_EInputActionOrigin_SteamDeck_Reserved7, + k_EInputActionOrigin_SteamDeck_Reserved8, + k_EInputActionOrigin_SteamDeck_Reserved9, + k_EInputActionOrigin_SteamDeck_Reserved10, + k_EInputActionOrigin_SteamDeck_Reserved11, + k_EInputActionOrigin_SteamDeck_Reserved12, + k_EInputActionOrigin_SteamDeck_Reserved13, + k_EInputActionOrigin_SteamDeck_Reserved14, + k_EInputActionOrigin_SteamDeck_Reserved15, + k_EInputActionOrigin_SteamDeck_Reserved16, + k_EInputActionOrigin_SteamDeck_Reserved17, + k_EInputActionOrigin_SteamDeck_Reserved18, + k_EInputActionOrigin_SteamDeck_Reserved19, + k_EInputActionOrigin_SteamDeck_Reserved20, + + k_EInputActionOrigin_Count, // If Steam has added support for new controllers origins will go here. + k_EInputActionOrigin_MaximumPossibleValue = 32767, // Origins are currently a maximum of 16 bits. +}; + +enum EXboxOrigin +{ + k_EXboxOrigin_A, + k_EXboxOrigin_B, + k_EXboxOrigin_X, + k_EXboxOrigin_Y, + k_EXboxOrigin_LeftBumper, + k_EXboxOrigin_RightBumper, + k_EXboxOrigin_Menu, //Start + k_EXboxOrigin_View, //Back + k_EXboxOrigin_LeftTrigger_Pull, + k_EXboxOrigin_LeftTrigger_Click, + k_EXboxOrigin_RightTrigger_Pull, + k_EXboxOrigin_RightTrigger_Click, + k_EXboxOrigin_LeftStick_Move, + k_EXboxOrigin_LeftStick_Click, + k_EXboxOrigin_LeftStick_DPadNorth, + k_EXboxOrigin_LeftStick_DPadSouth, + k_EXboxOrigin_LeftStick_DPadWest, + k_EXboxOrigin_LeftStick_DPadEast, + k_EXboxOrigin_RightStick_Move, + k_EXboxOrigin_RightStick_Click, + k_EXboxOrigin_RightStick_DPadNorth, + k_EXboxOrigin_RightStick_DPadSouth, + k_EXboxOrigin_RightStick_DPadWest, + k_EXboxOrigin_RightStick_DPadEast, + k_EXboxOrigin_DPad_North, + k_EXboxOrigin_DPad_South, + k_EXboxOrigin_DPad_West, + k_EXboxOrigin_DPad_East, + k_EXboxOrigin_Count, +}; + +enum ESteamControllerPad +{ + k_ESteamControllerPad_Left, + k_ESteamControllerPad_Right +}; + +enum EControllerHapticLocation +{ + k_EControllerHapticLocation_Left = ( 1 << k_ESteamControllerPad_Left ), + k_EControllerHapticLocation_Right = ( 1 << k_ESteamControllerPad_Right ), + k_EControllerHapticLocation_Both = ( 1 << k_ESteamControllerPad_Left | 1 << k_ESteamControllerPad_Right ), +}; + +enum EControllerHapticType +{ + k_EControllerHapticType_Off, + k_EControllerHapticType_Tick, + k_EControllerHapticType_Click, +}; + +enum ESteamInputType +{ + k_ESteamInputType_Unknown, + k_ESteamInputType_SteamController, + k_ESteamInputType_XBox360Controller, + k_ESteamInputType_XBoxOneController, + k_ESteamInputType_GenericGamepad, // DirectInput controllers + k_ESteamInputType_PS4Controller, + k_ESteamInputType_AppleMFiController, // Unused + k_ESteamInputType_AndroidController, // Unused + k_ESteamInputType_SwitchJoyConPair, // Unused + k_ESteamInputType_SwitchJoyConSingle, // Unused + k_ESteamInputType_SwitchProController, + k_ESteamInputType_MobileTouch, // Steam Link App On-screen Virtual Controller + k_ESteamInputType_PS3Controller, // Currently uses PS4 Origins + k_ESteamInputType_PS5Controller, // Added in SDK 151 + k_ESteamInputType_SteamDeckController, // Added in SDK 153 + k_ESteamInputType_Count, + k_ESteamInputType_MaximumPossibleValue = 255, +}; + +// Individual values are used by the GetSessionInputConfigurationSettings bitmask +enum ESteamInputConfigurationEnableType +{ + k_ESteamInputConfigurationEnableType_None = 0x0000, + k_ESteamInputConfigurationEnableType_Playstation = 0x0001, + k_ESteamInputConfigurationEnableType_Xbox = 0x0002, + k_ESteamInputConfigurationEnableType_Generic = 0x0004, + k_ESteamInputConfigurationEnableType_Switch = 0x0008, +}; + +// These values are passed into SetLEDColor +enum ESteamInputLEDFlag +{ + k_ESteamInputLEDFlag_SetColor, + // Restore the LED color to the user's preference setting as set in the controller personalization menu. + // This also happens automatically on exit of your game. + k_ESteamInputLEDFlag_RestoreUserDefault +}; + +// These values are passed into GetGlyphPNGForActionOrigin +enum ESteamInputGlyphSize +{ + k_ESteamInputGlyphSize_Small, // 32x32 pixels + k_ESteamInputGlyphSize_Medium, // 128x128 pixels + k_ESteamInputGlyphSize_Large, // 256x256 pixels + k_ESteamInputGlyphSize_Count, +}; + +enum ESteamInputGlyphStyle +{ + // Base-styles - cannot mix + ESteamInputGlyphStyle_Knockout = 0x0, // Face buttons will have colored labels/outlines on a knocked out background + // Rest of inputs will have white detail/borders on a knocked out background + ESteamInputGlyphStyle_Light = 0x1, // Black detail/borders on a white background + ESteamInputGlyphStyle_Dark = 0x2, // White detail/borders on a black background + + // Modifiers + // Default ABXY/PS equivalent glyphs have a solid fill w/ color matching the physical buttons on the device + ESteamInputGlyphStyle_NeutralColorABXY = 0x10, // ABXY Buttons will match the base style color instead of their normal associated color + ESteamInputGlyphStyle_SolidABXY = 0x20, // ABXY Buttons will have a solid fill +}; + +enum ESteamInputActionEventType +{ + ESteamInputActionEventType_DigitalAction, + ESteamInputActionEventType_AnalogAction, +}; + +// InputHandle_t is used to refer to a specific controller. +// This handle will consistently identify a controller, even if it is disconnected and re-connected +typedef uint64 InputHandle_t; + +// These handles are used to refer to a specific in-game action or action set +// All action handles should be queried during initialization for performance reasons +typedef uint64 InputActionSetHandle_t; +typedef uint64 InputDigitalActionHandle_t; +typedef uint64 InputAnalogActionHandle_t; + +#pragma pack( push, 1 ) + +struct InputAnalogActionData_t +{ + // Type of data coming from this action, this will match what got specified in the action set + EInputSourceMode eMode; + + // The current state of this action; will be delta updates for mouse actions + float x, y; + + // Whether or not this action is currently available to be bound in the active action set + bool bActive; +}; + +struct InputDigitalActionData_t +{ + // The current state of this action; will be true if currently pressed + bool bState; + + // Whether or not this action is currently available to be bound in the active action set + bool bActive; +}; + +struct InputMotionData_t +{ + // Sensor-fused absolute rotation; will drift in heading toward average + float rotQuatX; + float rotQuatY; + float rotQuatZ; + float rotQuatW; + + // Positional acceleration + float posAccelX; + float posAccelY; + float posAccelZ; + + // Angular velocity + float rotVelX; + float rotVelY; + float rotVelZ; +}; + +//----------------------------------------------------------------------------- +// Purpose: when callbacks are enabled this fires each time a controller action +// state changes +//----------------------------------------------------------------------------- +struct SteamInputActionEvent_t +{ + InputHandle_t controllerHandle; + ESteamInputActionEventType eEventType; + struct AnalogAction_t { + InputAnalogActionHandle_t actionHandle; + InputAnalogActionData_t analogActionData; + }; + struct DigitalAction_t { + InputDigitalActionHandle_t actionHandle; + InputDigitalActionData_t digitalActionData; + }; + union { + AnalogAction_t analogAction; + DigitalAction_t digitalAction; + } x; +}; + +//----------------------------------------------------------------------------- +// Forward declaration for ScePadTriggerEffectParam, defined in isteamdualsense.h +//----------------------------------------------------------------------------- +struct ScePadTriggerEffectParam; + +#pragma pack( pop ) + +typedef void ( *SteamInputActionEventCallbackPointer )( SteamInputActionEvent_t * ); + +//----------------------------------------------------------------------------- +// Purpose: Steam Input API +//----------------------------------------------------------------------------- +class ISteamInput +{ +public: + + // Init and Shutdown must be called when starting/ending use of this interface. + // if bExplicitlyCallRunFrame is called then you will need to manually call RunFrame + // each frame, otherwise Steam Input will updated when SteamAPI_RunCallbacks() is called + virtual bool Init( bool bExplicitlyCallRunFrame ) = 0; + virtual bool Shutdown() = 0; + + // Set the absolute path to the Input Action Manifest file containing the in-game actions + // and file paths to the official configurations. Used in games that bundle Steam Input + // configurations inside of the game depot instead of using the Steam Workshop + virtual bool SetInputActionManifestFilePath( const char *pchInputActionManifestAbsolutePath ) = 0; + + // Synchronize API state with the latest Steam Input action data available. This + // is performed automatically by SteamAPI_RunCallbacks, but for the absolute lowest + // possible latency, you call this directly before reading controller state. + // Note: This must be called from somewhere before GetConnectedControllers will + // return any handles + virtual void RunFrame( bool bReservedValue = true ) = 0; + + // Waits on an IPC event from Steam sent when there is new data to be fetched from + // the data drop. Returns true when data was recievied before the timeout expires. + // Useful for games with a dedicated input thread + virtual bool BWaitForData( bool bWaitForever, uint32 unTimeout ) = 0; + + // Returns true if new data has been received since the last time action data was accessed + // via GetDigitalActionData or GetAnalogActionData. The game will still need to call + // SteamInput()->RunFrame() or SteamAPI_RunCallbacks() before this to update the data stream + virtual bool BNewDataAvailable() = 0; + + // Enumerate currently connected Steam Input enabled devices - developers can opt in controller by type (ex: Xbox/Playstation/etc) via + // the Steam Input settings in the Steamworks site or users can opt-in in their controller settings in Steam. + // handlesOut should point to a STEAM_INPUT_MAX_COUNT sized array of InputHandle_t handles + // Returns the number of handles written to handlesOut + virtual int GetConnectedControllers( STEAM_OUT_ARRAY_COUNT( STEAM_INPUT_MAX_COUNT, Receives list of connected controllers ) InputHandle_t *handlesOut ) = 0; + + //----------------------------------------------------------------------------- + // CALLBACKS + //----------------------------------------------------------------------------- + + // Controller configuration loaded - these callbacks will always fire if you have + // a handler. Note: this is called within either SteamInput()->RunFrame or by SteamAPI_RunCallbacks + STEAM_CALL_BACK( SteamInputConfigurationLoaded_t ) + + // Enable SteamInputDeviceConnected_t and SteamInputDeviceDisconnected_t callbacks. + // Each controller that is already connected will generate a device connected + // callback when you enable them + virtual void EnableDeviceCallbacks() = 0; + + // Controller Connected - provides info about a single newly connected controller + // Note: this is called within either SteamInput()->RunFrame or by SteamAPI_RunCallbacks + STEAM_CALL_BACK( SteamInputDeviceConnected_t ) + + // Controller Disconnected - provides info about a single disconnected controller + // Note: this is called within either SteamInput()->RunFrame or by SteamAPI_RunCallbacks + STEAM_CALL_BACK( SteamInputDeviceDisconnected_t ) + + // Controllers using Gamepad emulation (XInput, DirectInput, etc) will be seated in the order that + // input is sent by the device. This callback will fire on first input for each device and when the + // a user has manually changed the order via the Steam overlay. This also has the device type info + // so that you can change out glyph sets without making additional API calls + STEAM_CALL_BACK( SteamInputGamepadSlotChange_t ) + + // Enable SteamInputActionEvent_t callbacks. Directly calls your callback function + // for lower latency than standard Steam callbacks. Supports one callback at a time. + // Note: this is called within either SteamInput()->RunFrame or by SteamAPI_RunCallbacks + virtual void EnableActionEventCallbacks( SteamInputActionEventCallbackPointer pCallback ) = 0; + + //----------------------------------------------------------------------------- + // ACTION SETS + //----------------------------------------------------------------------------- + + // Lookup the handle for an Action Set. Best to do this once on startup, and store the handles for all future API calls. + virtual InputActionSetHandle_t GetActionSetHandle( const char *pszActionSetName ) = 0; + + // Reconfigure the controller to use the specified action set (ie 'Menu', 'Walk' or 'Drive') + // This is cheap, and can be safely called repeatedly. It's often easier to repeatedly call it in + // your state loops, instead of trying to place it in all of your state transitions. + virtual void ActivateActionSet( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle ) = 0; + virtual InputActionSetHandle_t GetCurrentActionSet( InputHandle_t inputHandle ) = 0; + + // ACTION SET LAYERS + virtual void ActivateActionSetLayer( InputHandle_t inputHandle, InputActionSetHandle_t actionSetLayerHandle ) = 0; + virtual void DeactivateActionSetLayer( InputHandle_t inputHandle, InputActionSetHandle_t actionSetLayerHandle ) = 0; + virtual void DeactivateAllActionSetLayers( InputHandle_t inputHandle ) = 0; + + // Enumerate currently active layers. + // handlesOut should point to a STEAM_INPUT_MAX_ACTIVE_LAYERS sized array of InputActionSetHandle_t handles + // Returns the number of handles written to handlesOut + virtual int GetActiveActionSetLayers( InputHandle_t inputHandle, STEAM_OUT_ARRAY_COUNT( STEAM_INPUT_MAX_ACTIVE_LAYERS, Receives list of active layers ) InputActionSetHandle_t *handlesOut ) = 0; + + //----------------------------------------------------------------------------- + // ACTIONS + //----------------------------------------------------------------------------- + + // Lookup the handle for a digital action. Best to do this once on startup, and store the handles for all future API calls. + virtual InputDigitalActionHandle_t GetDigitalActionHandle( const char *pszActionName ) = 0; + + // Returns the current state of the supplied digital game action + virtual InputDigitalActionData_t GetDigitalActionData( InputHandle_t inputHandle, InputDigitalActionHandle_t digitalActionHandle ) = 0; + + // Get the origin(s) for a digital action within an action set. Returns the number of origins supplied in originsOut. Use this to display the appropriate on-screen prompt for the action. + // originsOut should point to a STEAM_INPUT_MAX_ORIGINS sized array of EInputActionOrigin handles. The EInputActionOrigin enum will get extended as support for new controller controllers gets added to + // the Steam client and will exceed the values from this header, please check bounds if you are using a look up table. + virtual int GetDigitalActionOrigins( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle, InputDigitalActionHandle_t digitalActionHandle, STEAM_OUT_ARRAY_COUNT( STEAM_INPUT_MAX_ORIGINS, Receives list of action origins ) EInputActionOrigin *originsOut ) = 0; + + // Returns a localized string (from Steam's language setting) for the user-facing action name corresponding to the specified handle + virtual const char *GetStringForDigitalActionName( InputDigitalActionHandle_t eActionHandle ) = 0; + + // Lookup the handle for an analog action. Best to do this once on startup, and store the handles for all future API calls. + virtual InputAnalogActionHandle_t GetAnalogActionHandle( const char *pszActionName ) = 0; + + // Returns the current state of these supplied analog game action + virtual InputAnalogActionData_t GetAnalogActionData( InputHandle_t inputHandle, InputAnalogActionHandle_t analogActionHandle ) = 0; + + // Get the origin(s) for an analog action within an action set. Returns the number of origins supplied in originsOut. Use this to display the appropriate on-screen prompt for the action. + // originsOut should point to a STEAM_INPUT_MAX_ORIGINS sized array of EInputActionOrigin handles. The EInputActionOrigin enum will get extended as support for new controller controllers gets added to + // the Steam client and will exceed the values from this header, please check bounds if you are using a look up table. + virtual int GetAnalogActionOrigins( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle, InputAnalogActionHandle_t analogActionHandle, STEAM_OUT_ARRAY_COUNT( STEAM_INPUT_MAX_ORIGINS, Receives list of action origins ) EInputActionOrigin *originsOut ) = 0; + + // Get a local path to a PNG file for the provided origin's glyph. + virtual const char *GetGlyphPNGForActionOrigin( EInputActionOrigin eOrigin, ESteamInputGlyphSize eSize, uint32 unFlags ) = 0; + + // Get a local path to a SVG file for the provided origin's glyph. + virtual const char *GetGlyphSVGForActionOrigin( EInputActionOrigin eOrigin, uint32 unFlags ) = 0; + + // Get a local path to an older, Big Picture Mode-style PNG file for a particular origin + virtual const char *GetGlyphForActionOrigin_Legacy( EInputActionOrigin eOrigin ) = 0; + + // Returns a localized string (from Steam's language setting) for the specified origin. + virtual const char *GetStringForActionOrigin( EInputActionOrigin eOrigin ) = 0; + + // Returns a localized string (from Steam's language setting) for the user-facing action name corresponding to the specified handle + virtual const char *GetStringForAnalogActionName( InputAnalogActionHandle_t eActionHandle ) = 0; + + // Stop analog momentum for the action if it is a mouse action in trackball mode + virtual void StopAnalogActionMomentum( InputHandle_t inputHandle, InputAnalogActionHandle_t eAction ) = 0; + + // Returns raw motion data from the specified device + virtual InputMotionData_t GetMotionData( InputHandle_t inputHandle ) = 0; + + //----------------------------------------------------------------------------- + // OUTPUTS + //----------------------------------------------------------------------------- + + // Trigger a vibration event on supported controllers - Steam will translate these commands into haptic pulses for Steam Controllers + virtual void TriggerVibration( InputHandle_t inputHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed ) = 0; + + // Trigger a vibration event on supported controllers including Xbox trigger impulse rumble - Steam will translate these commands into haptic pulses for Steam Controllers + virtual void TriggerVibrationExtended( InputHandle_t inputHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed, unsigned short usLeftTriggerSpeed, unsigned short usRightTriggerSpeed ) = 0; + + // Send a haptic pulse, works on Steam Deck and Steam Controller devices + virtual void TriggerSimpleHapticEvent( InputHandle_t inputHandle, EControllerHapticLocation eHapticLocation, uint8 nIntensity, char nGainDB, uint8 nOtherIntensity, char nOtherGainDB ) = 0; + + // Set the controller LED color on supported controllers. nFlags is a bitmask of values from ESteamInputLEDFlag - 0 will default to setting a color. Steam will handle + // the behavior on exit of your program so you don't need to try restore the default as you are shutting down + virtual void SetLEDColor( InputHandle_t inputHandle, uint8 nColorR, uint8 nColorG, uint8 nColorB, unsigned int nFlags ) = 0; + + // Trigger a haptic pulse on a Steam Controller - if you are approximating rumble you may want to use TriggerVibration instead. + // Good uses for Haptic pulses include chimes, noises, or directional gameplay feedback (taking damage, footstep locations, etc). + virtual void Legacy_TriggerHapticPulse( InputHandle_t inputHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec ) = 0; + + // Trigger a haptic pulse with a duty cycle of usDurationMicroSec / usOffMicroSec, unRepeat times. If you are approximating rumble you may want to use TriggerVibration instead. + // nFlags is currently unused and reserved for future use. + virtual void Legacy_TriggerRepeatedHapticPulse( InputHandle_t inputHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec, unsigned short usOffMicroSec, unsigned short unRepeat, unsigned int nFlags ) = 0; + + //----------------------------------------------------------------------------- + // Utility functions available without using the rest of Steam Input API + //----------------------------------------------------------------------------- + + // Invokes the Steam overlay and brings up the binding screen if the user is using Big Picture Mode + // If the user is not in Big Picture Mode it will open up the binding in a new window + virtual bool ShowBindingPanel( InputHandle_t inputHandle ) = 0; + + // Returns the input type for a particular handle - unlike EInputActionOrigin which update with Steam and may return unrecognized values + // ESteamInputType will remain static and only return valid values from your SDK version + virtual ESteamInputType GetInputTypeForHandle( InputHandle_t inputHandle ) = 0; + + // Returns the associated controller handle for the specified emulated gamepad - can be used with the above 2 functions + // to identify controllers presented to your game over Xinput. Returns 0 if the Xinput index isn't associated with Steam Input + virtual InputHandle_t GetControllerForGamepadIndex( int nIndex ) = 0; + + // Returns the associated gamepad index for the specified controller, if emulating a gamepad or -1 if not associated with an Xinput index + virtual int GetGamepadIndexForController( InputHandle_t ulinputHandle ) = 0; + + // Returns a localized string (from Steam's language setting) for the specified Xbox controller origin. + virtual const char *GetStringForXboxOrigin( EXboxOrigin eOrigin ) = 0; + + // Get a local path to art for on-screen glyph for a particular Xbox controller origin + virtual const char *GetGlyphForXboxOrigin( EXboxOrigin eOrigin ) = 0; + + // Get the equivalent ActionOrigin for a given Xbox controller origin this can be chained with GetGlyphForActionOrigin to provide future proof glyphs for + // non-Steam Input API action games. Note - this only translates the buttons directly and doesn't take into account any remapping a user has made in their configuration + virtual EInputActionOrigin GetActionOriginFromXboxOrigin( InputHandle_t inputHandle, EXboxOrigin eOrigin ) = 0; + + // Convert an origin to another controller type - for inputs not present on the other controller type this will return k_EInputActionOrigin_None + // When a new input type is added you will be able to pass in k_ESteamInputType_Unknown and the closest origin that your version of the SDK recognized will be returned + // ex: if a Playstation 5 controller was released this function would return Playstation 4 origins. + virtual EInputActionOrigin TranslateActionOrigin( ESteamInputType eDestinationInputType, EInputActionOrigin eSourceOrigin ) = 0; + + // Get the binding revision for a given device. Returns false if the handle was not valid or if a mapping is not yet loaded for the device + virtual bool GetDeviceBindingRevision( InputHandle_t inputHandle, int *pMajor, int *pMinor ) = 0; + + // Get the Steam Remote Play session ID associated with a device, or 0 if there is no session associated with it + // See isteamremoteplay.h for more information on Steam Remote Play sessions + virtual uint32 GetRemotePlaySessionID( InputHandle_t inputHandle ) = 0; + + // Get a bitmask of the Steam Input Configuration types opted in for the current session. Returns ESteamInputConfigurationEnableType values. + // Note: user can override the settings from the Steamworks Partner site so the returned values may not exactly match your default configuration + virtual uint16 GetSessionInputConfigurationSettings() = 0; + + // Set the trigger effect for a DualSense controller + virtual void SetDualSenseTriggerEffect( InputHandle_t inputHandle, const ScePadTriggerEffectParam *pParam ) = 0; +}; + +#define STEAMINPUT_INTERFACE_VERSION "SteamInput006" + +// Global interface accessor +inline ISteamInput *SteamInput(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamInput *, SteamInput, STEAMINPUT_INTERFACE_VERSION ); + +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + +//----------------------------------------------------------------------------- +// Purpose: called when a new controller has been connected, will fire once +// per controller if multiple new controllers connect in the same frame +//----------------------------------------------------------------------------- +struct SteamInputDeviceConnected_t +{ + enum { k_iCallback = k_iSteamControllerCallbacks + 1 }; + InputHandle_t m_ulConnectedDeviceHandle; // Handle for device +}; + +//----------------------------------------------------------------------------- +// Purpose: called when a new controller has been connected, will fire once +// per controller if multiple new controllers connect in the same frame +//----------------------------------------------------------------------------- +struct SteamInputDeviceDisconnected_t +{ + enum { k_iCallback = k_iSteamControllerCallbacks + 2 }; + InputHandle_t m_ulDisconnectedDeviceHandle; // Handle for device +}; + +//----------------------------------------------------------------------------- +// Purpose: called when a controller configuration has been loaded, will fire once +// per controller per focus change for Steam Input enabled controllers +//----------------------------------------------------------------------------- +struct SteamInputConfigurationLoaded_t +{ + enum { k_iCallback = k_iSteamControllerCallbacks + 3 }; + AppId_t m_unAppID; + InputHandle_t m_ulDeviceHandle; // Handle for device + CSteamID m_ulMappingCreator; // May differ from local user when using + // an unmodified community or official config + uint32 m_unMajorRevision; // Binding revision from In-game Action File. + // Same value as queried by GetDeviceBindingRevision + uint32 m_unMinorRevision; + bool m_bUsesSteamInputAPI; // Does the configuration contain any Analog/Digital actions? + bool m_bUsesGamepadAPI; // Does the configuration contain any Xinput bindings? +}; + +//----------------------------------------------------------------------------- +// Purpose: called when controller gamepad slots change - on Linux/macOS these +// slots are shared for all running apps. +//----------------------------------------------------------------------------- +struct SteamInputGamepadSlotChange_t +{ + enum { k_iCallback = k_iSteamControllerCallbacks + 4 }; + AppId_t m_unAppID; + InputHandle_t m_ulDeviceHandle; // Handle for device + ESteamInputType m_eDeviceType; // Type of device + int m_nOldGamepadSlot; // Previous GamepadSlot - can be -1 controller doesn't uses gamepad bindings + int m_nNewGamepadSlot; // New Gamepad Slot - can be -1 controller doesn't uses gamepad bindings +}; + +#pragma pack( pop ) + +#endif // ISTEAMINPUT_H diff --git a/lsteamclient/steamworks_sdk_159x/isteaminventory.h b/lsteamclient/steamworks_sdk_159x/isteaminventory.h new file mode 100644 index 0000000000..7066592078 --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteaminventory.h @@ -0,0 +1,435 @@ +//====== Copyright © 1996-2014 Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to Steam Inventory +// +//============================================================================= + +#ifndef ISTEAMINVENTORY_H +#define ISTEAMINVENTORY_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + + +// Every individual instance of an item has a globally-unique ItemInstanceID. +// This ID is unique to the combination of (player, specific item instance) +// and will not be transferred to another player or re-used for another item. +typedef uint64 SteamItemInstanceID_t; + +static const SteamItemInstanceID_t k_SteamItemInstanceIDInvalid = (SteamItemInstanceID_t)~0; + +// Types of items in your game are identified by a 32-bit "item definition number". +// Valid definition numbers are between 1 and 999999999; numbers less than or equal to +// zero are invalid, and numbers greater than or equal to one billion (1x10^9) are +// reserved for internal Steam use. +typedef int32 SteamItemDef_t; + + +enum ESteamItemFlags +{ + // Item status flags - these flags are permanently attached to specific item instances + k_ESteamItemNoTrade = 1 << 0, // This item is account-locked and cannot be traded or given away. + + // Action confirmation flags - these flags are set one time only, as part of a result set + k_ESteamItemRemoved = 1 << 8, // The item has been destroyed, traded away, expired, or otherwise invalidated + k_ESteamItemConsumed = 1 << 9, // The item quantity has been decreased by 1 via ConsumeItem API. + + // All other flag bits are currently reserved for internal Steam use at this time. + // Do not assume anything about the state of other flags which are not defined here. +}; + +struct SteamItemDetails_t +{ + SteamItemInstanceID_t m_itemId; + SteamItemDef_t m_iDefinition; + uint16 m_unQuantity; + uint16 m_unFlags; // see ESteamItemFlags +}; + +typedef int32 SteamInventoryResult_t; + +static const SteamInventoryResult_t k_SteamInventoryResultInvalid = -1; + +typedef uint64 SteamInventoryUpdateHandle_t; +const SteamInventoryUpdateHandle_t k_SteamInventoryUpdateHandleInvalid = 0xffffffffffffffffull; + +//----------------------------------------------------------------------------- +// Purpose: Steam Inventory query and manipulation API +//----------------------------------------------------------------------------- +class ISteamInventory +{ +public: + + // INVENTORY ASYNC RESULT MANAGEMENT + // + // Asynchronous inventory queries always output a result handle which can be used with + // GetResultStatus, GetResultItems, etc. A SteamInventoryResultReady_t callback will + // be triggered when the asynchronous result becomes ready (or fails). + // + + // Find out the status of an asynchronous inventory result handle. Possible values: + // k_EResultPending - still in progress + // k_EResultOK - done, result ready + // k_EResultExpired - done, result ready, maybe out of date (see DeserializeResult) + // k_EResultInvalidParam - ERROR: invalid API call parameters + // k_EResultServiceUnavailable - ERROR: service temporarily down, you may retry later + // k_EResultLimitExceeded - ERROR: operation would exceed per-user inventory limits + // k_EResultFail - ERROR: unknown / generic error + virtual EResult GetResultStatus( SteamInventoryResult_t resultHandle ) = 0; + + // Copies the contents of a result set into a flat array. The specific + // contents of the result set depend on which query which was used. + virtual bool GetResultItems( SteamInventoryResult_t resultHandle, + STEAM_OUT_ARRAY_COUNT( punOutItemsArraySize,Output array) SteamItemDetails_t *pOutItemsArray, + uint32 *punOutItemsArraySize ) = 0; + + // In combination with GetResultItems, you can use GetResultItemProperty to retrieve + // dynamic string properties for a given item returned in the result set. + // + // Property names are always composed of ASCII letters, numbers, and/or underscores. + // + // Pass a NULL pointer for pchPropertyName to get a comma - separated list of available + // property names. + // + // If pchValueBuffer is NULL, *punValueBufferSize will contain the + // suggested buffer size. Otherwise it will be the number of bytes actually copied + // to pchValueBuffer. If the results do not fit in the given buffer, partial + // results may be copied. + virtual bool GetResultItemProperty( SteamInventoryResult_t resultHandle, + uint32 unItemIndex, + const char *pchPropertyName, + STEAM_OUT_STRING_COUNT( punValueBufferSizeOut ) char *pchValueBuffer, uint32 *punValueBufferSizeOut ) = 0; + + // Returns the server time at which the result was generated. Compare against + // the value of IClientUtils::GetServerRealTime() to determine age. + virtual uint32 GetResultTimestamp( SteamInventoryResult_t resultHandle ) = 0; + + // Returns true if the result belongs to the target steam ID, false if the + // result does not. This is important when using DeserializeResult, to verify + // that a remote player is not pretending to have a different user's inventory. + virtual bool CheckResultSteamID( SteamInventoryResult_t resultHandle, CSteamID steamIDExpected ) = 0; + + // Destroys a result handle and frees all associated memory. + virtual void DestroyResult( SteamInventoryResult_t resultHandle ) = 0; + + + // INVENTORY ASYNC QUERY + // + + // Captures the entire state of the current user's Steam inventory. + // You must call DestroyResult on this handle when you are done with it. + // Returns false and sets *pResultHandle to zero if inventory is unavailable. + // Note: calls to this function are subject to rate limits and may return + // cached results if called too frequently. It is suggested that you call + // this function only when you are about to display the user's full inventory, + // or if you expect that the inventory may have changed. + virtual bool GetAllItems( SteamInventoryResult_t *pResultHandle ) = 0; + + + // Captures the state of a subset of the current user's Steam inventory, + // identified by an array of item instance IDs. The results from this call + // can be serialized and passed to other players to "prove" that the current + // user owns specific items, without exposing the user's entire inventory. + // For example, you could call GetItemsByID with the IDs of the user's + // currently equipped cosmetic items and serialize this to a buffer, and + // then transmit this buffer to other players upon joining a game. + virtual bool GetItemsByID( SteamInventoryResult_t *pResultHandle, STEAM_ARRAY_COUNT( unCountInstanceIDs ) const SteamItemInstanceID_t *pInstanceIDs, uint32 unCountInstanceIDs ) = 0; + + + // RESULT SERIALIZATION AND AUTHENTICATION + // + // Serialized result sets contain a short signature which can't be forged + // or replayed across different game sessions. A result set can be serialized + // on the local client, transmitted to other players via your game networking, + // and deserialized by the remote players. This is a secure way of preventing + // hackers from lying about posessing rare/high-value items. + + // Serializes a result set with signature bytes to an output buffer. Pass + // NULL as an output buffer to get the required size via punOutBufferSize. + // The size of a serialized result depends on the number items which are being + // serialized. When securely transmitting items to other players, it is + // recommended to use "GetItemsByID" first to create a minimal result set. + // Results have a built-in timestamp which will be considered "expired" after + // an hour has elapsed. See DeserializeResult for expiration handling. + virtual bool SerializeResult( SteamInventoryResult_t resultHandle, STEAM_OUT_BUFFER_COUNT(punOutBufferSize) void *pOutBuffer, uint32 *punOutBufferSize ) = 0; + + // Deserializes a result set and verifies the signature bytes. Returns false + // if bRequireFullOnlineVerify is set but Steam is running in Offline mode. + // Otherwise returns true and then delivers error codes via GetResultStatus. + // + // The bRESERVED_MUST_BE_FALSE flag is reserved for future use and should not + // be set to true by your game at this time. + // + // DeserializeResult has a potential soft-failure mode where the handle status + // is set to k_EResultExpired. GetResultItems() still succeeds in this mode. + // The "expired" result could indicate that the data may be out of date - not + // just due to timed expiration (one hour), but also because one of the items + // in the result set may have been traded or consumed since the result set was + // generated. You could compare the timestamp from GetResultTimestamp() to + // ISteamUtils::GetServerRealTime() to determine how old the data is. You could + // simply ignore the "expired" result code and continue as normal, or you + // could challenge the player with expired data to send an updated result set. + virtual bool DeserializeResult( SteamInventoryResult_t *pOutResultHandle, STEAM_BUFFER_COUNT(punOutBufferSize) const void *pBuffer, uint32 unBufferSize, bool bRESERVED_MUST_BE_FALSE = false ) = 0; + + + // INVENTORY ASYNC MODIFICATION + // + + // GenerateItems() creates one or more items and then generates a SteamInventoryCallback_t + // notification with a matching nCallbackContext parameter. This API is only intended + // for prototyping - it is only usable by Steam accounts that belong to the publisher group + // for your game. + // If punArrayQuantity is not NULL, it should be the same length as pArrayItems and should + // describe the quantity of each item to generate. + virtual bool GenerateItems( SteamInventoryResult_t *pResultHandle, STEAM_ARRAY_COUNT(unArrayLength) const SteamItemDef_t *pArrayItemDefs, STEAM_ARRAY_COUNT(unArrayLength) const uint32 *punArrayQuantity, uint32 unArrayLength ) = 0; + + // GrantPromoItems() checks the list of promotional items for which the user may be eligible + // and grants the items (one time only). On success, the result set will include items which + // were granted, if any. If no items were granted because the user isn't eligible for any + // promotions, this is still considered a success. + virtual bool GrantPromoItems( SteamInventoryResult_t *pResultHandle ) = 0; + + // AddPromoItem() / AddPromoItems() are restricted versions of GrantPromoItems(). Instead of + // scanning for all eligible promotional items, the check is restricted to a single item + // definition or set of item definitions. This can be useful if your game has custom UI for + // showing a specific promo item to the user. + virtual bool AddPromoItem( SteamInventoryResult_t *pResultHandle, SteamItemDef_t itemDef ) = 0; + virtual bool AddPromoItems( SteamInventoryResult_t *pResultHandle, STEAM_ARRAY_COUNT(unArrayLength) const SteamItemDef_t *pArrayItemDefs, uint32 unArrayLength ) = 0; + + // ConsumeItem() removes items from the inventory, permanently. They cannot be recovered. + // Not for the faint of heart - if your game implements item removal at all, a high-friction + // UI confirmation process is highly recommended. + virtual bool ConsumeItem( SteamInventoryResult_t *pResultHandle, SteamItemInstanceID_t itemConsume, uint32 unQuantity ) = 0; + + // ExchangeItems() is an atomic combination of item generation and consumption. + // It can be used to implement crafting recipes or transmutations, or items which unpack + // themselves into other items (e.g., a chest). + // Exchange recipes are defined in the ItemDef, and explicitly list the required item + // types and resulting generated type. + // Exchange recipes are evaluated atomically by the Inventory Service; if the supplied + // components do not match the recipe, or do not contain sufficient quantity, the + // exchange will fail. + virtual bool ExchangeItems( SteamInventoryResult_t *pResultHandle, + STEAM_ARRAY_COUNT(unArrayGenerateLength) const SteamItemDef_t *pArrayGenerate, STEAM_ARRAY_COUNT(unArrayGenerateLength) const uint32 *punArrayGenerateQuantity, uint32 unArrayGenerateLength, + STEAM_ARRAY_COUNT(unArrayDestroyLength) const SteamItemInstanceID_t *pArrayDestroy, STEAM_ARRAY_COUNT(unArrayDestroyLength) const uint32 *punArrayDestroyQuantity, uint32 unArrayDestroyLength ) = 0; + + + // TransferItemQuantity() is intended for use with items which are "stackable" (can have + // quantity greater than one). It can be used to split a stack into two, or to transfer + // quantity from one stack into another stack of identical items. To split one stack into + // two, pass k_SteamItemInstanceIDInvalid for itemIdDest and a new item will be generated. + virtual bool TransferItemQuantity( SteamInventoryResult_t *pResultHandle, SteamItemInstanceID_t itemIdSource, uint32 unQuantity, SteamItemInstanceID_t itemIdDest ) = 0; + + + // TIMED DROPS AND PLAYTIME CREDIT + // + + // Deprecated. Calling this method is not required for proper playtime accounting. + virtual void SendItemDropHeartbeat() = 0; + + // Playtime credit must be consumed and turned into item drops by your game. Only item + // definitions which are marked as "playtime item generators" can be spawned. The call + // will return an empty result set if there is not enough playtime credit for a drop. + // Your game should call TriggerItemDrop at an appropriate time for the user to receive + // new items, such as between rounds or while the player is dead. Note that players who + // hack their clients could modify the value of "dropListDefinition", so do not use it + // to directly control rarity. + // See your Steamworks configuration to set playtime drop rates for individual itemdefs. + // The client library will suppress too-frequent calls to this method. + virtual bool TriggerItemDrop( SteamInventoryResult_t *pResultHandle, SteamItemDef_t dropListDefinition ) = 0; + + + // Deprecated. This method is not supported. + virtual bool TradeItems( SteamInventoryResult_t *pResultHandle, CSteamID steamIDTradePartner, + STEAM_ARRAY_COUNT(nArrayGiveLength) const SteamItemInstanceID_t *pArrayGive, STEAM_ARRAY_COUNT(nArrayGiveLength) const uint32 *pArrayGiveQuantity, uint32 nArrayGiveLength, + STEAM_ARRAY_COUNT(nArrayGetLength) const SteamItemInstanceID_t *pArrayGet, STEAM_ARRAY_COUNT(nArrayGetLength) const uint32 *pArrayGetQuantity, uint32 nArrayGetLength ) = 0; + + + // ITEM DEFINITIONS + // + // Item definitions are a mapping of "definition IDs" (integers between 1 and 1000000) + // to a set of string properties. Some of these properties are required to display items + // on the Steam community web site. Other properties can be defined by applications. + // Use of these functions is optional; there is no reason to call LoadItemDefinitions + // if your game hardcodes the numeric definition IDs (eg, purple face mask = 20, blue + // weapon mod = 55) and does not allow for adding new item types without a client patch. + // + + // LoadItemDefinitions triggers the automatic load and refresh of item definitions. + // Every time new item definitions are available (eg, from the dynamic addition of new + // item types while players are still in-game), a SteamInventoryDefinitionUpdate_t + // callback will be fired. + virtual bool LoadItemDefinitions() = 0; + + // GetItemDefinitionIDs returns the set of all defined item definition IDs (which are + // defined via Steamworks configuration, and not necessarily contiguous integers). + // If pItemDefIDs is null, the call will return true and *punItemDefIDsArraySize will + // contain the total size necessary for a subsequent call. Otherwise, the call will + // return false if and only if there is not enough space in the output array. + virtual bool GetItemDefinitionIDs( + STEAM_OUT_ARRAY_COUNT(punItemDefIDsArraySize,List of item definition IDs) SteamItemDef_t *pItemDefIDs, + STEAM_DESC(Size of array is passed in and actual size used is returned in this param) uint32 *punItemDefIDsArraySize ) = 0; + + // GetItemDefinitionProperty returns a string property from a given item definition. + // Note that some properties (for example, "name") may be localized and will depend + // on the current Steam language settings (see ISteamApps::GetCurrentGameLanguage). + // Property names are always composed of ASCII letters, numbers, and/or underscores. + // Pass a NULL pointer for pchPropertyName to get a comma - separated list of available + // property names. If pchValueBuffer is NULL, *punValueBufferSize will contain the + // suggested buffer size. Otherwise it will be the number of bytes actually copied + // to pchValueBuffer. If the results do not fit in the given buffer, partial + // results may be copied. + virtual bool GetItemDefinitionProperty( SteamItemDef_t iDefinition, const char *pchPropertyName, + STEAM_OUT_STRING_COUNT(punValueBufferSizeOut) char *pchValueBuffer, uint32 *punValueBufferSizeOut ) = 0; + + // Request the list of "eligible" promo items that can be manually granted to the given + // user. These are promo items of type "manual" that won't be granted automatically. + // An example usage of this is an item that becomes available every week. + STEAM_CALL_RESULT( SteamInventoryEligiblePromoItemDefIDs_t ) + virtual SteamAPICall_t RequestEligiblePromoItemDefinitionsIDs( CSteamID steamID ) = 0; + + // After handling a SteamInventoryEligiblePromoItemDefIDs_t call result, use this + // function to pull out the list of item definition ids that the user can be + // manually granted via the AddPromoItems() call. + virtual bool GetEligiblePromoItemDefinitionIDs( + CSteamID steamID, + STEAM_OUT_ARRAY_COUNT(punItemDefIDsArraySize,List of item definition IDs) SteamItemDef_t *pItemDefIDs, + STEAM_DESC(Size of array is passed in and actual size used is returned in this param) uint32 *punItemDefIDsArraySize ) = 0; + + // Starts the purchase process for the given item definitions. The callback SteamInventoryStartPurchaseResult_t + // will be posted if Steam was able to initialize the transaction. + // + // Once the purchase has been authorized and completed by the user, the callback SteamInventoryResultReady_t + // will be posted. + STEAM_CALL_RESULT( SteamInventoryStartPurchaseResult_t ) + virtual SteamAPICall_t StartPurchase( STEAM_ARRAY_COUNT(unArrayLength) const SteamItemDef_t *pArrayItemDefs, STEAM_ARRAY_COUNT(unArrayLength) const uint32 *punArrayQuantity, uint32 unArrayLength ) = 0; + + // Request current prices for all applicable item definitions + STEAM_CALL_RESULT( SteamInventoryRequestPricesResult_t ) + virtual SteamAPICall_t RequestPrices() = 0; + + // Returns the number of items with prices. Need to call RequestPrices() first. + virtual uint32 GetNumItemsWithPrices() = 0; + + // Returns item definition ids and their prices in the user's local currency. + // Need to call RequestPrices() first. + virtual bool GetItemsWithPrices( STEAM_ARRAY_COUNT(unArrayLength) STEAM_OUT_ARRAY_COUNT(pArrayItemDefs, Items with prices) SteamItemDef_t *pArrayItemDefs, + STEAM_ARRAY_COUNT(unArrayLength) STEAM_OUT_ARRAY_COUNT(pPrices, List of prices for the given item defs) uint64 *pCurrentPrices, + STEAM_ARRAY_COUNT(unArrayLength) STEAM_OUT_ARRAY_COUNT(pPrices, List of prices for the given item defs) uint64 *pBasePrices, + uint32 unArrayLength ) = 0; + + // Retrieves the price for the item definition id + // Returns false if there is no price stored for the item definition. + virtual bool GetItemPrice( SteamItemDef_t iDefinition, uint64 *pCurrentPrice, uint64 *pBasePrice ) = 0; + + // Create a request to update properties on items + virtual SteamInventoryUpdateHandle_t StartUpdateProperties() = 0; + // Remove the property on the item + virtual bool RemoveProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName ) = 0; + // Accessor methods to set properties on items + + STEAM_FLAT_NAME( SetPropertyString ) + virtual bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, const char *pchPropertyValue ) = 0; + + STEAM_FLAT_NAME( SetPropertyBool ) + virtual bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, bool bValue ) = 0; + + STEAM_FLAT_NAME( SetPropertyInt64 ) + virtual bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, int64 nValue ) = 0; + + STEAM_FLAT_NAME( SetPropertyFloat ) + virtual bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, float flValue ) = 0; + + // Submit the update request by handle + virtual bool SubmitUpdateProperties( SteamInventoryUpdateHandle_t handle, SteamInventoryResult_t * pResultHandle ) = 0; + + virtual bool InspectItem( SteamInventoryResult_t *pResultHandle, const char *pchItemToken ) = 0; +}; + +#define STEAMINVENTORY_INTERFACE_VERSION "STEAMINVENTORY_INTERFACE_V003" + +// Global interface accessor +inline ISteamInventory *SteamInventory(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamInventory *, SteamInventory, STEAMINVENTORY_INTERFACE_VERSION ); + +// Global accessor for the gameserver client +inline ISteamInventory *SteamGameServerInventory(); +STEAM_DEFINE_GAMESERVER_INTERFACE_ACCESSOR( ISteamInventory *, SteamGameServerInventory, STEAMINVENTORY_INTERFACE_VERSION ); + +// SteamInventoryResultReady_t callbacks are fired whenever asynchronous +// results transition from "Pending" to "OK" or an error state. There will +// always be exactly one callback per handle. +struct SteamInventoryResultReady_t +{ + enum { k_iCallback = k_iSteamInventoryCallbacks + 0 }; + SteamInventoryResult_t m_handle; + EResult m_result; +}; + + +// SteamInventoryFullUpdate_t callbacks are triggered when GetAllItems +// successfully returns a result which is newer / fresher than the last +// known result. (It will not trigger if the inventory hasn't changed, +// or if results from two overlapping calls are reversed in flight and +// the earlier result is already known to be stale/out-of-date.) +// The normal ResultReady callback will still be triggered immediately +// afterwards; this is an additional notification for your convenience. +struct SteamInventoryFullUpdate_t +{ + enum { k_iCallback = k_iSteamInventoryCallbacks + 1 }; + SteamInventoryResult_t m_handle; +}; + + +// A SteamInventoryDefinitionUpdate_t callback is triggered whenever +// item definitions have been updated, which could be in response to +// LoadItemDefinitions() or any other async request which required +// a definition update in order to process results from the server. +struct SteamInventoryDefinitionUpdate_t +{ + enum { k_iCallback = k_iSteamInventoryCallbacks + 2 }; +}; + +// Returned +struct SteamInventoryEligiblePromoItemDefIDs_t +{ + enum { k_iCallback = k_iSteamInventoryCallbacks + 3 }; + EResult m_result; + CSteamID m_steamID; + int m_numEligiblePromoItemDefs; + bool m_bCachedData; // indicates that the data was retrieved from the cache and not the server +}; + +// Triggered from StartPurchase call +struct SteamInventoryStartPurchaseResult_t +{ + enum { k_iCallback = k_iSteamInventoryCallbacks + 4 }; + EResult m_result; + uint64 m_ulOrderID; + uint64 m_ulTransID; +}; + + +// Triggered from RequestPrices +struct SteamInventoryRequestPricesResult_t +{ + enum { k_iCallback = k_iSteamInventoryCallbacks + 5 }; + EResult m_result; + char m_rgchCurrency[4]; +}; + +#pragma pack( pop ) + + +#endif // ISTEAMCONTROLLER_H diff --git a/lsteamclient/steamworks_sdk_159x/isteammatchmaking.h b/lsteamclient/steamworks_sdk_159x/isteammatchmaking.h new file mode 100644 index 0000000000..12189c72b1 --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteammatchmaking.h @@ -0,0 +1,1087 @@ +//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to steam managing game server/client match making +// +//============================================================================= + +#ifndef ISTEAMMATCHMAKING +#define ISTEAMMATCHMAKING +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" +#include "matchmakingtypes.h" +#include "isteamfriends.h" + +// lobby type description +enum ELobbyType +{ + k_ELobbyTypePrivate = 0, // only way to join the lobby is to invite to someone else + k_ELobbyTypeFriendsOnly = 1, // shows for friends or invitees, but not in lobby list + k_ELobbyTypePublic = 2, // visible for friends and in lobby list + k_ELobbyTypeInvisible = 3, // returned by search, but not visible to other friends + // useful if you want a user in two lobbies, for example matching groups together + // a user can be in only one regular lobby, and up to two invisible lobbies + k_ELobbyTypePrivateUnique = 4, // private, unique and does not delete when empty - only one of these may exist per unique keypair set + // can only create from webapi +}; + +// lobby search filter tools +enum ELobbyComparison +{ + k_ELobbyComparisonEqualToOrLessThan = -2, + k_ELobbyComparisonLessThan = -1, + k_ELobbyComparisonEqual = 0, + k_ELobbyComparisonGreaterThan = 1, + k_ELobbyComparisonEqualToOrGreaterThan = 2, + k_ELobbyComparisonNotEqual = 3, +}; + +// lobby search distance. Lobby results are sorted from closest to farthest. +enum ELobbyDistanceFilter +{ + k_ELobbyDistanceFilterClose, // only lobbies in the same immediate region will be returned + k_ELobbyDistanceFilterDefault, // only lobbies in the same region or near by regions + k_ELobbyDistanceFilterFar, // for games that don't have many latency requirements, will return lobbies about half-way around the globe + k_ELobbyDistanceFilterWorldwide, // no filtering, will match lobbies as far as India to NY (not recommended, expect multiple seconds of latency between the clients) +}; + +// maximum number of characters a lobby metadata key can be +#define k_nMaxLobbyKeyLength 255 + +//----------------------------------------------------------------------------- +// Purpose: Functions for match making services for clients to get to favorites +// and to operate on game lobbies. +//----------------------------------------------------------------------------- +class ISteamMatchmaking +{ +public: + // game server favorites storage + // saves basic details about a multiplayer game server locally + + // returns the number of favorites servers the user has stored + virtual int GetFavoriteGameCount() = 0; + + // returns the details of the game server + // iGame is of range [0,GetFavoriteGameCount()) + // *pnIP, *pnConnPort are filled in the with IP:port of the game server + // *punFlags specify whether the game server was stored as an explicit favorite or in the history of connections + // *pRTime32LastPlayedOnServer is filled in the with the Unix time the favorite was added + virtual bool GetFavoriteGame( int iGame, AppId_t *pnAppID, uint32 *pnIP, uint16 *pnConnPort, uint16 *pnQueryPort, uint32 *punFlags, uint32 *pRTime32LastPlayedOnServer ) = 0; + + // adds the game server to the local list; updates the time played of the server if it already exists in the list + virtual int AddFavoriteGame( AppId_t nAppID, uint32 nIP, uint16 nConnPort, uint16 nQueryPort, uint32 unFlags, uint32 rTime32LastPlayedOnServer ) = 0; + + // removes the game server from the local storage; returns true if one was removed + virtual bool RemoveFavoriteGame( AppId_t nAppID, uint32 nIP, uint16 nConnPort, uint16 nQueryPort, uint32 unFlags ) = 0; + + /////// + // Game lobby functions + + // Get a list of relevant lobbies + // this is an asynchronous request + // results will be returned by LobbyMatchList_t callback & call result, with the number of lobbies found + // this will never return lobbies that are full + // to add more filter, the filter calls below need to be call before each and every RequestLobbyList() call + // use the CCallResult<> object in steam_api.h to match the SteamAPICall_t call result to a function in an object, e.g. + /* + class CMyLobbyListManager + { + CCallResult m_CallResultLobbyMatchList; + void FindLobbies() + { + // SteamMatchmaking()->AddRequestLobbyListFilter*() functions would be called here, before RequestLobbyList() + SteamAPICall_t hSteamAPICall = SteamMatchmaking()->RequestLobbyList(); + m_CallResultLobbyMatchList.Set( hSteamAPICall, this, &CMyLobbyListManager::OnLobbyMatchList ); + } + + void OnLobbyMatchList( LobbyMatchList_t *pLobbyMatchList, bool bIOFailure ) + { + // lobby list has be retrieved from Steam back-end, use results + } + } + */ + // + STEAM_CALL_RESULT( LobbyMatchList_t ) + virtual SteamAPICall_t RequestLobbyList() = 0; + // filters for lobbies + // this needs to be called before RequestLobbyList() to take effect + // these are cleared on each call to RequestLobbyList() + virtual void AddRequestLobbyListStringFilter( const char *pchKeyToMatch, const char *pchValueToMatch, ELobbyComparison eComparisonType ) = 0; + // numerical comparison + virtual void AddRequestLobbyListNumericalFilter( const char *pchKeyToMatch, int nValueToMatch, ELobbyComparison eComparisonType ) = 0; + // returns results closest to the specified value. Multiple near filters can be added, with early filters taking precedence + virtual void AddRequestLobbyListNearValueFilter( const char *pchKeyToMatch, int nValueToBeCloseTo ) = 0; + // returns only lobbies with the specified number of slots available + virtual void AddRequestLobbyListFilterSlotsAvailable( int nSlotsAvailable ) = 0; + // sets the distance for which we should search for lobbies (based on users IP address to location map on the Steam backed) + virtual void AddRequestLobbyListDistanceFilter( ELobbyDistanceFilter eLobbyDistanceFilter ) = 0; + // sets how many results to return, the lower the count the faster it is to download the lobby results & details to the client + virtual void AddRequestLobbyListResultCountFilter( int cMaxResults ) = 0; + + virtual void AddRequestLobbyListCompatibleMembersFilter( CSteamID steamIDLobby ) = 0; + + // returns the CSteamID of a lobby, as retrieved by a RequestLobbyList call + // should only be called after a LobbyMatchList_t callback is received + // iLobby is of the range [0, LobbyMatchList_t::m_nLobbiesMatching) + // the returned CSteamID::IsValid() will be false if iLobby is out of range + virtual CSteamID GetLobbyByIndex( int iLobby ) = 0; + + // Create a lobby on the Steam servers. + // If private, then the lobby will not be returned by any RequestLobbyList() call; the CSteamID + // of the lobby will need to be communicated via game channels or via InviteUserToLobby() + // this is an asynchronous request + // results will be returned by LobbyCreated_t callback and call result; lobby is joined & ready to use at this point + // a LobbyEnter_t callback will also be received (since the local user is joining their own lobby) + STEAM_CALL_RESULT( LobbyCreated_t ) + virtual SteamAPICall_t CreateLobby( ELobbyType eLobbyType, int cMaxMembers ) = 0; + + // Joins an existing lobby + // this is an asynchronous request + // results will be returned by LobbyEnter_t callback & call result, check m_EChatRoomEnterResponse to see if was successful + // lobby metadata is available to use immediately on this call completing + STEAM_CALL_RESULT( LobbyEnter_t ) + virtual SteamAPICall_t JoinLobby( CSteamID steamIDLobby ) = 0; + + // Leave a lobby; this will take effect immediately on the client side + // other users in the lobby will be notified by a LobbyChatUpdate_t callback + virtual void LeaveLobby( CSteamID steamIDLobby ) = 0; + + // Invite another user to the lobby + // the target user will receive a LobbyInvite_t callback + // will return true if the invite is successfully sent, whether or not the target responds + // returns false if the local user is not connected to the Steam servers + // if the other user clicks the join link, a GameLobbyJoinRequested_t will be posted if the user is in-game, + // or if the game isn't running yet the game will be launched with the parameter +connect_lobby <64-bit lobby id> + virtual bool InviteUserToLobby( CSteamID steamIDLobby, CSteamID steamIDInvitee ) = 0; + + // Lobby iteration, for viewing details of users in a lobby + // only accessible if the lobby user is a member of the specified lobby + // persona information for other lobby members (name, avatar, etc.) will be asynchronously received + // and accessible via ISteamFriends interface + + // returns the number of users in the specified lobby + virtual int GetNumLobbyMembers( CSteamID steamIDLobby ) = 0; + // returns the CSteamID of a user in the lobby + // iMember is of range [0,GetNumLobbyMembers()) + // note that the current user must be in a lobby to retrieve CSteamIDs of other users in that lobby + virtual CSteamID GetLobbyMemberByIndex( CSteamID steamIDLobby, int iMember ) = 0; + + // Get data associated with this lobby + // takes a simple key, and returns the string associated with it + // "" will be returned if no value is set, or if steamIDLobby is invalid + virtual const char *GetLobbyData( CSteamID steamIDLobby, const char *pchKey ) = 0; + // Sets a key/value pair in the lobby metadata + // each user in the lobby will be broadcast this new value, and any new users joining will receive any existing data + // this can be used to set lobby names, map, etc. + // to reset a key, just set it to "" + // other users in the lobby will receive notification of the lobby data change via a LobbyDataUpdate_t callback + virtual bool SetLobbyData( CSteamID steamIDLobby, const char *pchKey, const char *pchValue ) = 0; + + // returns the number of metadata keys set on the specified lobby + virtual int GetLobbyDataCount( CSteamID steamIDLobby ) = 0; + + // returns a lobby metadata key/values pair by index, of range [0, GetLobbyDataCount()) + virtual bool GetLobbyDataByIndex( CSteamID steamIDLobby, int iLobbyData, char *pchKey, int cchKeyBufferSize, char *pchValue, int cchValueBufferSize ) = 0; + + // removes a metadata key from the lobby + virtual bool DeleteLobbyData( CSteamID steamIDLobby, const char *pchKey ) = 0; + + // Gets per-user metadata for someone in this lobby + virtual const char *GetLobbyMemberData( CSteamID steamIDLobby, CSteamID steamIDUser, const char *pchKey ) = 0; + // Sets per-user metadata (for the local user implicitly) + virtual void SetLobbyMemberData( CSteamID steamIDLobby, const char *pchKey, const char *pchValue ) = 0; + + // Broadcasts a chat message to the all the users in the lobby + // users in the lobby (including the local user) will receive a LobbyChatMsg_t callback + // returns true if the message is successfully sent + // pvMsgBody can be binary or text data, up to 4k + // if pvMsgBody is text, cubMsgBody should be strlen( text ) + 1, to include the null terminator + virtual bool SendLobbyChatMsg( CSteamID steamIDLobby, const void *pvMsgBody, int cubMsgBody ) = 0; + // Get a chat message as specified in a LobbyChatMsg_t callback + // iChatID is the LobbyChatMsg_t::m_iChatID value in the callback + // *pSteamIDUser is filled in with the CSteamID of the member + // *pvData is filled in with the message itself + // return value is the number of bytes written into the buffer + virtual int GetLobbyChatEntry( CSteamID steamIDLobby, int iChatID, STEAM_OUT_STRUCT() CSteamID *pSteamIDUser, void *pvData, int cubData, EChatEntryType *peChatEntryType ) = 0; + + // Refreshes metadata for a lobby you're not necessarily in right now + // you never do this for lobbies you're a member of, only if your + // this will send down all the metadata associated with a lobby + // this is an asynchronous call + // returns false if the local user is not connected to the Steam servers + // results will be returned by a LobbyDataUpdate_t callback + // if the specified lobby doesn't exist, LobbyDataUpdate_t::m_bSuccess will be set to false + virtual bool RequestLobbyData( CSteamID steamIDLobby ) = 0; + + // sets the game server associated with the lobby + // usually at this point, the users will join the specified game server + // either the IP/Port or the steamID of the game server has to be valid, depending on how you want the clients to be able to connect + virtual void SetLobbyGameServer( CSteamID steamIDLobby, uint32 unGameServerIP, uint16 unGameServerPort, CSteamID steamIDGameServer ) = 0; + // returns the details of a game server set in a lobby - returns false if there is no game server set, or that lobby doesn't exist + virtual bool GetLobbyGameServer( CSteamID steamIDLobby, uint32 *punGameServerIP, uint16 *punGameServerPort, STEAM_OUT_STRUCT() CSteamID *psteamIDGameServer ) = 0; + + // set the limit on the # of users who can join the lobby + virtual bool SetLobbyMemberLimit( CSteamID steamIDLobby, int cMaxMembers ) = 0; + // returns the current limit on the # of users who can join the lobby; returns 0 if no limit is defined + virtual int GetLobbyMemberLimit( CSteamID steamIDLobby ) = 0; + + // updates which type of lobby it is + // only lobbies that are k_ELobbyTypePublic or k_ELobbyTypeInvisible, and are set to joinable, will be returned by RequestLobbyList() calls + virtual bool SetLobbyType( CSteamID steamIDLobby, ELobbyType eLobbyType ) = 0; + + // sets whether or not a lobby is joinable - defaults to true for a new lobby + // if set to false, no user can join, even if they are a friend or have been invited + virtual bool SetLobbyJoinable( CSteamID steamIDLobby, bool bLobbyJoinable ) = 0; + + // returns the current lobby owner + // you must be a member of the lobby to access this + // there always one lobby owner - if the current owner leaves, another user will become the owner + // it is possible (bur rare) to join a lobby just as the owner is leaving, thus entering a lobby with self as the owner + virtual CSteamID GetLobbyOwner( CSteamID steamIDLobby ) = 0; + + // changes who the lobby owner is + // you must be the lobby owner for this to succeed, and steamIDNewOwner must be in the lobby + // after completion, the local user will no longer be the owner + virtual bool SetLobbyOwner( CSteamID steamIDLobby, CSteamID steamIDNewOwner ) = 0; + + // link two lobbies for the purposes of checking player compatibility + // you must be the lobby owner of both lobbies + virtual bool SetLinkedLobby( CSteamID steamIDLobby, CSteamID steamIDLobbyDependent ) = 0; + +#ifdef _PS3 + // changes who the lobby owner is + // you must be the lobby owner for this to succeed, and steamIDNewOwner must be in the lobby + // after completion, the local user will no longer be the owner + virtual void CheckForPSNGameBootInvite( unsigned int iGameBootAttributes ) = 0; +#endif +}; +#define STEAMMATCHMAKING_INTERFACE_VERSION "SteamMatchMaking009" + +// Global interface accessor +inline ISteamMatchmaking *SteamMatchmaking(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamMatchmaking *, SteamMatchmaking, STEAMMATCHMAKING_INTERFACE_VERSION ); + +//----------------------------------------------------------------------------- +// Callback interfaces for server list functions (see ISteamMatchmakingServers below) +// +// The idea here is that your game code implements objects that implement these +// interfaces to receive callback notifications after calling asynchronous functions +// inside the ISteamMatchmakingServers() interface below. +// +// This is different than normal Steam callback handling due to the potentially +// large size of server lists. +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// Typedef for handle type you will receive when requesting server list. +//----------------------------------------------------------------------------- +typedef void* HServerListRequest; + +//----------------------------------------------------------------------------- +// Purpose: Callback interface for receiving responses after a server list refresh +// or an individual server update. +// +// Since you get these callbacks after requesting full list refreshes you will +// usually implement this interface inside an object like CServerBrowser. If that +// object is getting destructed you should use ISteamMatchMakingServers()->CancelQuery() +// to cancel any in-progress queries so you don't get a callback into the destructed +// object and crash. +//----------------------------------------------------------------------------- +class ISteamMatchmakingServerListResponse +{ +public: + // Server has responded ok with updated data + virtual void ServerResponded( HServerListRequest hRequest, int iServer ) = 0; + + // Server has failed to respond + virtual void ServerFailedToRespond( HServerListRequest hRequest, int iServer ) = 0; + + // A list refresh you had initiated is now 100% completed + virtual void RefreshComplete( HServerListRequest hRequest, EMatchMakingServerResponse response ) = 0; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Callback interface for receiving responses after pinging an individual server +// +// These callbacks all occur in response to querying an individual server +// via the ISteamMatchmakingServers()->PingServer() call below. If you are +// destructing an object that implements this interface then you should call +// ISteamMatchmakingServers()->CancelServerQuery() passing in the handle to the query +// which is in progress. Failure to cancel in progress queries when destructing +// a callback handler may result in a crash when a callback later occurs. +//----------------------------------------------------------------------------- +class ISteamMatchmakingPingResponse +{ +public: + // Server has responded successfully and has updated data + virtual void ServerResponded( gameserveritem_t &server ) = 0; + + // Server failed to respond to the ping request + virtual void ServerFailedToRespond() = 0; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Callback interface for receiving responses after requesting details on +// who is playing on a particular server. +// +// These callbacks all occur in response to querying an individual server +// via the ISteamMatchmakingServers()->PlayerDetails() call below. If you are +// destructing an object that implements this interface then you should call +// ISteamMatchmakingServers()->CancelServerQuery() passing in the handle to the query +// which is in progress. Failure to cancel in progress queries when destructing +// a callback handler may result in a crash when a callback later occurs. +//----------------------------------------------------------------------------- +class ISteamMatchmakingPlayersResponse +{ +public: + // Got data on a new player on the server -- you'll get this callback once per player + // on the server which you have requested player data on. + virtual void AddPlayerToList( const char *pchName, int nScore, float flTimePlayed ) = 0; + + // The server failed to respond to the request for player details + virtual void PlayersFailedToRespond() = 0; + + // The server has finished responding to the player details request + // (ie, you won't get anymore AddPlayerToList callbacks) + virtual void PlayersRefreshComplete() = 0; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Callback interface for receiving responses after requesting rules +// details on a particular server. +// +// These callbacks all occur in response to querying an individual server +// via the ISteamMatchmakingServers()->ServerRules() call below. If you are +// destructing an object that implements this interface then you should call +// ISteamMatchmakingServers()->CancelServerQuery() passing in the handle to the query +// which is in progress. Failure to cancel in progress queries when destructing +// a callback handler may result in a crash when a callback later occurs. +//----------------------------------------------------------------------------- +class ISteamMatchmakingRulesResponse +{ +public: + // Got data on a rule on the server -- you'll get one of these per rule defined on + // the server you are querying + virtual void RulesResponded( const char *pchRule, const char *pchValue ) = 0; + + // The server failed to respond to the request for rule details + virtual void RulesFailedToRespond() = 0; + + // The server has finished responding to the rule details request + // (ie, you won't get anymore RulesResponded callbacks) + virtual void RulesRefreshComplete() = 0; +}; + + +//----------------------------------------------------------------------------- +// Typedef for handle type you will receive when querying details on an individual server. +//----------------------------------------------------------------------------- +typedef int HServerQuery; +const int HSERVERQUERY_INVALID = 0xffffffff; + +//----------------------------------------------------------------------------- +// Purpose: Functions for match making services for clients to get to game lists and details +//----------------------------------------------------------------------------- +class ISteamMatchmakingServers +{ +public: + // Request a new list of servers of a particular type. These calls each correspond to one of the EMatchMakingType values. + // Each call allocates a new asynchronous request object. + // Request object must be released by calling ReleaseRequest( hServerListRequest ) + virtual HServerListRequest RequestInternetServerList( AppId_t iApp, STEAM_ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse ) = 0; + virtual HServerListRequest RequestLANServerList( AppId_t iApp, ISteamMatchmakingServerListResponse *pRequestServersResponse ) = 0; + virtual HServerListRequest RequestFriendsServerList( AppId_t iApp, STEAM_ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse ) = 0; + virtual HServerListRequest RequestFavoritesServerList( AppId_t iApp, STEAM_ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse ) = 0; + virtual HServerListRequest RequestHistoryServerList( AppId_t iApp, STEAM_ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse ) = 0; + virtual HServerListRequest RequestSpectatorServerList( AppId_t iApp, STEAM_ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse ) = 0; + + // Releases the asynchronous request object and cancels any pending query on it if there's a pending query in progress. + // RefreshComplete callback is not posted when request is released. + virtual void ReleaseRequest( HServerListRequest hServerListRequest ) = 0; + + /* the filter operation codes that go in the key part of MatchMakingKeyValuePair_t should be one of these: + + "map" + - Server passes the filter if the server is playing the specified map. + "gamedataand" + - Server passes the filter if the server's game data (ISteamGameServer::SetGameData) contains all of the + specified strings. The value field is a comma-delimited list of strings to match. + "gamedataor" + - Server passes the filter if the server's game data (ISteamGameServer::SetGameData) contains at least one of the + specified strings. The value field is a comma-delimited list of strings to match. + "gamedatanor" + - Server passes the filter if the server's game data (ISteamGameServer::SetGameData) does not contain any + of the specified strings. The value field is a comma-delimited list of strings to check. + "gametagsand" + - Server passes the filter if the server's game tags (ISteamGameServer::SetGameTags) contains all + of the specified strings. The value field is a comma-delimited list of strings to check. + "gametagsnor" + - Server passes the filter if the server's game tags (ISteamGameServer::SetGameTags) does not contain any + of the specified strings. The value field is a comma-delimited list of strings to check. + "and" (x1 && x2 && ... && xn) + "or" (x1 || x2 || ... || xn) + "nand" !(x1 && x2 && ... && xn) + "nor" !(x1 || x2 || ... || xn) + - Performs Boolean operation on the following filters. The operand to this filter specifies + the "size" of the Boolean inputs to the operation, in Key/value pairs. (The keyvalue + pairs must immediately follow, i.e. this is a prefix logical operator notation.) + In the simplest case where Boolean expressions are not nested, this is simply + the number of operands. + + For example, to match servers on a particular map or with a particular tag, would would + use these filters. + + ( server.map == "cp_dustbowl" || server.gametags.contains("payload") ) + "or", "2" + "map", "cp_dustbowl" + "gametagsand", "payload" + + If logical inputs are nested, then the operand specifies the size of the entire + "length" of its operands, not the number of immediate children. + + ( server.map == "cp_dustbowl" || ( server.gametags.contains("payload") && !server.gametags.contains("payloadrace") ) ) + "or", "4" + "map", "cp_dustbowl" + "and", "2" + "gametagsand", "payload" + "gametagsnor", "payloadrace" + + Unary NOT can be achieved using either "nand" or "nor" with a single operand. + + "addr" + - Server passes the filter if the server's query address matches the specified IP or IP:port. + "gameaddr" + - Server passes the filter if the server's game address matches the specified IP or IP:port. + + The following filter operations ignore the "value" part of MatchMakingKeyValuePair_t + + "dedicated" + - Server passes the filter if it passed true to SetDedicatedServer. + "secure" + - Server passes the filter if the server is VAC-enabled. + "notfull" + - Server passes the filter if the player count is less than the reported max player count. + "hasplayers" + - Server passes the filter if the player count is greater than zero. + "noplayers" + - Server passes the filter if it doesn't have any players. + "linux" + - Server passes the filter if it's a linux server + */ + + // Get details on a given server in the list, you can get the valid range of index + // values by calling GetServerCount(). You will also receive index values in + // ISteamMatchmakingServerListResponse::ServerResponded() callbacks + virtual gameserveritem_t *GetServerDetails( HServerListRequest hRequest, int iServer ) = 0; + + // Cancel an request which is operation on the given list type. You should call this to cancel + // any in-progress requests before destructing a callback object that may have been passed + // to one of the above list request calls. Not doing so may result in a crash when a callback + // occurs on the destructed object. + // Canceling a query does not release the allocated request handle. + // The request handle must be released using ReleaseRequest( hRequest ) + virtual void CancelQuery( HServerListRequest hRequest ) = 0; + + // Ping every server in your list again but don't update the list of servers + // Query callback installed when the server list was requested will be used + // again to post notifications and RefreshComplete, so the callback must remain + // valid until another RefreshComplete is called on it or the request + // is released with ReleaseRequest( hRequest ) + virtual void RefreshQuery( HServerListRequest hRequest ) = 0; + + // Returns true if the list is currently refreshing its server list + virtual bool IsRefreshing( HServerListRequest hRequest ) = 0; + + // How many servers in the given list, GetServerDetails above takes 0... GetServerCount() - 1 + virtual int GetServerCount( HServerListRequest hRequest ) = 0; + + // Refresh a single server inside of a query (rather than all the servers ) + virtual void RefreshServer( HServerListRequest hRequest, int iServer ) = 0; + + + //----------------------------------------------------------------------------- + // Queries to individual servers directly via IP/Port + //----------------------------------------------------------------------------- + + // Request updated ping time and other details from a single server + virtual HServerQuery PingServer( uint32 unIP, uint16 usPort, ISteamMatchmakingPingResponse *pRequestServersResponse ) = 0; + + // Request the list of players currently playing on a server + virtual HServerQuery PlayerDetails( uint32 unIP, uint16 usPort, ISteamMatchmakingPlayersResponse *pRequestServersResponse ) = 0; + + // Request the list of rules that the server is running (See ISteamGameServer::SetKeyValue() to set the rules server side) + virtual HServerQuery ServerRules( uint32 unIP, uint16 usPort, ISteamMatchmakingRulesResponse *pRequestServersResponse ) = 0; + + // Cancel an outstanding Ping/Players/Rules query from above. You should call this to cancel + // any in-progress requests before destructing a callback object that may have been passed + // to one of the above calls to avoid crashing when callbacks occur. + virtual void CancelServerQuery( HServerQuery hServerQuery ) = 0; +}; +#define STEAMMATCHMAKINGSERVERS_INTERFACE_VERSION "SteamMatchMakingServers002" + +// Global interface accessor +inline ISteamMatchmakingServers *SteamMatchmakingServers(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamMatchmakingServers *, SteamMatchmakingServers, STEAMMATCHMAKINGSERVERS_INTERFACE_VERSION ); + +// game server flags +const uint32 k_unFavoriteFlagNone = 0x00; +const uint32 k_unFavoriteFlagFavorite = 0x01; // this game favorite entry is for the favorites list +const uint32 k_unFavoriteFlagHistory = 0x02; // this game favorite entry is for the history list + + +//----------------------------------------------------------------------------- +// Purpose: Used in ChatInfo messages - fields specific to a chat member - must fit in a uint32 +//----------------------------------------------------------------------------- +enum EChatMemberStateChange +{ + // Specific to joining / leaving the chatroom + k_EChatMemberStateChangeEntered = 0x0001, // This user has joined or is joining the chat room + k_EChatMemberStateChangeLeft = 0x0002, // This user has left or is leaving the chat room + k_EChatMemberStateChangeDisconnected = 0x0004, // User disconnected without leaving the chat first + k_EChatMemberStateChangeKicked = 0x0008, // User kicked + k_EChatMemberStateChangeBanned = 0x0010, // User kicked and banned +}; + +// returns true of the flags indicate that a user has been removed from the chat +#define BChatMemberStateChangeRemoved( rgfChatMemberStateChangeFlags ) ( rgfChatMemberStateChangeFlags & ( k_EChatMemberStateChangeDisconnected | k_EChatMemberStateChangeLeft | k_EChatMemberStateChangeKicked | k_EChatMemberStateChangeBanned ) ) + + + +//----------------------------------------------------------------------------- +// Purpose: Functions for match making services for clients to get to favorites +// and to operate on game lobbies. +//----------------------------------------------------------------------------- +class ISteamGameSearch +{ +public: + // ============================================================================================= + // Game Player APIs + + // a keyname and a list of comma separated values: one of which is must be found in order for the match to qualify + // fails if a search is currently in progress + virtual EGameSearchErrorCode_t AddGameSearchParams( const char *pchKeyToFind, const char *pchValuesToFind ) = 0; + + // all players in lobby enter the queue and await a SearchForGameNotificationCallback_t callback. fails if another search is currently in progress + // if not the owner of the lobby or search already in progress this call fails + // periodic callbacks will be sent as queue time estimates change + virtual EGameSearchErrorCode_t SearchForGameWithLobby( CSteamID steamIDLobby, int nPlayerMin, int nPlayerMax ) = 0; + + // user enter the queue and await a SearchForGameNotificationCallback_t callback. fails if another search is currently in progress + // periodic callbacks will be sent as queue time estimates change + virtual EGameSearchErrorCode_t SearchForGameSolo( int nPlayerMin, int nPlayerMax ) = 0; + + // after receiving SearchForGameResultCallback_t, accept or decline the game + // multiple SearchForGameResultCallback_t will follow as players accept game until the host starts or cancels the game + virtual EGameSearchErrorCode_t AcceptGame() = 0; + virtual EGameSearchErrorCode_t DeclineGame() = 0; + + // after receiving GameStartedByHostCallback_t get connection details to server + virtual EGameSearchErrorCode_t RetrieveConnectionDetails( CSteamID steamIDHost, char *pchConnectionDetails, int cubConnectionDetails ) = 0; + + // leaves queue if still waiting + virtual EGameSearchErrorCode_t EndGameSearch() = 0; + + // ============================================================================================= + // Game Host APIs + + // a keyname and a list of comma separated values: all the values you allow + virtual EGameSearchErrorCode_t SetGameHostParams( const char *pchKey, const char *pchValue ) = 0; + + // set connection details for players once game is found so they can connect to this server + virtual EGameSearchErrorCode_t SetConnectionDetails( const char *pchConnectionDetails, int cubConnectionDetails ) = 0; + + // mark server as available for more players with nPlayerMin,nPlayerMax desired + // accept no lobbies with playercount greater than nMaxTeamSize + // the set of lobbies returned must be partitionable into teams of no more than nMaxTeamSize + // RequestPlayersForGameNotificationCallback_t callback will be sent when the search has started + // multple RequestPlayersForGameResultCallback_t callbacks will follow when players are found + virtual EGameSearchErrorCode_t RequestPlayersForGame( int nPlayerMin, int nPlayerMax, int nMaxTeamSize ) = 0; + + // accept the player list and release connection details to players + // players will only be given connection details and host steamid when this is called + // ( allows host to accept after all players confirm, some confirm, or none confirm. decision is entirely up to the host ) + virtual EGameSearchErrorCode_t HostConfirmGameStart( uint64 ullUniqueGameID ) = 0; + + // cancel request and leave the pool of game hosts looking for players + // if a set of players has already been sent to host, all players will receive SearchForGameHostFailedToConfirm_t + virtual EGameSearchErrorCode_t CancelRequestPlayersForGame() = 0; + + // submit a result for one player. does not end the game. ullUniqueGameID continues to describe this game + virtual EGameSearchErrorCode_t SubmitPlayerResult( uint64 ullUniqueGameID, CSteamID steamIDPlayer, EPlayerResult_t EPlayerResult ) = 0; + + // ends the game. no further SubmitPlayerResults for ullUniqueGameID will be accepted + // any future requests will provide a new ullUniqueGameID + virtual EGameSearchErrorCode_t EndGame( uint64 ullUniqueGameID ) = 0; + +}; +#define STEAMGAMESEARCH_INTERFACE_VERSION "SteamMatchGameSearch001" + +// Global interface accessor +inline ISteamGameSearch *SteamGameSearch(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamGameSearch *, SteamGameSearch, STEAMGAMESEARCH_INTERFACE_VERSION ); + + +//----------------------------------------------------------------------------- +// Purpose: Functions for quickly creating a Party with friends or acquaintances, +// EG from chat rooms. +//----------------------------------------------------------------------------- +enum ESteamPartyBeaconLocationType +{ + k_ESteamPartyBeaconLocationType_Invalid = 0, + k_ESteamPartyBeaconLocationType_ChatGroup = 1, + + k_ESteamPartyBeaconLocationType_Max, +}; + + +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + + +struct SteamPartyBeaconLocation_t +{ + ESteamPartyBeaconLocationType m_eType; + uint64 m_ulLocationID; +}; + +enum ESteamPartyBeaconLocationData +{ + k_ESteamPartyBeaconLocationDataInvalid = 0, + k_ESteamPartyBeaconLocationDataName = 1, + k_ESteamPartyBeaconLocationDataIconURLSmall = 2, + k_ESteamPartyBeaconLocationDataIconURLMedium = 3, + k_ESteamPartyBeaconLocationDataIconURLLarge = 4, +}; + +class ISteamParties +{ +public: + + // ============================================================================================= + // Party Client APIs + + // Enumerate any active beacons for parties you may wish to join + virtual uint32 GetNumActiveBeacons() = 0; + virtual PartyBeaconID_t GetBeaconByIndex( uint32 unIndex ) = 0; + virtual bool GetBeaconDetails( PartyBeaconID_t ulBeaconID, CSteamID *pSteamIDBeaconOwner, STEAM_OUT_STRUCT() SteamPartyBeaconLocation_t *pLocation, STEAM_OUT_STRING_COUNT(cchMetadata) char *pchMetadata, int cchMetadata ) = 0; + + // Join an open party. Steam will reserve one beacon slot for your SteamID, + // and return the necessary JoinGame string for you to use to connect + STEAM_CALL_RESULT( JoinPartyCallback_t ) + virtual SteamAPICall_t JoinParty( PartyBeaconID_t ulBeaconID ) = 0; + + // ============================================================================================= + // Party Host APIs + + // Get a list of possible beacon locations + virtual bool GetNumAvailableBeaconLocations( uint32 *puNumLocations ) = 0; + virtual bool GetAvailableBeaconLocations( SteamPartyBeaconLocation_t *pLocationList, uint32 uMaxNumLocations ) = 0; + + // Create a new party beacon and activate it in the selected location. + // unOpenSlots is the maximum number of users that Steam will send to you. + // When people begin responding to your beacon, Steam will send you + // PartyReservationCallback_t callbacks to let you know who is on the way. + STEAM_CALL_RESULT( CreateBeaconCallback_t ) + virtual SteamAPICall_t CreateBeacon( uint32 unOpenSlots, SteamPartyBeaconLocation_t *pBeaconLocation, const char *pchConnectString, const char *pchMetadata ) = 0; + + // Call this function when a user that had a reservation (see callback below) + // has successfully joined your party. + // Steam will manage the remaining open slots automatically. + virtual void OnReservationCompleted( PartyBeaconID_t ulBeacon, CSteamID steamIDUser ) = 0; + + // To cancel a reservation (due to timeout or user input), call this. + // Steam will open a new reservation slot. + // Note: The user may already be in-flight to your game, so it's possible they will still connect and try to join your party. + virtual void CancelReservation( PartyBeaconID_t ulBeacon, CSteamID steamIDUser ) = 0; + + // Change the number of open beacon reservation slots. + // Call this if, for example, someone without a reservation joins your party (eg a friend, or via your own matchmaking system). + STEAM_CALL_RESULT( ChangeNumOpenSlotsCallback_t ) + virtual SteamAPICall_t ChangeNumOpenSlots( PartyBeaconID_t ulBeacon, uint32 unOpenSlots ) = 0; + + // Turn off the beacon. + virtual bool DestroyBeacon( PartyBeaconID_t ulBeacon ) = 0; + + // Utils + virtual bool GetBeaconLocationData( SteamPartyBeaconLocation_t BeaconLocation, ESteamPartyBeaconLocationData eData, STEAM_OUT_STRING_COUNT(cchDataStringOut) char *pchDataStringOut, int cchDataStringOut ) = 0; + +}; +#define STEAMPARTIES_INTERFACE_VERSION "SteamParties002" + +// Global interface accessor +inline ISteamParties *SteamParties(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamParties *, SteamParties, STEAMPARTIES_INTERFACE_VERSION ); + + +//----------------------------------------------------------------------------- +// Callbacks for ISteamMatchmaking (which go through the regular Steam callback registration system) + +//----------------------------------------------------------------------------- +// Purpose: a server was added/removed from the favorites list, you should refresh now +//----------------------------------------------------------------------------- +struct FavoritesListChanged_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 2 }; + uint32 m_nIP; // an IP of 0 means reload the whole list, any other value means just one server + uint32 m_nQueryPort; + uint32 m_nConnPort; + uint32 m_nAppID; + uint32 m_nFlags; + bool m_bAdd; // true if this is adding the entry, otherwise it is a remove + AccountID_t m_unAccountId; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Someone has invited you to join a Lobby +// normally you don't need to do anything with this, since +// the Steam UI will also display a ' has invited you to the lobby, join?' dialog +// +// if the user outside a game chooses to join, your game will be launched with the parameter "+connect_lobby <64-bit lobby id>", +// or with the callback GameLobbyJoinRequested_t if they're already in-game +//----------------------------------------------------------------------------- +struct LobbyInvite_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 3 }; + + uint64 m_ulSteamIDUser; // Steam ID of the person making the invite + uint64 m_ulSteamIDLobby; // Steam ID of the Lobby + uint64 m_ulGameID; // GameID of the Lobby +}; + + +//----------------------------------------------------------------------------- +// Purpose: Sent on entering a lobby, or on failing to enter +// m_EChatRoomEnterResponse will be set to k_EChatRoomEnterResponseSuccess on success, +// or a higher value on failure (see enum EChatRoomEnterResponse) +//----------------------------------------------------------------------------- +struct LobbyEnter_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 4 }; + + uint64 m_ulSteamIDLobby; // SteamID of the Lobby you have entered + uint32 m_rgfChatPermissions; // Permissions of the current user + bool m_bLocked; // If true, then only invited users may join + uint32 m_EChatRoomEnterResponse; // EChatRoomEnterResponse +}; + + +//----------------------------------------------------------------------------- +// Purpose: The lobby metadata has changed +// if m_ulSteamIDMember is the steamID of a lobby member, use GetLobbyMemberData() to access per-user details +// if m_ulSteamIDMember == m_ulSteamIDLobby, use GetLobbyData() to access lobby metadata +//----------------------------------------------------------------------------- +struct LobbyDataUpdate_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 5 }; + + uint64 m_ulSteamIDLobby; // steamID of the Lobby + uint64 m_ulSteamIDMember; // steamID of the member whose data changed, or the room itself + uint8 m_bSuccess; // true if we lobby data was successfully changed; + // will only be false if RequestLobbyData() was called on a lobby that no longer exists +}; + + +//----------------------------------------------------------------------------- +// Purpose: The lobby chat room state has changed +// this is usually sent when a user has joined or left the lobby +//----------------------------------------------------------------------------- +struct LobbyChatUpdate_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 6 }; + + uint64 m_ulSteamIDLobby; // Lobby ID + uint64 m_ulSteamIDUserChanged; // user who's status in the lobby just changed - can be recipient + uint64 m_ulSteamIDMakingChange; // Chat member who made the change (different from SteamIDUserChange if kicking, muting, etc.) + // for example, if one user kicks another from the lobby, this will be set to the id of the user who initiated the kick + uint32 m_rgfChatMemberStateChange; // bitfield of EChatMemberStateChange values +}; + + +//----------------------------------------------------------------------------- +// Purpose: A chat message for this lobby has been sent +// use GetLobbyChatEntry( m_iChatID ) to retrieve the contents of this message +//----------------------------------------------------------------------------- +struct LobbyChatMsg_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 7 }; + + uint64 m_ulSteamIDLobby; // the lobby id this is in + uint64 m_ulSteamIDUser; // steamID of the user who has sent this message + uint8 m_eChatEntryType; // type of message + uint32 m_iChatID; // index of the chat entry to lookup +}; + + +//----------------------------------------------------------------------------- +// Purpose: A game created a game for all the members of the lobby to join, +// as triggered by a SetLobbyGameServer() +// it's up to the individual clients to take action on this; the usual +// game behavior is to leave the lobby and connect to the specified game server +//----------------------------------------------------------------------------- +struct LobbyGameCreated_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 9 }; + + uint64 m_ulSteamIDLobby; // the lobby we were in + uint64 m_ulSteamIDGameServer; // the new game server that has been created or found for the lobby members + uint32 m_unIP; // IP & Port of the game server (if any) + uint16 m_usPort; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Number of matching lobbies found +// iterate the returned lobbies with GetLobbyByIndex(), from values 0 to m_nLobbiesMatching-1 +//----------------------------------------------------------------------------- +struct LobbyMatchList_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 10 }; + uint32 m_nLobbiesMatching; // Number of lobbies that matched search criteria and we have SteamIDs for +}; + + +//----------------------------------------------------------------------------- +// Purpose: posted if a user is forcefully removed from a lobby +// can occur if a user loses connection to Steam +//----------------------------------------------------------------------------- +struct LobbyKicked_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 12 }; + uint64 m_ulSteamIDLobby; // Lobby + uint64 m_ulSteamIDAdmin; // User who kicked you - possibly the ID of the lobby itself + uint8 m_bKickedDueToDisconnect; // true if you were kicked from the lobby due to the user losing connection to Steam (currently always true) +}; + + +//----------------------------------------------------------------------------- +// Purpose: Result of our request to create a Lobby +// m_eResult == k_EResultOK on success +// at this point, the lobby has been joined and is ready for use +// a LobbyEnter_t callback will also be received (since the local user is joining their own lobby) +//----------------------------------------------------------------------------- +struct LobbyCreated_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 13 }; + + EResult m_eResult; // k_EResultOK - the lobby was successfully created + // k_EResultNoConnection - your Steam client doesn't have a connection to the back-end + // k_EResultTimeout - you the message to the Steam servers, but it didn't respond + // k_EResultFail - the server responded, but with an unknown internal error + // k_EResultAccessDenied - your game isn't set to allow lobbies, or your client does haven't rights to play the game + // k_EResultLimitExceeded - your game client has created too many lobbies + + uint64 m_ulSteamIDLobby; // chat room, zero if failed +}; + +// used by now obsolete RequestFriendsLobbiesResponse_t +// enum { k_iCallback = k_iSteamMatchmakingCallbacks + 14 }; + + +//----------------------------------------------------------------------------- +// Purpose: Result of CheckForPSNGameBootInvite +// m_eResult == k_EResultOK on success +// at this point, the local user may not have finishing joining this lobby; +// game code should wait until the subsequent LobbyEnter_t callback is received +//----------------------------------------------------------------------------- +struct PSNGameBootInviteResult_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 15 }; + + bool m_bGameBootInviteExists; + CSteamID m_steamIDLobby; // Should be valid if m_bGameBootInviteExists == true +}; + + +//----------------------------------------------------------------------------- +// Purpose: Result of our request to create a Lobby +// m_eResult == k_EResultOK on success +// at this point, the lobby has been joined and is ready for use +// a LobbyEnter_t callback will also be received (since the local user is joining their own lobby) +//----------------------------------------------------------------------------- +struct FavoritesListAccountsUpdated_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 16 }; + + EResult m_eResult; +}; + + + +//----------------------------------------------------------------------------- +// Callbacks for ISteamGameSearch (which go through the regular Steam callback registration system) + +struct SearchForGameProgressCallback_t +{ + enum { k_iCallback = k_iSteamGameSearchCallbacks + 1 }; + + uint64 m_ullSearchID; // all future callbacks referencing this search will include this Search ID + + EResult m_eResult; // if search has started this result will be k_EResultOK, any other value indicates search has failed to start or has terminated + CSteamID m_lobbyID; // lobby ID if lobby search, invalid steamID otherwise + CSteamID m_steamIDEndedSearch; // if search was terminated, steamID that terminated search + + int32 m_nSecondsRemainingEstimate; + int32 m_cPlayersSearching; +}; + +// notification to all players searching that a game has been found +struct SearchForGameResultCallback_t +{ + enum { k_iCallback = k_iSteamGameSearchCallbacks + 2 }; + + uint64 m_ullSearchID; + + EResult m_eResult; // if game/host was lost this will be an error value + + // if m_bGameFound is true the following are non-zero + int32 m_nCountPlayersInGame; + int32 m_nCountAcceptedGame; + // if m_steamIDHost is valid the host has started the game + CSteamID m_steamIDHost; + bool m_bFinalCallback; +}; + + +//----------------------------------------------------------------------------- +// ISteamGameSearch : Game Host API callbacks + +// callback from RequestPlayersForGame when the matchmaking service has started or ended search +// callback will also follow a call from CancelRequestPlayersForGame - m_bSearchInProgress will be false +struct RequestPlayersForGameProgressCallback_t +{ + enum { k_iCallback = k_iSteamGameSearchCallbacks + 11 }; + + EResult m_eResult; // m_ullSearchID will be non-zero if this is k_EResultOK + uint64 m_ullSearchID; // all future callbacks referencing this search will include this Search ID +}; + +// callback from RequestPlayersForGame +// one of these will be sent per player +// followed by additional callbacks when players accept or decline the game +struct RequestPlayersForGameResultCallback_t +{ + enum { k_iCallback = k_iSteamGameSearchCallbacks + 12 }; + + EResult m_eResult; // m_ullSearchID will be non-zero if this is k_EResultOK + uint64 m_ullSearchID; + + CSteamID m_SteamIDPlayerFound; // player steamID + CSteamID m_SteamIDLobby; // if the player is in a lobby, the lobby ID + enum PlayerAcceptState_t + { + k_EStateUnknown = 0, + k_EStatePlayerAccepted = 1, + k_EStatePlayerDeclined = 2, + }; + PlayerAcceptState_t m_ePlayerAcceptState; + int32 m_nPlayerIndex; + int32 m_nTotalPlayersFound; // expect this many callbacks at minimum + int32 m_nTotalPlayersAcceptedGame; + int32 m_nSuggestedTeamIndex; + uint64 m_ullUniqueGameID; +}; + + +struct RequestPlayersForGameFinalResultCallback_t +{ + enum { k_iCallback = k_iSteamGameSearchCallbacks + 13 }; + + EResult m_eResult; + uint64 m_ullSearchID; + uint64 m_ullUniqueGameID; +}; + + + +// this callback confirms that results were received by the matchmaking service for this player +struct SubmitPlayerResultResultCallback_t +{ + enum { k_iCallback = k_iSteamGameSearchCallbacks + 14 }; + + EResult m_eResult; + uint64 ullUniqueGameID; + CSteamID steamIDPlayer; +}; + + +// this callback confirms that the game is recorded as complete on the matchmaking service +// the next call to RequestPlayersForGame will generate a new unique game ID +struct EndGameResultCallback_t +{ + enum { k_iCallback = k_iSteamGameSearchCallbacks + 15 }; + + EResult m_eResult; + uint64 ullUniqueGameID; +}; + + +// Steam has responded to the user request to join a party via the given Beacon ID. +// If successful, the connect string contains game-specific instructions to connect +// to the game with that party. +struct JoinPartyCallback_t +{ + enum { k_iCallback = k_iSteamPartiesCallbacks + 1 }; + + EResult m_eResult; + PartyBeaconID_t m_ulBeaconID; + CSteamID m_SteamIDBeaconOwner; + char m_rgchConnectString[256]; +}; + +// Response to CreateBeacon request. If successful, the beacon ID is provided. +struct CreateBeaconCallback_t +{ + enum { k_iCallback = k_iSteamPartiesCallbacks + 2 }; + + EResult m_eResult; + PartyBeaconID_t m_ulBeaconID; +}; + +// Someone has used the beacon to join your party - they are in-flight now +// and we've reserved one of the open slots for them. +// You should confirm when they join your party by calling OnReservationCompleted(). +// Otherwise, Steam may timeout their reservation eventually. +struct ReservationNotificationCallback_t +{ + enum { k_iCallback = k_iSteamPartiesCallbacks + 3 }; + + PartyBeaconID_t m_ulBeaconID; + CSteamID m_steamIDJoiner; +}; + +// Response to ChangeNumOpenSlots call +struct ChangeNumOpenSlotsCallback_t +{ + enum { k_iCallback = k_iSteamPartiesCallbacks + 4 }; + + EResult m_eResult; +}; + +// The list of possible Party beacon locations has changed +struct AvailableBeaconLocationsUpdated_t +{ + enum { k_iCallback = k_iSteamPartiesCallbacks + 5 }; +}; + +// The list of active beacons may have changed +struct ActiveBeaconsUpdated_t +{ + enum { k_iCallback = k_iSteamPartiesCallbacks + 6 }; +}; + + +#pragma pack( pop ) + + +#endif // ISTEAMMATCHMAKING diff --git a/lsteamclient/steamworks_sdk_159x/isteammusic.h b/lsteamclient/steamworks_sdk_159x/isteammusic.h new file mode 100644 index 0000000000..ffa49a0893 --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteammusic.h @@ -0,0 +1,71 @@ +//============ Copyright (c) Valve Corporation, All rights reserved. ============ + +#ifndef ISTEAMMUSIC_H +#define ISTEAMMUSIC_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +enum AudioPlayback_Status +{ + AudioPlayback_Undefined = 0, + AudioPlayback_Playing = 1, + AudioPlayback_Paused = 2, + AudioPlayback_Idle = 3 +}; + + +//----------------------------------------------------------------------------- +// Purpose: Functions to control music playback in the steam client +//----------------------------------------------------------------------------- +class ISteamMusic +{ +public: + virtual bool BIsEnabled() = 0; + virtual bool BIsPlaying() = 0; + + virtual AudioPlayback_Status GetPlaybackStatus() = 0; + + virtual void Play() = 0; + virtual void Pause() = 0; + virtual void PlayPrevious() = 0; + virtual void PlayNext() = 0; + + // volume is between 0.0 and 1.0 + virtual void SetVolume( float flVolume ) = 0; + virtual float GetVolume() = 0; + +}; + +#define STEAMMUSIC_INTERFACE_VERSION "STEAMMUSIC_INTERFACE_VERSION001" + +// Global interface accessor +inline ISteamMusic *SteamMusic(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamMusic *, SteamMusic, STEAMMUSIC_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + + +STEAM_CALLBACK_BEGIN( PlaybackStatusHasChanged_t, k_iSteamMusicCallbacks + 1 ) +STEAM_CALLBACK_END(0) + +STEAM_CALLBACK_BEGIN( VolumeHasChanged_t, k_iSteamMusicCallbacks + 2 ) + STEAM_CALLBACK_MEMBER( 0, float, m_flNewVolume ) +STEAM_CALLBACK_END(1) + +#pragma pack( pop ) + + +#endif // #define ISTEAMMUSIC_H diff --git a/lsteamclient/steamworks_sdk_159x/isteammusicremote.h b/lsteamclient/steamworks_sdk_159x/isteammusicremote.h new file mode 100644 index 0000000000..a36f4f873f --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteammusicremote.h @@ -0,0 +1,133 @@ +//============ Copyright (c) Valve Corporation, All rights reserved. ============ + +#ifndef ISTEAMMUSICREMOTE_H +#define ISTEAMMUSICREMOTE_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" +#include "isteammusic.h" + +#define k_SteamMusicNameMaxLength 255 +#define k_SteamMusicPNGMaxLength 65535 + + +class ISteamMusicRemote +{ +public: + // Service Definition + virtual bool RegisterSteamMusicRemote( const char *pchName ) = 0; + virtual bool DeregisterSteamMusicRemote() = 0; + virtual bool BIsCurrentMusicRemote() = 0; + virtual bool BActivationSuccess( bool bValue ) = 0; + + virtual bool SetDisplayName( const char *pchDisplayName ) = 0; + virtual bool SetPNGIcon_64x64( void *pvBuffer, uint32 cbBufferLength ) = 0; + + // Abilities for the user interface + virtual bool EnablePlayPrevious(bool bValue) = 0; + virtual bool EnablePlayNext( bool bValue ) = 0; + virtual bool EnableShuffled( bool bValue ) = 0; + virtual bool EnableLooped( bool bValue ) = 0; + virtual bool EnableQueue( bool bValue ) = 0; + virtual bool EnablePlaylists( bool bValue ) = 0; + + // Status + virtual bool UpdatePlaybackStatus( AudioPlayback_Status nStatus ) = 0; + virtual bool UpdateShuffled( bool bValue ) = 0; + virtual bool UpdateLooped( bool bValue ) = 0; + virtual bool UpdateVolume( float flValue ) = 0; // volume is between 0.0 and 1.0 + + // Current Entry + virtual bool CurrentEntryWillChange() = 0; + virtual bool CurrentEntryIsAvailable( bool bAvailable ) = 0; + virtual bool UpdateCurrentEntryText( const char *pchText ) = 0; + virtual bool UpdateCurrentEntryElapsedSeconds( int nValue ) = 0; + virtual bool UpdateCurrentEntryCoverArt( void *pvBuffer, uint32 cbBufferLength ) = 0; + virtual bool CurrentEntryDidChange() = 0; + + // Queue + virtual bool QueueWillChange() = 0; + virtual bool ResetQueueEntries() = 0; + virtual bool SetQueueEntry( int nID, int nPosition, const char *pchEntryText ) = 0; + virtual bool SetCurrentQueueEntry( int nID ) = 0; + virtual bool QueueDidChange() = 0; + + // Playlist + virtual bool PlaylistWillChange() = 0; + virtual bool ResetPlaylistEntries() = 0; + virtual bool SetPlaylistEntry( int nID, int nPosition, const char *pchEntryText ) = 0; + virtual bool SetCurrentPlaylistEntry( int nID ) = 0; + virtual bool PlaylistDidChange() = 0; +}; + +#define STEAMMUSICREMOTE_INTERFACE_VERSION "STEAMMUSICREMOTE_INTERFACE_VERSION001" + +// Global interface accessor +inline ISteamMusicRemote *SteamMusicRemote(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamMusicRemote *, SteamMusicRemote, STEAMMUSICREMOTE_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + + +STEAM_CALLBACK_BEGIN( MusicPlayerRemoteWillActivate_t, k_iSteamMusicRemoteCallbacks + 1) +STEAM_CALLBACK_END(0) + +STEAM_CALLBACK_BEGIN( MusicPlayerRemoteWillDeactivate_t, k_iSteamMusicRemoteCallbacks + 2 ) +STEAM_CALLBACK_END(0) + +STEAM_CALLBACK_BEGIN( MusicPlayerRemoteToFront_t, k_iSteamMusicRemoteCallbacks + 3 ) +STEAM_CALLBACK_END(0) + +STEAM_CALLBACK_BEGIN( MusicPlayerWillQuit_t, k_iSteamMusicRemoteCallbacks + 4 ) +STEAM_CALLBACK_END(0) + +STEAM_CALLBACK_BEGIN( MusicPlayerWantsPlay_t, k_iSteamMusicRemoteCallbacks + 5 ) +STEAM_CALLBACK_END(0) + +STEAM_CALLBACK_BEGIN( MusicPlayerWantsPause_t, k_iSteamMusicRemoteCallbacks + 6 ) +STEAM_CALLBACK_END(0) + +STEAM_CALLBACK_BEGIN( MusicPlayerWantsPlayPrevious_t, k_iSteamMusicRemoteCallbacks + 7 ) +STEAM_CALLBACK_END(0) + +STEAM_CALLBACK_BEGIN( MusicPlayerWantsPlayNext_t, k_iSteamMusicRemoteCallbacks + 8 ) +STEAM_CALLBACK_END(0) + +STEAM_CALLBACK_BEGIN( MusicPlayerWantsShuffled_t, k_iSteamMusicRemoteCallbacks + 9 ) + STEAM_CALLBACK_MEMBER( 0, bool, m_bShuffled ) +STEAM_CALLBACK_END(1) + +STEAM_CALLBACK_BEGIN( MusicPlayerWantsLooped_t, k_iSteamMusicRemoteCallbacks + 10 ) + STEAM_CALLBACK_MEMBER(0, bool, m_bLooped ) +STEAM_CALLBACK_END(1) + +STEAM_CALLBACK_BEGIN( MusicPlayerWantsVolume_t, k_iSteamMusicCallbacks + 11 ) + STEAM_CALLBACK_MEMBER(0, float, m_flNewVolume) +STEAM_CALLBACK_END(1) + +STEAM_CALLBACK_BEGIN( MusicPlayerSelectsQueueEntry_t, k_iSteamMusicCallbacks + 12 ) + STEAM_CALLBACK_MEMBER(0, int, nID ) +STEAM_CALLBACK_END(1) + +STEAM_CALLBACK_BEGIN( MusicPlayerSelectsPlaylistEntry_t, k_iSteamMusicCallbacks + 13 ) + STEAM_CALLBACK_MEMBER(0, int, nID ) +STEAM_CALLBACK_END(1) + +STEAM_CALLBACK_BEGIN( MusicPlayerWantsPlayingRepeatStatus_t, k_iSteamMusicRemoteCallbacks + 14 ) + STEAM_CALLBACK_MEMBER(0, int, m_nPlayingRepeatStatus ) +STEAM_CALLBACK_END(1) + +#pragma pack( pop ) + + + +#endif // #define ISTEAMMUSICREMOTE_H diff --git a/lsteamclient/steamworks_sdk_159x/isteamnetworking.h b/lsteamclient/steamworks_sdk_159x/isteamnetworking.h new file mode 100644 index 0000000000..b7e077a3b8 --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamnetworking.h @@ -0,0 +1,343 @@ +//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to steam managing network connections between game clients & servers +// +//============================================================================= + +#ifndef ISTEAMNETWORKING +#define ISTEAMNETWORKING +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +// list of possible errors returned by SendP2PPacket() API +// these will be posted in the P2PSessionConnectFail_t callback +enum EP2PSessionError +{ + k_EP2PSessionErrorNone = 0, + k_EP2PSessionErrorNoRightsToApp = 2, // local user doesn't own the app that is running + k_EP2PSessionErrorTimeout = 4, // target isn't responding, perhaps not calling AcceptP2PSessionWithUser() + // corporate firewalls can also block this (NAT traversal is not firewall traversal) + // make sure that UDP ports 3478, 4379, and 4380 are open in an outbound direction + + // The following error codes were removed and will never be sent. + // For privacy reasons, there is no reply if the user is offline or playing another game. + k_EP2PSessionErrorNotRunningApp_DELETED = 1, + k_EP2PSessionErrorDestinationNotLoggedIn_DELETED = 3, + + k_EP2PSessionErrorMax = 5 +}; + +// SendP2PPacket() send types +// Typically k_EP2PSendUnreliable is what you want for UDP-like packets, k_EP2PSendReliable for TCP-like packets +enum EP2PSend +{ + // Basic UDP send. Packets can't be bigger than 1200 bytes (your typical MTU size). Can be lost, or arrive out of order (rare). + // The sending API does have some knowledge of the underlying connection, so if there is no NAT-traversal accomplished or + // there is a recognized adjustment happening on the connection, the packet will be batched until the connection is open again. + k_EP2PSendUnreliable = 0, + + // As above, but if the underlying p2p connection isn't yet established the packet will just be thrown away. Using this on the first + // packet sent to a remote host almost guarantees the packet will be dropped. + // This is only really useful for kinds of data that should never buffer up, i.e. voice payload packets + k_EP2PSendUnreliableNoDelay = 1, + + // Reliable message send. Can send up to 1MB of data in a single message. + // Does fragmentation/re-assembly of messages under the hood, as well as a sliding window for efficient sends of large chunks of data. + k_EP2PSendReliable = 2, + + // As above, but applies the Nagle algorithm to the send - sends will accumulate + // until the current MTU size (typically ~1200 bytes, but can change) or ~200ms has passed (Nagle algorithm). + // Useful if you want to send a set of smaller messages but have the coalesced into a single packet + // Since the reliable stream is all ordered, you can do several small message sends with k_EP2PSendReliableWithBuffering and then + // do a normal k_EP2PSendReliable to force all the buffered data to be sent. + k_EP2PSendReliableWithBuffering = 3, + +}; + + +// connection state to a specified user, returned by GetP2PSessionState() +// this is under-the-hood info about what's going on with a SendP2PPacket(), shouldn't be needed except for debuggin +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif +struct P2PSessionState_t +{ + uint8 m_bConnectionActive; // true if we've got an active open connection + uint8 m_bConnecting; // true if we're currently trying to establish a connection + uint8 m_eP2PSessionError; // last error recorded (see enum above) + uint8 m_bUsingRelay; // true if it's going through a relay server (TURN) + int32 m_nBytesQueuedForSend; + int32 m_nPacketsQueuedForSend; + uint32 m_nRemoteIP; // potential IP:Port of remote host. Could be TURN server. + uint16 m_nRemotePort; // Only exists for compatibility with older authentication api's +}; +#pragma pack( pop ) + + +// handle to a socket +typedef uint32 SNetSocket_t; // CreateP2PConnectionSocket() +typedef uint32 SNetListenSocket_t; // CreateListenSocket() + +// connection progress indicators, used by CreateP2PConnectionSocket() +enum ESNetSocketState +{ + k_ESNetSocketStateInvalid = 0, + + // communication is valid + k_ESNetSocketStateConnected = 1, + + // states while establishing a connection + k_ESNetSocketStateInitiated = 10, // the connection state machine has started + + // p2p connections + k_ESNetSocketStateLocalCandidatesFound = 11, // we've found our local IP info + k_ESNetSocketStateReceivedRemoteCandidates = 12,// we've received information from the remote machine, via the Steam back-end, about their IP info + + // direct connections + k_ESNetSocketStateChallengeHandshake = 15, // we've received a challenge packet from the server + + // failure states + k_ESNetSocketStateDisconnecting = 21, // the API shut it down, and we're in the process of telling the other end + k_ESNetSocketStateLocalDisconnect = 22, // the API shut it down, and we've completed shutdown + k_ESNetSocketStateTimeoutDuringConnect = 23, // we timed out while trying to creating the connection + k_ESNetSocketStateRemoteEndDisconnected = 24, // the remote end has disconnected from us + k_ESNetSocketStateConnectionBroken = 25, // connection has been broken; either the other end has disappeared or our local network connection has broke + +}; + +// describes how the socket is currently connected +enum ESNetSocketConnectionType +{ + k_ESNetSocketConnectionTypeNotConnected = 0, + k_ESNetSocketConnectionTypeUDP = 1, + k_ESNetSocketConnectionTypeUDPRelay = 2, +}; + + +//----------------------------------------------------------------------------- +// Purpose: Functions for making connections and sending data between clients, +// traversing NAT's where possible +// +// NOTE: This interface is deprecated and may be removed in a future release of +/// the Steamworks SDK. Please see ISteamNetworkingSockets and +/// ISteamNetworkingMessages +//----------------------------------------------------------------------------- +class ISteamNetworking +{ +public: + //////////////////////////////////////////////////////////////////////////////////////////// + // + // UDP-style (connectionless) networking interface. These functions send messages using + // an API organized around the destination. Reliable and unreliable messages are supported. + // + // For a more TCP-style interface (meaning you have a connection handle), see the functions below. + // Both interface styles can send both reliable and unreliable messages. + // + // Automatically establishes NAT-traversing or Relay server connections + // + // These APIs are deprecated, and may be removed in a future version of the Steamworks + // SDK. See ISteamNetworkingMessages. + + // Sends a P2P packet to the specified user + // UDP-like, unreliable and a max packet size of 1200 bytes + // the first packet send may be delayed as the NAT-traversal code runs + // if we can't get through to the user, an error will be posted via the callback P2PSessionConnectFail_t + // see EP2PSend enum above for the descriptions of the different ways of sending packets + // + // nChannel is a routing number you can use to help route message to different systems - you'll have to call ReadP2PPacket() + // with the same channel number in order to retrieve the data on the other end + // using different channels to talk to the same user will still use the same underlying p2p connection, saving on resources + virtual bool SendP2PPacket( CSteamID steamIDRemote, const void *pubData, uint32 cubData, EP2PSend eP2PSendType, int nChannel = 0 ) = 0; + + // returns true if any data is available for read, and the amount of data that will need to be read + virtual bool IsP2PPacketAvailable( uint32 *pcubMsgSize, int nChannel = 0 ) = 0; + + // reads in a packet that has been sent from another user via SendP2PPacket() + // returns the size of the message and the steamID of the user who sent it in the last two parameters + // if the buffer passed in is too small, the message will be truncated + // this call is not blocking, and will return false if no data is available + virtual bool ReadP2PPacket( void *pubDest, uint32 cubDest, uint32 *pcubMsgSize, CSteamID *psteamIDRemote, int nChannel = 0 ) = 0; + + // AcceptP2PSessionWithUser() should only be called in response to a P2PSessionRequest_t callback + // P2PSessionRequest_t will be posted if another user tries to send you a packet that you haven't talked to yet + // if you don't want to talk to the user, just ignore the request + // if the user continues to send you packets, another P2PSessionRequest_t will be posted periodically + // this may be called multiple times for a single user + // (if you've called SendP2PPacket() on the other user, this implicitly accepts the session request) + virtual bool AcceptP2PSessionWithUser( CSteamID steamIDRemote ) = 0; + + // call CloseP2PSessionWithUser() when you're done talking to a user, will free up resources under-the-hood + // if the remote user tries to send data to you again, another P2PSessionRequest_t callback will be posted + virtual bool CloseP2PSessionWithUser( CSteamID steamIDRemote ) = 0; + + // call CloseP2PChannelWithUser() when you're done talking to a user on a specific channel. Once all channels + // open channels to a user have been closed, the open session to the user will be closed and new data from this + // user will trigger a P2PSessionRequest_t callback + virtual bool CloseP2PChannelWithUser( CSteamID steamIDRemote, int nChannel ) = 0; + + // fills out P2PSessionState_t structure with details about the underlying connection to the user + // should only needed for debugging purposes + // returns false if no connection exists to the specified user + virtual bool GetP2PSessionState( CSteamID steamIDRemote, P2PSessionState_t *pConnectionState ) = 0; + + // Allow P2P connections to fall back to being relayed through the Steam servers if a direct connection + // or NAT-traversal cannot be established. Only applies to connections created after setting this value, + // or to existing connections that need to automatically reconnect after this value is set. + // + // P2P packet relay is allowed by default + // + // NOTE: This function is deprecated and may be removed in a future version of the SDK. For + // security purposes, we may decide to relay the traffic to certain peers, even if you pass false + // to this function, to prevent revealing the client's IP address top another peer. + virtual bool AllowP2PPacketRelay( bool bAllow ) = 0; + + + //////////////////////////////////////////////////////////////////////////////////////////// + // + // LISTEN / CONNECT connection-oriented interface functions + // + // These functions are more like a client-server TCP API. One side is the "server" + // and "listens" for incoming connections, which then must be "accepted." The "client" + // initiates a connection by "connecting." Sending and receiving is done through a + // connection handle. + // + // For a more UDP-style interface, where you do not track connection handles but + // simply send messages to a SteamID, use the UDP-style functions above. + // + // Both methods can send both reliable and unreliable methods. + // + // These APIs are deprecated, and may be removed in a future version of the Steamworks + // SDK. See ISteamNetworkingSockets. + // + //////////////////////////////////////////////////////////////////////////////////////////// + + + // creates a socket and listens others to connect + // will trigger a SocketStatusCallback_t callback on another client connecting + // nVirtualP2PPort is the unique ID that the client will connect to, in case you have multiple ports + // this can usually just be 0 unless you want multiple sets of connections + // unIP is the local IP address to bind to + // pass in 0 if you just want the default local IP + // unPort is the port to use + // pass in 0 if you don't want users to be able to connect via IP/Port, but expect to be always peer-to-peer connections only + virtual SNetListenSocket_t CreateListenSocket( int nVirtualP2PPort, SteamIPAddress_t nIP, uint16 nPort, bool bAllowUseOfPacketRelay ) = 0; + + // creates a socket and begin connection to a remote destination + // can connect via a known steamID (client or game server), or directly to an IP + // on success will trigger a SocketStatusCallback_t callback + // on failure or timeout will trigger a SocketStatusCallback_t callback with a failure code in m_eSNetSocketState + virtual SNetSocket_t CreateP2PConnectionSocket( CSteamID steamIDTarget, int nVirtualPort, int nTimeoutSec, bool bAllowUseOfPacketRelay ) = 0; + virtual SNetSocket_t CreateConnectionSocket( SteamIPAddress_t nIP, uint16 nPort, int nTimeoutSec ) = 0; + + // disconnects the connection to the socket, if any, and invalidates the handle + // any unread data on the socket will be thrown away + // if bNotifyRemoteEnd is set, socket will not be completely destroyed until the remote end acknowledges the disconnect + virtual bool DestroySocket( SNetSocket_t hSocket, bool bNotifyRemoteEnd ) = 0; + // destroying a listen socket will automatically kill all the regular sockets generated from it + virtual bool DestroyListenSocket( SNetListenSocket_t hSocket, bool bNotifyRemoteEnd ) = 0; + + // sending data + // must be a handle to a connected socket + // data is all sent via UDP, and thus send sizes are limited to 1200 bytes; after this, many routers will start dropping packets + // use the reliable flag with caution; although the resend rate is pretty aggressive, + // it can still cause stalls in receiving data (like TCP) + virtual bool SendDataOnSocket( SNetSocket_t hSocket, void *pubData, uint32 cubData, bool bReliable ) = 0; + + // receiving data + // returns false if there is no data remaining + // fills out *pcubMsgSize with the size of the next message, in bytes + virtual bool IsDataAvailableOnSocket( SNetSocket_t hSocket, uint32 *pcubMsgSize ) = 0; + + // fills in pubDest with the contents of the message + // messages are always complete, of the same size as was sent (i.e. packetized, not streaming) + // if *pcubMsgSize < cubDest, only partial data is written + // returns false if no data is available + virtual bool RetrieveDataFromSocket( SNetSocket_t hSocket, void *pubDest, uint32 cubDest, uint32 *pcubMsgSize ) = 0; + + // checks for data from any socket that has been connected off this listen socket + // returns false if there is no data remaining + // fills out *pcubMsgSize with the size of the next message, in bytes + // fills out *phSocket with the socket that data is available on + virtual bool IsDataAvailable( SNetListenSocket_t hListenSocket, uint32 *pcubMsgSize, SNetSocket_t *phSocket ) = 0; + + // retrieves data from any socket that has been connected off this listen socket + // fills in pubDest with the contents of the message + // messages are always complete, of the same size as was sent (i.e. packetized, not streaming) + // if *pcubMsgSize < cubDest, only partial data is written + // returns false if no data is available + // fills out *phSocket with the socket that data is available on + virtual bool RetrieveData( SNetListenSocket_t hListenSocket, void *pubDest, uint32 cubDest, uint32 *pcubMsgSize, SNetSocket_t *phSocket ) = 0; + + // returns information about the specified socket, filling out the contents of the pointers + virtual bool GetSocketInfo( SNetSocket_t hSocket, CSteamID *pSteamIDRemote, int *peSocketStatus, SteamIPAddress_t *punIPRemote, uint16 *punPortRemote ) = 0; + + // returns which local port the listen socket is bound to + // *pnIP and *pnPort will be 0 if the socket is set to listen for P2P connections only + virtual bool GetListenSocketInfo( SNetListenSocket_t hListenSocket, SteamIPAddress_t *pnIP, uint16 *pnPort ) = 0; + + // returns true to describe how the socket ended up connecting + virtual ESNetSocketConnectionType GetSocketConnectionType( SNetSocket_t hSocket ) = 0; + + // max packet size, in bytes + virtual int GetMaxPacketSize( SNetSocket_t hSocket ) = 0; +}; +#define STEAMNETWORKING_INTERFACE_VERSION "SteamNetworking006" + +// Global interface accessor +inline ISteamNetworking *SteamNetworking(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamNetworking *, SteamNetworking, STEAMNETWORKING_INTERFACE_VERSION ); + +// Global accessor for the gameserver client +inline ISteamNetworking *SteamGameServerNetworking(); +STEAM_DEFINE_GAMESERVER_INTERFACE_ACCESSOR( ISteamNetworking *, SteamGameServerNetworking, STEAMNETWORKING_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + +// callback notification - a user wants to talk to us over the P2P channel via the SendP2PPacket() API +// in response, a call to AcceptP2PPacketsFromUser() needs to be made, if you want to talk with them +struct P2PSessionRequest_t +{ + enum { k_iCallback = k_iSteamNetworkingCallbacks + 2 }; + CSteamID m_steamIDRemote; // user who wants to talk to us +}; + + +// callback notification - packets can't get through to the specified user via the SendP2PPacket() API +// all packets queued packets unsent at this point will be dropped +// further attempts to send will retry making the connection (but will be dropped if we fail again) +struct P2PSessionConnectFail_t +{ + enum { k_iCallback = k_iSteamNetworkingCallbacks + 3 }; + CSteamID m_steamIDRemote; // user we were sending packets to + uint8 m_eP2PSessionError; // EP2PSessionError indicating why we're having trouble +}; + + +// callback notification - status of a socket has changed +// used as part of the CreateListenSocket() / CreateP2PConnectionSocket() +struct SocketStatusCallback_t +{ + enum { k_iCallback = k_iSteamNetworkingCallbacks + 1 }; + SNetSocket_t m_hSocket; // the socket used to send/receive data to the remote host + SNetListenSocket_t m_hListenSocket; // this is the server socket that we were listening on; NULL if this was an outgoing connection + CSteamID m_steamIDRemote; // remote steamID we have connected to, if it has one + int m_eSNetSocketState; // socket state, ESNetSocketState +}; + +#pragma pack( pop ) + +#endif // ISTEAMNETWORKING diff --git a/lsteamclient/steamworks_sdk_159x/isteamnetworkingmessages.h b/lsteamclient/steamworks_sdk_159x/isteamnetworkingmessages.h new file mode 100644 index 0000000000..2f3ead439e --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamnetworkingmessages.h @@ -0,0 +1,197 @@ +//====== Copyright Valve Corporation, All rights reserved. ==================== + +#ifndef ISTEAMNETWORKINGMESSAGES +#define ISTEAMNETWORKINGMESSAGES + +#include "steamnetworkingtypes.h" +#include "steam_api_common.h" + +//----------------------------------------------------------------------------- +/// The non-connection-oriented interface to send and receive messages +/// (whether they be "clients" or "servers"). +/// +/// ISteamNetworkingSockets is connection-oriented (like TCP), meaning you +/// need to listen and connect, and then you send messages using a connection +/// handle. ISteamNetworkingMessages is more like UDP, in that you can just send +/// messages to arbitrary peers at any time. The underlying connections are +/// established implicitly. +/// +/// Under the hood ISteamNetworkingMessages works on top of the ISteamNetworkingSockets +/// code, so you get the same routing and messaging efficiency. The difference is +/// mainly in your responsibility to explicitly establish a connection and +/// the type of feedback you get about the state of the connection. Both +/// interfaces can do "P2P" communications, and both support both unreliable +/// and reliable messages, fragmentation and reassembly. +/// +/// The primary purpose of this interface is to be "like UDP", so that UDP-based code +/// can be ported easily to take advantage of relayed connections. If you find +/// yourself needing more low level information or control, or to be able to better +/// handle failure, then you probably need to use ISteamNetworkingSockets directly. +/// Also, note that if your main goal is to obtain a connection between two peers +/// without concerning yourself with assigning roles of "client" and "server", +/// you may find the symmetric connection mode of ISteamNetworkingSockets useful. +/// (See k_ESteamNetworkingConfig_SymmetricConnect.) +/// +class ISteamNetworkingMessages +{ +public: + /// Sends a message to the specified host. If we don't already have a session with that user, + /// a session is implicitly created. There might be some handshaking that needs to happen + /// before we can actually begin sending message data. If this handshaking fails and we can't + /// get through, an error will be posted via the callback SteamNetworkingMessagesSessionFailed_t. + /// There is no notification when the operation succeeds. (You should have the peer send a reply + /// for this purpose.) + /// + /// Sending a message to a host will also implicitly accept any incoming connection from that host. + /// + /// nSendFlags is a bitmask of k_nSteamNetworkingSend_xxx options + /// + /// nRemoteChannel is a routing number you can use to help route message to different systems. + /// You'll have to call ReceiveMessagesOnChannel() with the same channel number in order to retrieve + /// the data on the other end. + /// + /// Using different channels to talk to the same user will still use the same underlying + /// connection, saving on resources. If you don't need this feature, use 0. + /// Otherwise, small integers are the most efficient. + /// + /// It is guaranteed that reliable messages to the same host on the same channel + /// will be be received by the remote host (if they are received at all) exactly once, + /// and in the same order that they were sent. + /// + /// NO other order guarantees exist! In particular, unreliable messages may be dropped, + /// received out of order with respect to each other and with respect to reliable data, + /// or may be received multiple times. Messages on different channels are *not* guaranteed + /// to be received in the order they were sent. + /// + /// A note for those familiar with TCP/IP ports, or converting an existing codebase that + /// opened multiple sockets: You might notice that there is only one channel, and with + /// TCP/IP each endpoint has a port number. You can think of the channel number as the + /// *destination* port. If you need each message to also include a "source port" (so the + /// recipient can route the reply), then just put that in your message. That is essentially + /// how UDP works! + /// + /// Returns: + /// - k_EREsultOK on success. + /// - k_EResultNoConnection, if the session has failed or was closed by the peer and + /// k_nSteamNetworkingSend_AutoRestartBrokenSession was not specified. (You can + /// use GetSessionConnectionInfo to get the details.) In order to acknowledge the + /// broken session and start a new one, you must call CloseSessionWithUser, or you may + /// repeat the call with k_nSteamNetworkingSend_AutoRestartBrokenSession. See + /// k_nSteamNetworkingSend_AutoRestartBrokenSession for more details. + /// - See ISteamNetworkingSockets::SendMessageToConnection for more possible return values + virtual EResult SendMessageToUser( const SteamNetworkingIdentity &identityRemote, const void *pubData, uint32 cubData, int nSendFlags, int nRemoteChannel ) = 0; + + /// Reads the next message that has been sent from another user via SendMessageToUser() on the given channel. + /// Returns number of messages returned into your list. (0 if no message are available on that channel.) + /// + /// When you're done with the message object(s), make sure and call SteamNetworkingMessage_t::Release()! + virtual int ReceiveMessagesOnChannel( int nLocalChannel, SteamNetworkingMessage_t **ppOutMessages, int nMaxMessages ) = 0; + + /// Call this in response to a SteamNetworkingMessagesSessionRequest_t callback. + /// SteamNetworkingMessagesSessionRequest_t are posted when a user tries to send you a message, + /// and you haven't tried to talk to them first. If you don't want to talk to them, just ignore + /// the request. If the user continues to send you messages, SteamNetworkingMessagesSessionRequest_t + /// callbacks will continue to be posted periodically. + /// + /// Returns false if there is no session with the user pending or otherwise. If there is an + /// existing active session, this function will return true, even if it is not pending. + /// + /// Calling SendMessageToUser() will implicitly accepts any pending session request to that user. + virtual bool AcceptSessionWithUser( const SteamNetworkingIdentity &identityRemote ) = 0; + + /// Call this when you're done talking to a user to immediately free up resources under-the-hood. + /// If the remote user tries to send data to you again, another SteamNetworkingMessagesSessionRequest_t + /// callback will be posted. + /// + /// Note that sessions that go unused for a few minutes are automatically timed out. + virtual bool CloseSessionWithUser( const SteamNetworkingIdentity &identityRemote ) = 0; + + /// Call this when you're done talking to a user on a specific channel. Once all + /// open channels to a user have been closed, the open session to the user will be + /// closed, and any new data from this user will trigger a + /// SteamSteamNetworkingMessagesSessionRequest_t callback + virtual bool CloseChannelWithUser( const SteamNetworkingIdentity &identityRemote, int nLocalChannel ) = 0; + + /// Returns information about the latest state of a connection, if any, with the given peer. + /// Primarily intended for debugging purposes, but can also be used to get more detailed + /// failure information. (See SendMessageToUser and k_nSteamNetworkingSend_AutoRestartBrokenSession.) + /// + /// Returns the value of SteamNetConnectionInfo_t::m_eState, or k_ESteamNetworkingConnectionState_None + /// if no connection exists with specified peer. You may pass nullptr for either parameter if + /// you do not need the corresponding details. Note that sessions time out after a while, + /// so if a connection fails, or SendMessageToUser returns k_EResultNoConnection, you cannot wait + /// indefinitely to obtain the reason for failure. + virtual ESteamNetworkingConnectionState GetSessionConnectionInfo( const SteamNetworkingIdentity &identityRemote, SteamNetConnectionInfo_t *pConnectionInfo, SteamNetConnectionRealTimeStatus_t *pQuickStatus ) = 0; +}; +#define STEAMNETWORKINGMESSAGES_INTERFACE_VERSION "SteamNetworkingMessages002" + +// +// Callbacks +// + +#pragma pack( push, 1 ) + +/// Posted when a remote host is sending us a message, and we do not already have a session with them +struct SteamNetworkingMessagesSessionRequest_t +{ + enum { k_iCallback = k_iSteamNetworkingMessagesCallbacks + 1 }; + SteamNetworkingIdentity m_identityRemote; // user who wants to talk to us +}; + +/// Posted when we fail to establish a connection, or we detect that communications +/// have been disrupted it an unusual way. There is no notification when a peer proactively +/// closes the session. ("Closed by peer" is not a concept of UDP-style communications, and +/// SteamNetworkingMessages is primarily intended to make porting UDP code easy.) +/// +/// Remember: callbacks are asynchronous. See notes on SendMessageToUser, +/// and k_nSteamNetworkingSend_AutoRestartBrokenSession in particular. +/// +/// Also, if a session times out due to inactivity, no callbacks will be posted. The only +/// way to detect that this is happening is that querying the session state may return +/// none, connecting, and findingroute again. +struct SteamNetworkingMessagesSessionFailed_t +{ + enum { k_iCallback = k_iSteamNetworkingMessagesCallbacks + 2 }; + + /// Detailed info about the session that failed. + /// SteamNetConnectionInfo_t::m_identityRemote indicates who this session + /// was with. + SteamNetConnectionInfo_t m_info; +}; + +#pragma pack(pop) + +// Global accessors + +// Using standalone lib +#ifdef STEAMNETWORKINGSOCKETS_STANDALONELIB + + static_assert( STEAMNETWORKINGMESSAGES_INTERFACE_VERSION[25] == '2', "Version mismatch" ); + + STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingMessages *SteamNetworkingMessages_LibV2(); + inline ISteamNetworkingMessages *SteamNetworkingMessages_Lib() { return SteamNetworkingMessages_LibV2(); } + + // If running in context of steam, we also define a gameserver instance. + STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingMessages *SteamGameServerNetworkingMessages_LibV2(); + inline ISteamNetworkingMessages *SteamGameServerNetworkingMessages_Lib() { return SteamGameServerNetworkingMessages_LibV2(); } + + #ifndef STEAMNETWORKINGSOCKETS_STEAMAPI + inline ISteamNetworkingMessages *SteamNetworkingMessages() { return SteamNetworkingMessages_LibV2(); } + inline ISteamNetworkingMessages *SteamGameServerNetworkingMessages() { return SteamGameServerNetworkingMessages_LibV2(); } + #endif +#endif + +// Using Steamworks SDK +#ifdef STEAMNETWORKINGSOCKETS_STEAMAPI + + // Steamworks SDK + STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamNetworkingMessages *, SteamNetworkingMessages_SteamAPI, STEAMNETWORKINGMESSAGES_INTERFACE_VERSION ); + STEAM_DEFINE_GAMESERVER_INTERFACE_ACCESSOR( ISteamNetworkingMessages *, SteamGameServerNetworkingMessages_SteamAPI, STEAMNETWORKINGMESSAGES_INTERFACE_VERSION ); + + #ifndef STEAMNETWORKINGSOCKETS_STANDALONELIB + inline ISteamNetworkingMessages *SteamNetworkingMessages() { return SteamNetworkingMessages_SteamAPI(); } + inline ISteamNetworkingMessages *SteamGameServerNetworkingMessages() { return SteamGameServerNetworkingMessages_SteamAPI(); } + #endif +#endif + +#endif // ISTEAMNETWORKINGMESSAGES diff --git a/lsteamclient/steamworks_sdk_159x/isteamnetworkingsockets.h b/lsteamclient/steamworks_sdk_159x/isteamnetworkingsockets.h new file mode 100644 index 0000000000..c631558b4e --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamnetworkingsockets.h @@ -0,0 +1,1029 @@ +//====== Copyright Valve Corporation, All rights reserved. ==================== + +#ifndef ISTEAMNETWORKINGSOCKETS +#define ISTEAMNETWORKINGSOCKETS + +#include "steamnetworkingtypes.h" +#include "steam_api_common.h" + +struct SteamNetAuthenticationStatus_t; +struct SteamNetworkingFakeIPResult_t; +class ISteamNetworkingConnectionSignaling; +class ISteamNetworkingSignalingRecvContext; +class ISteamNetworkingFakeUDPPort; + +//----------------------------------------------------------------------------- +/// Lower level networking API. +/// +/// - Connection-oriented API (like TCP, not UDP). When sending and receiving +/// messages, a connection handle is used. (For a UDP-style interface, where +/// the peer is identified by their address with each send/recv call, see +/// ISteamNetworkingMessages.) The typical pattern is for a "server" to "listen" +/// on a "listen socket." A "client" will "connect" to the server, and the +/// server will "accept" the connection. If you have a symmetric situation +/// where either peer may initiate the connection and server/client roles are +/// not clearly defined, check out k_ESteamNetworkingConfig_SymmetricConnect. +/// - But unlike TCP, it's message-oriented, not stream-oriented. +/// - Mix of reliable and unreliable messages +/// - Fragmentation and reassembly +/// - Supports connectivity over plain UDP +/// - Also supports SDR ("Steam Datagram Relay") connections, which are +/// addressed by the identity of the peer. There is a "P2P" use case and +/// a "hosted dedicated server" use case. +/// +/// Note that neither of the terms "connection" nor "socket" necessarily correspond +/// one-to-one with an underlying UDP socket. An attempt has been made to +/// keep the semantics as similar to the standard socket model when appropriate, +/// but some deviations do exist. +/// +/// See also: ISteamNetworkingMessages, the UDP-style interface. This API might be +/// easier to use, especially when porting existing UDP code. +class ISteamNetworkingSockets +{ +public: + + /// Creates a "server" socket that listens for clients to connect to by + /// calling ConnectByIPAddress, over ordinary UDP (IPv4 or IPv6) + /// + /// You must select a specific local port to listen on and set it + /// the port field of the local address. + /// + /// Usually you will set the IP portion of the address to zero (SteamNetworkingIPAddr::Clear()). + /// This means that you will not bind to any particular local interface (i.e. the same + /// as INADDR_ANY in plain socket code). Furthermore, if possible the socket will be bound + /// in "dual stack" mode, which means that it can accept both IPv4 and IPv6 client connections. + /// If you really do wish to bind a particular interface, then set the local address to the + /// appropriate IPv4 or IPv6 IP. + /// + /// If you need to set any initial config options, pass them here. See + /// SteamNetworkingConfigValue_t for more about why this is preferable to + /// setting the options "immediately" after creation. + /// + /// When a client attempts to connect, a SteamNetConnectionStatusChangedCallback_t + /// will be posted. The connection will be in the connecting state. + virtual HSteamListenSocket CreateListenSocketIP( const SteamNetworkingIPAddr &localAddress, int nOptions, const SteamNetworkingConfigValue_t *pOptions ) = 0; + + /// Creates a connection and begins talking to a "server" over UDP at the + /// given IPv4 or IPv6 address. The remote host must be listening with a + /// matching call to CreateListenSocketIP on the specified port. + /// + /// A SteamNetConnectionStatusChangedCallback_t callback will be triggered when we start + /// connecting, and then another one on either timeout or successful connection. + /// + /// If the server does not have any identity configured, then their network address + /// will be the only identity in use. Or, the network host may provide a platform-specific + /// identity with or without a valid certificate to authenticate that identity. (These + /// details will be contained in the SteamNetConnectionStatusChangedCallback_t.) It's + /// up to your application to decide whether to allow the connection. + /// + /// By default, all connections will get basic encryption sufficient to prevent + /// casual eavesdropping. But note that without certificates (or a shared secret + /// distributed through some other out-of-band mechanism), you don't have any + /// way of knowing who is actually on the other end, and thus are vulnerable to + /// man-in-the-middle attacks. + /// + /// If you need to set any initial config options, pass them here. See + /// SteamNetworkingConfigValue_t for more about why this is preferable to + /// setting the options "immediately" after creation. + virtual HSteamNetConnection ConnectByIPAddress( const SteamNetworkingIPAddr &address, int nOptions, const SteamNetworkingConfigValue_t *pOptions ) = 0; + + /// Like CreateListenSocketIP, but clients will connect using ConnectP2P. + /// + /// nLocalVirtualPort specifies how clients can connect to this socket using + /// ConnectP2P. It's very common for applications to only have one listening socket; + /// in that case, use zero. If you need to open multiple listen sockets and have clients + /// be able to connect to one or the other, then nLocalVirtualPort should be a small + /// integer (<1000) unique to each listen socket you create. + /// + /// If you use this, you probably want to call ISteamNetworkingUtils::InitRelayNetworkAccess() + /// when your app initializes. + /// + /// If you are listening on a dedicated servers in known data center, + /// then you can listen using this function instead of CreateHostedDedicatedServerListenSocket, + /// to allow clients to connect without a ticket. Any user that owns + /// the app and is signed into Steam will be able to attempt to connect to + /// your server. Also, a connection attempt may require the client to + /// be connected to Steam, which is one more moving part that may fail. When + /// tickets are used, then once a ticket is obtained, a client can connect to + /// your server even if they got disconnected from Steam or Steam is offline. + /// + /// If you need to set any initial config options, pass them here. See + /// SteamNetworkingConfigValue_t for more about why this is preferable to + /// setting the options "immediately" after creation. + virtual HSteamListenSocket CreateListenSocketP2P( int nLocalVirtualPort, int nOptions, const SteamNetworkingConfigValue_t *pOptions ) = 0; + + /// Begin connecting to a peer that is identified using a platform-specific identifier. + /// This uses the default rendezvous service, which depends on the platform and library + /// configuration. (E.g. on Steam, it goes through the steam backend.) + /// + /// If you need to set any initial config options, pass them here. See + /// SteamNetworkingConfigValue_t for more about why this is preferable to + /// setting the options "immediately" after creation. + /// + /// To use your own signaling service, see: + /// - ConnectP2PCustomSignaling + /// - k_ESteamNetworkingConfig_Callback_CreateConnectionSignaling + virtual HSteamNetConnection ConnectP2P( const SteamNetworkingIdentity &identityRemote, int nRemoteVirtualPort, int nOptions, const SteamNetworkingConfigValue_t *pOptions ) = 0; + + /// Accept an incoming connection that has been received on a listen socket. + /// + /// When a connection attempt is received (perhaps after a few basic handshake + /// packets have been exchanged to prevent trivial spoofing), a connection interface + /// object is created in the k_ESteamNetworkingConnectionState_Connecting state + /// and a SteamNetConnectionStatusChangedCallback_t is posted. At this point, your + /// application MUST either accept or close the connection. (It may not ignore it.) + /// Accepting the connection will transition it either into the connected state, + /// or the finding route state, depending on the connection type. + /// + /// You should take action within a second or two, because accepting the connection is + /// what actually sends the reply notifying the client that they are connected. If you + /// delay taking action, from the client's perspective it is the same as the network + /// being unresponsive, and the client may timeout the connection attempt. In other + /// words, the client cannot distinguish between a delay caused by network problems + /// and a delay caused by the application. + /// + /// This means that if your application goes for more than a few seconds without + /// processing callbacks (for example, while loading a map), then there is a chance + /// that a client may attempt to connect in that interval and fail due to timeout. + /// + /// If the application does not respond to the connection attempt in a timely manner, + /// and we stop receiving communication from the client, the connection attempt will + /// be timed out locally, transitioning the connection to the + /// k_ESteamNetworkingConnectionState_ProblemDetectedLocally state. The client may also + /// close the connection before it is accepted, and a transition to the + /// k_ESteamNetworkingConnectionState_ClosedByPeer is also possible depending the exact + /// sequence of events. + /// + /// Returns k_EResultInvalidParam if the handle is invalid. + /// Returns k_EResultInvalidState if the connection is not in the appropriate state. + /// (Remember that the connection state could change in between the time that the + /// notification being posted to the queue and when it is received by the application.) + /// + /// A note about connection configuration options. If you need to set any configuration + /// options that are common to all connections accepted through a particular listen + /// socket, consider setting the options on the listen socket, since such options are + /// inherited automatically. If you really do need to set options that are connection + /// specific, it is safe to set them on the connection before accepting the connection. + virtual EResult AcceptConnection( HSteamNetConnection hConn ) = 0; + + /// Disconnects from the remote host and invalidates the connection handle. + /// Any unread data on the connection is discarded. + /// + /// nReason is an application defined code that will be received on the other + /// end and recorded (when possible) in backend analytics. The value should + /// come from a restricted range. (See ESteamNetConnectionEnd.) If you don't need + /// to communicate any information to the remote host, and do not want analytics to + /// be able to distinguish "normal" connection terminations from "exceptional" ones, + /// You may pass zero, in which case the generic value of + /// k_ESteamNetConnectionEnd_App_Generic will be used. + /// + /// pszDebug is an optional human-readable diagnostic string that will be received + /// by the remote host and recorded (when possible) in backend analytics. + /// + /// If you wish to put the socket into a "linger" state, where an attempt is made to + /// flush any remaining sent data, use bEnableLinger=true. Otherwise reliable data + /// is not flushed. + /// + /// If the connection has already ended and you are just freeing up the + /// connection interface, the reason code, debug string, and linger flag are + /// ignored. + virtual bool CloseConnection( HSteamNetConnection hPeer, int nReason, const char *pszDebug, bool bEnableLinger ) = 0; + + /// Destroy a listen socket. All the connections that were accepting on the listen + /// socket are closed ungracefully. + virtual bool CloseListenSocket( HSteamListenSocket hSocket ) = 0; + + /// Set connection user data. the data is returned in the following places + /// - You can query it using GetConnectionUserData. + /// - The SteamNetworkingmessage_t structure. + /// - The SteamNetConnectionInfo_t structure. + /// (Which is a member of SteamNetConnectionStatusChangedCallback_t -- but see WARNINGS below!!!!) + /// + /// Do you need to set this atomically when the connection is created? + /// See k_ESteamNetworkingConfig_ConnectionUserData. + /// + /// WARNING: Be *very careful* when using the value provided in callbacks structs. + /// Callbacks are queued, and the value that you will receive in your + /// callback is the userdata that was effective at the time the callback + /// was queued. There are subtle race conditions that can happen if you + /// don't understand this! + /// + /// If any incoming messages for this connection are queued, the userdata + /// field is updated, so that when when you receive messages (e.g. with + /// ReceiveMessagesOnConnection), they will always have the very latest + /// userdata. So the tricky race conditions that can happen with callbacks + /// do not apply to retrieving messages. + /// + /// Returns false if the handle is invalid. + virtual bool SetConnectionUserData( HSteamNetConnection hPeer, int64 nUserData ) = 0; + + /// Fetch connection user data. Returns -1 if handle is invalid + /// or if you haven't set any userdata on the connection. + virtual int64 GetConnectionUserData( HSteamNetConnection hPeer ) = 0; + + /// Set a name for the connection, used mostly for debugging + virtual void SetConnectionName( HSteamNetConnection hPeer, const char *pszName ) = 0; + + /// Fetch connection name. Returns false if handle is invalid + virtual bool GetConnectionName( HSteamNetConnection hPeer, char *pszName, int nMaxLen ) = 0; + + /// Send a message to the remote host on the specified connection. + /// + /// nSendFlags determines the delivery guarantees that will be provided, + /// when data should be buffered, etc. E.g. k_nSteamNetworkingSend_Unreliable + /// + /// Note that the semantics we use for messages are not precisely + /// the same as the semantics of a standard "stream" socket. + /// (SOCK_STREAM) For an ordinary stream socket, the boundaries + /// between chunks are not considered relevant, and the sizes of + /// the chunks of data written will not necessarily match up to + /// the sizes of the chunks that are returned by the reads on + /// the other end. The remote host might read a partial chunk, + /// or chunks might be coalesced. For the message semantics + /// used here, however, the sizes WILL match. Each send call + /// will match a successful read call on the remote host + /// one-for-one. If you are porting existing stream-oriented + /// code to the semantics of reliable messages, your code should + /// work the same, since reliable message semantics are more + /// strict than stream semantics. The only caveat is related to + /// performance: there is per-message overhead to retain the + /// message sizes, and so if your code sends many small chunks + /// of data, performance will suffer. Any code based on stream + /// sockets that does not write excessively small chunks will + /// work without any changes. + /// + /// The pOutMessageNumber is an optional pointer to receive the + /// message number assigned to the message, if sending was successful. + /// + /// Returns: + /// - k_EResultInvalidParam: invalid connection handle, or the individual message is too big. + /// (See k_cbMaxSteamNetworkingSocketsMessageSizeSend) + /// - k_EResultInvalidState: connection is in an invalid state + /// - k_EResultNoConnection: connection has ended + /// - k_EResultIgnored: You used k_nSteamNetworkingSend_NoDelay, and the message was dropped because + /// we were not ready to send it. + /// - k_EResultLimitExceeded: there was already too much data queued to be sent. + /// (See k_ESteamNetworkingConfig_SendBufferSize) + virtual EResult SendMessageToConnection( HSteamNetConnection hConn, const void *pData, uint32 cbData, int nSendFlags, int64 *pOutMessageNumber ) = 0; + + /// Send one or more messages without copying the message payload. + /// This is the most efficient way to send messages. To use this + /// function, you must first allocate a message object using + /// ISteamNetworkingUtils::AllocateMessage. (Do not declare one + /// on the stack or allocate your own.) + /// + /// You should fill in the message payload. You can either let + /// it allocate the buffer for you and then fill in the payload, + /// or if you already have a buffer allocated, you can just point + /// m_pData at your buffer and set the callback to the appropriate function + /// to free it. Note that if you use your own buffer, it MUST remain valid + /// until the callback is executed. And also note that your callback can be + /// invoked at any time from any thread (perhaps even before SendMessages + /// returns!), so it MUST be fast and threadsafe. + /// + /// You MUST also fill in: + /// - m_conn - the handle of the connection to send the message to + /// - m_nFlags - bitmask of k_nSteamNetworkingSend_xxx flags. + /// + /// All other fields are currently reserved and should not be modified. + /// + /// The library will take ownership of the message structures. They may + /// be modified or become invalid at any time, so you must not read them + /// after passing them to this function. + /// + /// pOutMessageNumberOrResult is an optional array that will receive, + /// for each message, the message number that was assigned to the message + /// if sending was successful. If sending failed, then a negative EResult + /// value is placed into the array. For example, the array will hold + /// -k_EResultInvalidState if the connection was in an invalid state. + /// See ISteamNetworkingSockets::SendMessageToConnection for possible + /// failure codes. + virtual void SendMessages( int nMessages, SteamNetworkingMessage_t *const *pMessages, int64 *pOutMessageNumberOrResult ) = 0; + + /// Flush any messages waiting on the Nagle timer and send them + /// at the next transmission opportunity (often that means right now). + /// + /// If Nagle is enabled (it's on by default) then when calling + /// SendMessageToConnection the message will be buffered, up to the Nagle time + /// before being sent, to merge small messages into the same packet. + /// (See k_ESteamNetworkingConfig_NagleTime) + /// + /// Returns: + /// k_EResultInvalidParam: invalid connection handle + /// k_EResultInvalidState: connection is in an invalid state + /// k_EResultNoConnection: connection has ended + /// k_EResultIgnored: We weren't (yet) connected, so this operation has no effect. + virtual EResult FlushMessagesOnConnection( HSteamNetConnection hConn ) = 0; + + /// Fetch the next available message(s) from the connection, if any. + /// Returns the number of messages returned into your array, up to nMaxMessages. + /// If the connection handle is invalid, -1 is returned. + /// + /// The order of the messages returned in the array is relevant. + /// Reliable messages will be received in the order they were sent (and with the + /// same sizes --- see SendMessageToConnection for on this subtle difference from a stream socket). + /// + /// Unreliable messages may be dropped, or delivered out of order with respect to + /// each other or with respect to reliable messages. The same unreliable message + /// may be received multiple times. + /// + /// If any messages are returned, you MUST call SteamNetworkingMessage_t::Release() on each + /// of them free up resources after you are done. It is safe to keep the object alive for + /// a little while (put it into some queue, etc), and you may call Release() from any thread. + virtual int ReceiveMessagesOnConnection( HSteamNetConnection hConn, SteamNetworkingMessage_t **ppOutMessages, int nMaxMessages ) = 0; + + /// Returns basic information about the high-level state of the connection. + virtual bool GetConnectionInfo( HSteamNetConnection hConn, SteamNetConnectionInfo_t *pInfo ) = 0; + + /// Returns a small set of information about the real-time state of the connection + /// and the queue status of each lane. + /// + /// - pStatus may be NULL if the information is not desired. (E.g. you are only interested + /// in the lane information.) + /// - On entry, nLanes specifies the length of the pLanes array. This may be 0 + /// if you do not wish to receive any lane data. It's OK for this to be smaller than + /// the total number of configured lanes. + /// - pLanes points to an array that will receive lane-specific info. It can be NULL + /// if this is not needed. + /// + /// Return value: + /// - k_EResultNoConnection - connection handle is invalid or connection has been closed. + /// - k_EResultInvalidParam - nLanes is bad + virtual EResult GetConnectionRealTimeStatus( HSteamNetConnection hConn, SteamNetConnectionRealTimeStatus_t *pStatus, + int nLanes, SteamNetConnectionRealTimeLaneStatus_t *pLanes ) = 0; + + /// Returns detailed connection stats in text format. Useful + /// for dumping to a log, etc. + /// + /// Returns: + /// -1 failure (bad connection handle) + /// 0 OK, your buffer was filled in and '\0'-terminated + /// >0 Your buffer was either nullptr, or it was too small and the text got truncated. + /// Try again with a buffer of at least N bytes. + virtual int GetDetailedConnectionStatus( HSteamNetConnection hConn, char *pszBuf, int cbBuf ) = 0; + + /// Returns local IP and port that a listen socket created using CreateListenSocketIP is bound to. + /// + /// An IPv6 address of ::0 means "any IPv4 or IPv6" + /// An IPv6 address of ::ffff:0000:0000 means "any IPv4" + virtual bool GetListenSocketAddress( HSteamListenSocket hSocket, SteamNetworkingIPAddr *address ) = 0; + + /// Create a pair of connections that are talking to each other, e.g. a loopback connection. + /// This is very useful for testing, or so that your client/server code can work the same + /// even when you are running a local "server". + /// + /// The two connections will immediately be placed into the connected state, and no callbacks + /// will be posted immediately. After this, if you close either connection, the other connection + /// will receive a callback, exactly as if they were communicating over the network. You must + /// close *both* sides in order to fully clean up the resources! + /// + /// By default, internal buffers are used, completely bypassing the network, the chopping up of + /// messages into packets, encryption, copying the payload, etc. This means that loopback + /// packets, by default, will not simulate lag or loss. Passing true for bUseNetworkLoopback will + /// cause the socket pair to send packets through the local network loopback device (127.0.0.1) + /// on ephemeral ports. Fake lag and loss are supported in this case, and CPU time is expended + /// to encrypt and decrypt. + /// + /// If you wish to assign a specific identity to either connection, you may pass a particular + /// identity. Otherwise, if you pass nullptr, the respective connection will assume a generic + /// "localhost" identity. If you use real network loopback, this might be translated to the + /// actual bound loopback port. Otherwise, the port will be zero. + virtual bool CreateSocketPair( HSteamNetConnection *pOutConnection1, HSteamNetConnection *pOutConnection2, bool bUseNetworkLoopback, const SteamNetworkingIdentity *pIdentity1, const SteamNetworkingIdentity *pIdentity2 ) = 0; + + /// Configure multiple outbound messages streams ("lanes") on a connection, and + /// control head-of-line blocking between them. Messages within a given lane + /// are always sent in the order they are queued, but messages from different + /// lanes may be sent out of order. Each lane has its own message number + /// sequence. The first message sent on each lane will be assigned the number 1. + /// + /// Each lane has a "priority". Lanes with higher numeric values will only be processed + /// when all lanes with lower number values are empty. The magnitudes of the priority + /// values are not relevant, only their sort order. + /// + /// Each lane also is assigned a weight, which controls the approximate proportion + /// of the bandwidth that will be consumed by the lane, relative to other lanes + /// of the same priority. (This is assuming the lane stays busy. An idle lane + /// does not build up "credits" to be be spent once a message is queued.) + /// This value is only meaningful as a proportion, relative to other lanes with + /// the same priority. For lanes with different priorities, the strict priority + /// order will prevail, and their weights relative to each other are not relevant. + /// Thus, if a lane has a unique priority value, the weight value for that lane is + /// not relevant. + /// + /// Example: 3 lanes, with priorities [ 0, 10, 10 ] and weights [ (NA), 20, 5 ]. + /// Messages sent on the first will always be sent first, before messages in the + /// other two lanes. Its weight value is irrelevant, since there are no other + /// lanes with priority=0. The other two lanes will share bandwidth, with the second + /// and third lanes sharing bandwidth using a ratio of approximately 4:1. + /// (The weights [ NA, 4, 1 ] would be equivalent.) + /// + /// Notes: + /// - At the time of this writing, some code has performance cost that is linear + /// in the number of lanes, so keep the number of lanes to an absolute minimum. + /// 3 or so is fine; >8 is a lot. The max number of lanes on Steam is 255, + /// which is a very large number and not recommended! If you are compiling this + /// library from source, see STEAMNETWORKINGSOCKETS_MAX_LANES.) + /// - Lane priority values may be any int. Their absolute value is not relevant, + /// only the order matters. + /// - Weights must be positive, and due to implementation details, they are restricted + /// to 16-bit values. The absolute magnitudes don't matter, just the proportions. + /// - Messages sent on a lane index other than 0 have a small overhead on the wire, + /// so for maximum wire efficiency, lane 0 should be the "most common" lane, regardless + /// of priorities or weights. + /// - A connection has a single lane by default. Calling this function with + /// nNumLanes=1 is legal, but pointless, since the priority and weight values are + /// irrelevant in that case. + /// - You may reconfigure connection lanes at any time, however reducing the number of + /// lanes is not allowed. + /// - Reconfiguring lanes might restart any bandwidth sharing balancing. Usually you + /// will call this function once, near the start of the connection, perhaps after + /// exchanging a few messages. + /// - To assign all lanes the same priority, you may use pLanePriorities=NULL. + /// - If you wish all lanes with the same priority to share bandwidth equally (or + /// if no two lanes have the same priority value, and thus priority values are + /// irrelevant), you may use pLaneWeights=NULL + /// - Priorities and weights determine the order that messages are SENT on the wire. + /// There are NO GUARANTEES on the order that messages are RECEIVED! Due to packet + /// loss, out-of-order delivery, and subtle details of packet serialization, messages + /// might still be received slightly out-of-order! The *only* strong guarantee is that + /// *reliable* messages on the *same lane* will be delivered in the order they are sent. + /// - Each host configures the lanes for the packets they send; the lanes for the flow + /// in one direction are completely unrelated to the lanes in the opposite direction. + /// + /// Return value: + /// - k_EResultNoConnection - bad hConn + /// - k_EResultInvalidParam - Invalid number of lanes, bad weights, or you tried to reduce the number of lanes + /// - k_EResultInvalidState - Connection is already dead, etc + /// + /// See also: + /// SteamNetworkingMessage_t::m_idxLane + virtual EResult ConfigureConnectionLanes( HSteamNetConnection hConn, int nNumLanes, const int *pLanePriorities, const uint16 *pLaneWeights ) = 0; + + // + // Identity and authentication + // + + /// Get the identity assigned to this interface. + /// E.g. on Steam, this is the user's SteamID, or for the gameserver interface, the SteamID assigned + /// to the gameserver. Returns false and sets the result to an invalid identity if we don't know + /// our identity yet. (E.g. GameServer has not logged in. On Steam, the user will know their SteamID + /// even if they are not signed into Steam.) + virtual bool GetIdentity( SteamNetworkingIdentity *pIdentity ) = 0; + + /// Indicate our desire to be ready participate in authenticated communications. + /// If we are currently not ready, then steps will be taken to obtain the necessary + /// certificates. (This includes a certificate for us, as well as any CA certificates + /// needed to authenticate peers.) + /// + /// You can call this at program init time if you know that you are going to + /// be making authenticated connections, so that we will be ready immediately when + /// those connections are attempted. (Note that essentially all connections require + /// authentication, with the exception of ordinary UDP connections with authentication + /// disabled using k_ESteamNetworkingConfig_IP_AllowWithoutAuth.) If you don't call + /// this function, we will wait until a feature is utilized that that necessitates + /// these resources. + /// + /// You can also call this function to force a retry, if failure has occurred. + /// Once we make an attempt and fail, we will not automatically retry. + /// In this respect, the behavior of the system after trying and failing is the same + /// as before the first attempt: attempting authenticated communication or calling + /// this function will call the system to attempt to acquire the necessary resources. + /// + /// You can use GetAuthenticationStatus or listen for SteamNetAuthenticationStatus_t + /// to monitor the status. + /// + /// Returns the current value that would be returned from GetAuthenticationStatus. + virtual ESteamNetworkingAvailability InitAuthentication() = 0; + + /// Query our readiness to participate in authenticated communications. A + /// SteamNetAuthenticationStatus_t callback is posted any time this status changes, + /// but you can use this function to query it at any time. + /// + /// The value of SteamNetAuthenticationStatus_t::m_eAvail is returned. If you only + /// want this high level status, you can pass NULL for pDetails. If you want further + /// details, pass non-NULL to receive them. + virtual ESteamNetworkingAvailability GetAuthenticationStatus( SteamNetAuthenticationStatus_t *pDetails ) = 0; + + // + // Poll groups. A poll group is a set of connections that can be polled efficiently. + // (In our API, to "poll" a connection means to retrieve all pending messages. We + // actually don't have an API to "poll" the connection *state*, like BSD sockets.) + // + + /// Create a new poll group. + /// + /// You should destroy the poll group when you are done using DestroyPollGroup + virtual HSteamNetPollGroup CreatePollGroup() = 0; + + /// Destroy a poll group created with CreatePollGroup(). + /// + /// If there are any connections in the poll group, they are removed from the group, + /// and left in a state where they are not part of any poll group. + /// Returns false if passed an invalid poll group handle. + virtual bool DestroyPollGroup( HSteamNetPollGroup hPollGroup ) = 0; + + /// Assign a connection to a poll group. Note that a connection may only belong to a + /// single poll group. Adding a connection to a poll group implicitly removes it from + /// any other poll group it is in. + /// + /// You can pass k_HSteamNetPollGroup_Invalid to remove a connection from its current + /// poll group without adding it to a new poll group. + /// + /// If there are received messages currently pending on the connection, an attempt + /// is made to add them to the queue of messages for the poll group in approximately + /// the order that would have applied if the connection was already part of the poll + /// group at the time that the messages were received. + /// + /// Returns false if the connection handle is invalid, or if the poll group handle + /// is invalid (and not k_HSteamNetPollGroup_Invalid). + virtual bool SetConnectionPollGroup( HSteamNetConnection hConn, HSteamNetPollGroup hPollGroup ) = 0; + + /// Same as ReceiveMessagesOnConnection, but will return the next messages available + /// on any connection in the poll group. Examine SteamNetworkingMessage_t::m_conn + /// to know which connection. (SteamNetworkingMessage_t::m_nConnUserData might also + /// be useful.) + /// + /// Delivery order of messages among different connections will usually match the + /// order that the last packet was received which completed the message. But this + /// is not a strong guarantee, especially for packets received right as a connection + /// is being assigned to poll group. + /// + /// Delivery order of messages on the same connection is well defined and the + /// same guarantees are present as mentioned in ReceiveMessagesOnConnection. + /// (But the messages are not grouped by connection, so they will not necessarily + /// appear consecutively in the list; they may be interleaved with messages for + /// other connections.) + virtual int ReceiveMessagesOnPollGroup( HSteamNetPollGroup hPollGroup, SteamNetworkingMessage_t **ppOutMessages, int nMaxMessages ) = 0; + + // + // Clients connecting to dedicated servers hosted in a data center, + // using tickets issued by your game coordinator. If you are not + // issuing your own tickets to restrict who can attempt to connect + // to your server, then you won't use these functions. + // + + /// Call this when you receive a ticket from your backend / matchmaking system. Puts the + /// ticket into a persistent cache, and optionally returns the parsed ticket. + /// + /// See stamdatagram_ticketgen.h for more details. + virtual bool ReceivedRelayAuthTicket( const void *pvTicket, int cbTicket, SteamDatagramRelayAuthTicket *pOutParsedTicket ) = 0; + + /// Search cache for a ticket to talk to the server on the specified virtual port. + /// If found, returns the number of seconds until the ticket expires, and optionally + /// the complete cracked ticket. Returns 0 if we don't have a ticket. + /// + /// Typically this is useful just to confirm that you have a ticket, before you + /// call ConnectToHostedDedicatedServer to connect to the server. + virtual int FindRelayAuthTicketForServer( const SteamNetworkingIdentity &identityGameServer, int nRemoteVirtualPort, SteamDatagramRelayAuthTicket *pOutParsedTicket ) = 0; + + /// Client call to connect to a server hosted in a Valve data center, on the specified virtual + /// port. You must have placed a ticket for this server into the cache, or else this connect + /// attempt will fail! If you are not issuing your own tickets, then to connect to a dedicated + /// server via SDR in auto-ticket mode, use ConnectP2P. (The server must be configured to allow + /// this type of connection by listening using CreateListenSocketP2P.) + /// + /// You may wonder why tickets are stored in a cache, instead of simply being passed as an argument + /// here. The reason is to make reconnection to a gameserver robust, even if the client computer loses + /// connection to Steam or the central backend, or the app is restarted or crashes, etc. + /// + /// If you use this, you probably want to call ISteamNetworkingUtils::InitRelayNetworkAccess() + /// when your app initializes + /// + /// If you need to set any initial config options, pass them here. See + /// SteamNetworkingConfigValue_t for more about why this is preferable to + /// setting the options "immediately" after creation. + virtual HSteamNetConnection ConnectToHostedDedicatedServer( const SteamNetworkingIdentity &identityTarget, int nRemoteVirtualPort, int nOptions, const SteamNetworkingConfigValue_t *pOptions ) = 0; + + // + // Servers hosted in data centers known to the Valve relay network + // + + /// Returns the value of the SDR_LISTEN_PORT environment variable. This + /// is the UDP server your server will be listening on. This will + /// configured automatically for you in production environments. + /// + /// In development, you'll need to set it yourself. See + /// https://partner.steamgames.com/doc/api/ISteamNetworkingSockets + /// for more information on how to configure dev environments. + virtual uint16 GetHostedDedicatedServerPort() = 0; + + /// Returns 0 if SDR_LISTEN_PORT is not set. Otherwise, returns the data center the server + /// is running in. This will be k_SteamDatagramPOPID_dev in non-production environment. + virtual SteamNetworkingPOPID GetHostedDedicatedServerPOPID() = 0; + + /// Return info about the hosted server. This contains the PoPID of the server, + /// and opaque routing information that can be used by the relays to send traffic + /// to your server. + /// + /// You will need to send this information to your backend, and put it in tickets, + /// so that the relays will know how to forward traffic from + /// clients to your server. See SteamDatagramRelayAuthTicket for more info. + /// + /// Also, note that the routing information is contained in SteamDatagramGameCoordinatorServerLogin, + /// so if possible, it's preferred to use GetGameCoordinatorServerLogin to send this info + /// to your game coordinator service, and also login securely at the same time. + /// + /// On a successful exit, k_EResultOK is returned + /// + /// Unsuccessful exit: + /// - Something other than k_EResultOK is returned. + /// - k_EResultInvalidState: We are not configured to listen for SDR (SDR_LISTEN_SOCKET + /// is not set.) + /// - k_EResultPending: we do not (yet) have the authentication information needed. + /// (See GetAuthenticationStatus.) If you use environment variables to pre-fetch + /// the network config, this data should always be available immediately. + /// - A non-localized diagnostic debug message will be placed in m_data that describes + /// the cause of the failure. + /// + /// NOTE: The returned blob is not encrypted. Send it to your backend, but don't + /// directly share it with clients. + virtual EResult GetHostedDedicatedServerAddress( SteamDatagramHostedAddress *pRouting ) = 0; + + /// Create a listen socket on the specified virtual port. The physical UDP port to use + /// will be determined by the SDR_LISTEN_PORT environment variable. If a UDP port is not + /// configured, this call will fail. + /// + /// This call MUST be made through the SteamGameServerNetworkingSockets() interface. + /// + /// This function should be used when you are using the ticket generator library + /// to issue your own tickets. Clients connecting to the server on this virtual + /// port will need a ticket, and they must connect using ConnectToHostedDedicatedServer. + /// + /// If you need to set any initial config options, pass them here. See + /// SteamNetworkingConfigValue_t for more about why this is preferable to + /// setting the options "immediately" after creation. + virtual HSteamListenSocket CreateHostedDedicatedServerListenSocket( int nLocalVirtualPort, int nOptions, const SteamNetworkingConfigValue_t *pOptions ) = 0; + + /// Generate an authentication blob that can be used to securely login with + /// your backend, using SteamDatagram_ParseHostedServerLogin. (See + /// steamdatagram_gamecoordinator.h) + /// + /// Before calling the function: + /// - Populate the app data in pLoginInfo (m_cbAppData and m_appData). You can leave + /// all other fields uninitialized. + /// - *pcbSignedBlob contains the size of the buffer at pBlob. (It should be + /// at least k_cbMaxSteamDatagramGameCoordinatorServerLoginSerialized.) + /// + /// On a successful exit: + /// - k_EResultOK is returned + /// - All of the remaining fields of pLoginInfo will be filled out. + /// - *pcbSignedBlob contains the size of the serialized blob that has been + /// placed into pBlob. + /// + /// Unsuccessful exit: + /// - Something other than k_EResultOK is returned. + /// - k_EResultNotLoggedOn: you are not logged in (yet) + /// - See GetHostedDedicatedServerAddress for more potential failure return values. + /// - A non-localized diagnostic debug message will be placed in pBlob that describes + /// the cause of the failure. + /// + /// This works by signing the contents of the SteamDatagramGameCoordinatorServerLogin + /// with the cert that is issued to this server. In dev environments, it's OK if you do + /// not have a cert. (You will need to enable insecure dev login in SteamDatagram_ParseHostedServerLogin.) + /// Otherwise, you will need a signed cert. + /// + /// NOTE: The routing blob returned here is not encrypted. Send it to your backend + /// and don't share it directly with clients. + virtual EResult GetGameCoordinatorServerLogin( SteamDatagramGameCoordinatorServerLogin *pLoginInfo, int *pcbSignedBlob, void *pBlob ) = 0; + + + // + // Relayed connections using custom signaling protocol + // + // This is used if you have your own method of sending out-of-band + // signaling / rendezvous messages through a mutually trusted channel. + // + + /// Create a P2P "client" connection that does signaling over a custom + /// rendezvous/signaling channel. + /// + /// pSignaling points to a new object that you create just for this connection. + /// It must stay valid until Release() is called. Once you pass the + /// object to this function, it assumes ownership. Release() will be called + /// from within the function call if the call fails. Furthermore, until Release() + /// is called, you should be prepared for methods to be invoked on your + /// object from any thread! You need to make sure your object is threadsafe! + /// Furthermore, you should make sure that dispatching the methods is done + /// as quickly as possible. + /// + /// This function will immediately construct a connection in the "connecting" + /// state. Soon after (perhaps before this function returns, perhaps in another thread), + /// the connection will begin sending signaling messages by calling + /// ISteamNetworkingConnectionSignaling::SendSignal. + /// + /// When the remote peer accepts the connection (See + /// ISteamNetworkingSignalingRecvContext::OnConnectRequest), + /// it will begin sending signaling messages. When these messages are received, + /// you can pass them to the connection using ReceivedP2PCustomSignal. + /// + /// If you know the identity of the peer that you expect to be on the other end, + /// you can pass their identity to improve debug output or just detect bugs. + /// If you don't know their identity yet, you can pass NULL, and their + /// identity will be established in the connection handshake. + /// + /// If you use this, you probably want to call ISteamNetworkingUtils::InitRelayNetworkAccess() + /// when your app initializes + /// + /// If you need to set any initial config options, pass them here. See + /// SteamNetworkingConfigValue_t for more about why this is preferable to + /// setting the options "immediately" after creation. + virtual HSteamNetConnection ConnectP2PCustomSignaling( ISteamNetworkingConnectionSignaling *pSignaling, const SteamNetworkingIdentity *pPeerIdentity, int nRemoteVirtualPort, int nOptions, const SteamNetworkingConfigValue_t *pOptions ) = 0; + + /// Called when custom signaling has received a message. When your + /// signaling channel receives a message, it should save off whatever + /// routing information was in the envelope into the context object, + /// and then pass the payload to this function. + /// + /// A few different things can happen next, depending on the message: + /// + /// - If the signal is associated with existing connection, it is dealt + /// with immediately. If any replies need to be sent, they will be + /// dispatched using the ISteamNetworkingConnectionSignaling + /// associated with the connection. + /// - If the message represents a connection request (and the request + /// is not redundant for an existing connection), a new connection + /// will be created, and ReceivedConnectRequest will be called on your + /// context object to determine how to proceed. + /// - Otherwise, the message is for a connection that does not + /// exist (anymore). In this case, we *may* call SendRejectionReply + /// on your context object. + /// + /// In any case, we will not save off pContext or access it after this + /// function returns. + /// + /// Returns true if the message was parsed and dispatched without anything + /// unusual or suspicious happening. Returns false if there was some problem + /// with the message that prevented ordinary handling. (Debug output will + /// usually have more information.) + /// + /// If you expect to be using relayed connections, then you probably want + /// to call ISteamNetworkingUtils::InitRelayNetworkAccess() when your app initializes + virtual bool ReceivedP2PCustomSignal( const void *pMsg, int cbMsg, ISteamNetworkingSignalingRecvContext *pContext ) = 0; + + // + // Certificate provision by the application. On Steam, we normally handle all this automatically + // and you will not need to use these advanced functions. + // + + /// Get blob that describes a certificate request. You can send this to your game coordinator. + /// Upon entry, *pcbBlob should contain the size of the buffer. On successful exit, it will + /// return the number of bytes that were populated. You can pass pBlob=NULL to query for the required + /// size. (512 bytes is a conservative estimate.) + /// + /// Pass this blob to your game coordinator and call SteamDatagram_CreateCert. + virtual bool GetCertificateRequest( int *pcbBlob, void *pBlob, SteamNetworkingErrMsg &errMsg ) = 0; + + /// Set the certificate. The certificate blob should be the output of + /// SteamDatagram_CreateCert. + virtual bool SetCertificate( const void *pCertificate, int cbCertificate, SteamNetworkingErrMsg &errMsg ) = 0; + + /// Reset the identity associated with this instance. + /// Any open connections are closed. Any previous certificates, etc are discarded. + /// You can pass a specific identity that you want to use, or you can pass NULL, + /// in which case the identity will be invalid until you set it using SetCertificate + /// + /// NOTE: This function is not actually supported on Steam! It is included + /// for use on other platforms where the active user can sign out and + /// a new user can sign in. + virtual void ResetIdentity( const SteamNetworkingIdentity *pIdentity ) = 0; + + // + // Misc + // + + /// Invoke all callback functions queued for this interface. + /// See k_ESteamNetworkingConfig_Callback_ConnectionStatusChanged, etc + /// + /// You don't need to call this if you are using Steam's callback dispatch + /// mechanism (SteamAPI_RunCallbacks and SteamGameserver_RunCallbacks). + virtual void RunCallbacks() = 0; + + // + // "FakeIP" system. + // + // A FakeIP is essentially a temporary, arbitrary identifier that + // happens to be a valid IPv4 address. The purpose of this system is to make it + // easy to integrate with existing code that identifies hosts using IPv4 addresses. + // The FakeIP address will never actually be used to send or receive any packets + // on the Internet, it is strictly an identifier. + // + // FakeIP addresses are designed to (hopefully) pass through existing code as + // transparently as possible, while conflicting with "real" addresses that might + // be in use on networks (both the Internet and LANs) in the same code as little + // as possible. At the time this comment is being written, they come from the + // 169.254.0.0/16 range, and the port number will always be >1024. HOWEVER, + // this is subject to change! Do not make assumptions about these addresses, + // or your code might break in the future. In particular, you should use + // functions such as ISteamNetworkingUtils::IsFakeIP to determine if an IP + // address is a "fake" one used by this system. + // + + /// Begin asynchronous process of allocating a fake IPv4 address that other + /// peers can use to contact us via P2P. IP addresses returned by this + /// function are globally unique for a given appid. + /// + /// nNumPorts is the numbers of ports you wish to reserve. This is useful + /// for the same reason that listening on multiple UDP ports is useful for + /// different types of traffic. Because these allocations come from a global + /// namespace, there is a relatively strict limit on the maximum number of + /// ports you may request. (At the time of this writing, the limit is 4.) + /// The port assignments are *not* guaranteed to have any particular order + /// or relationship! Do *not* assume they are contiguous, even though that + /// may often occur in practice. + /// + /// Returns false if a request was already in progress, true if a new request + /// was started. A SteamNetworkingFakeIPResult_t will be posted when the request + /// completes. + /// + /// For gameservers, you *must* call this after initializing the SDK but before + /// beginning login. Steam needs to know in advance that FakeIP will be used. + /// Everywhere your public IP would normally appear (such as the server browser) will be + /// replaced by the FakeIP, and the fake port at index 0. The request is actually queued + /// until the logon completes, so you must not wait until the allocation completes + /// before logging in. Except for trivial failures that can be detected locally + /// (e.g. invalid parameter), a SteamNetworkingFakeIPResult_t callback (whether success or + /// failure) will not be posted until after we have logged in. Furthermore, it is assumed + /// that FakeIP allocation is essential for your application to function, and so failure + /// will not be reported until *several* retries have been attempted. This process may + /// last several minutes. It is *highly* recommended to treat failure as fatal. + /// + /// To communicate using a connection-oriented (TCP-style) API: + /// - Server creates a listen socket using CreateListenSocketP2PFakeIP + /// - Client connects using ConnectByIPAddress, passing in the FakeIP address. + /// - The connection will behave mostly like a P2P connection. The identities + /// that appear in SteamNetConnectionInfo_t will be the FakeIP identity until + /// we know the real identity. Then it will be the real identity. If the + /// SteamNetConnectionInfo_t::m_addrRemote is valid, it will be a real IPv4 + /// address of a NAT-punched connection. Otherwise, it will not be valid. + /// + /// To communicate using an ad-hoc sendto/recv from (UDP-style) API, + /// use CreateFakeUDPPort. + virtual bool BeginAsyncRequestFakeIP( int nNumPorts ) = 0; + + /// Return info about the FakeIP and port(s) that we have been assigned, + /// if any. idxFirstPort is currently reserved and must be zero. + /// Make sure and check SteamNetworkingFakeIPResult_t::m_eResult + virtual void GetFakeIP( int idxFirstPort, SteamNetworkingFakeIPResult_t *pInfo ) = 0; + + /// Create a listen socket that will listen for P2P connections sent + /// to our FakeIP. A peer can initiate connections to this listen + /// socket by calling ConnectByIPAddress. + /// + /// idxFakePort refers to the *index* of the fake port requested, + /// not the actual port number. For example, pass 0 to refer to the + /// first port in the reservation. You must call this only after calling + /// BeginAsyncRequestFakeIP. However, you do not need to wait for the + /// request to complete before creating the listen socket. + virtual HSteamListenSocket CreateListenSocketP2PFakeIP( int idxFakePort, int nOptions, const SteamNetworkingConfigValue_t *pOptions ) = 0; + + /// If the connection was initiated using the "FakeIP" system, then we + /// we can get an IP address for the remote host. If the remote host had + /// a global FakeIP at the time the connection was established, this + /// function will return that global IP. Otherwise, a FakeIP that is + /// unique locally will be allocated from the local FakeIP address space, + /// and that will be returned. + /// + /// The allocation of local FakeIPs attempts to assign addresses in + /// a consistent manner. If multiple connections are made to the + /// same remote host, they *probably* will return the same FakeIP. + /// However, since the namespace is limited, this cannot be guaranteed. + /// + /// On failure, returns: + /// - k_EResultInvalidParam: invalid connection handle + /// - k_EResultIPNotFound: This connection wasn't made using FakeIP system + virtual EResult GetRemoteFakeIPForConnection( HSteamNetConnection hConn, SteamNetworkingIPAddr *pOutAddr ) = 0; + + /// Get an interface that can be used like a UDP port to send/receive + /// datagrams to a FakeIP address. This is intended to make it easy + /// to port existing UDP-based code to take advantage of SDR. + /// + /// idxFakeServerPort refers to the *index* of the port allocated using + /// BeginAsyncRequestFakeIP and is used to create "server" ports. You may + /// call this before the allocation has completed. However, any attempts + /// to send packets will fail until the allocation has succeeded. When + /// the peer receives packets sent from this interface, the from address + /// of the packet will be the globally-unique FakeIP. If you call this + /// function multiple times and pass the same (nonnegative) fake port index, + /// the same object will be returned, and this object is not reference counted. + /// + /// To create a "client" port (e.g. the equivalent of an ephemeral UDP port) + /// pass -1. In this case, a distinct object will be returned for each call. + /// When the peer receives packets sent from this interface, the peer will + /// assign a FakeIP from its own locally-controlled namespace. + virtual ISteamNetworkingFakeUDPPort *CreateFakeUDPPort( int idxFakeServerPort ) = 0; + +protected: + ~ISteamNetworkingSockets(); // Silence some warnings +}; +#define STEAMNETWORKINGSOCKETS_INTERFACE_VERSION "SteamNetworkingSockets012" + +// Global accessors + +// Using standalone lib +#ifdef STEAMNETWORKINGSOCKETS_STANDALONELIB + + static_assert( STEAMNETWORKINGSOCKETS_INTERFACE_VERSION[24] == '2', "Version mismatch" ); + STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingSockets *SteamNetworkingSockets_LibV12(); + inline ISteamNetworkingSockets *SteamNetworkingSockets_Lib() { return SteamNetworkingSockets_LibV12(); } + + STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingSockets *SteamGameServerNetworkingSockets_LibV12(); + inline ISteamNetworkingSockets *SteamGameServerNetworkingSockets_Lib() { return SteamGameServerNetworkingSockets_LibV12(); } + + #ifndef STEAMNETWORKINGSOCKETS_STEAMAPI + inline ISteamNetworkingSockets *SteamNetworkingSockets() { return SteamNetworkingSockets_LibV12(); } + inline ISteamNetworkingSockets *SteamGameServerNetworkingSockets() { return SteamGameServerNetworkingSockets_LibV12(); } + #endif +#endif + +// Using Steamworks SDK +#ifdef STEAMNETWORKINGSOCKETS_STEAMAPI + STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamNetworkingSockets *, SteamNetworkingSockets_SteamAPI, STEAMNETWORKINGSOCKETS_INTERFACE_VERSION ); + STEAM_DEFINE_GAMESERVER_INTERFACE_ACCESSOR( ISteamNetworkingSockets *, SteamGameServerNetworkingSockets_SteamAPI, STEAMNETWORKINGSOCKETS_INTERFACE_VERSION ); + + #ifndef STEAMNETWORKINGSOCKETS_STANDALONELIB + inline ISteamNetworkingSockets *SteamNetworkingSockets() { return SteamNetworkingSockets_SteamAPI(); } + inline ISteamNetworkingSockets *SteamGameServerNetworkingSockets() { return SteamGameServerNetworkingSockets_SteamAPI(); } + #endif +#endif + +/// Callback struct used to notify when a connection has changed state +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error "Must define VALVE_CALLBACK_PACK_SMALL or VALVE_CALLBACK_PACK_LARGE" +#endif + +/// This callback is posted whenever a connection is created, destroyed, or changes state. +/// The m_info field will contain a complete description of the connection at the time the +/// change occurred and the callback was posted. In particular, m_eState will have the +/// new connection state. +/// +/// You will usually need to listen for this callback to know when: +/// - A new connection arrives on a listen socket. +/// m_info.m_hListenSocket will be set, m_eOldState = k_ESteamNetworkingConnectionState_None, +/// and m_info.m_eState = k_ESteamNetworkingConnectionState_Connecting. +/// See ISteamNetworkigSockets::AcceptConnection. +/// - A connection you initiated has been accepted by the remote host. +/// m_eOldState = k_ESteamNetworkingConnectionState_Connecting, and +/// m_info.m_eState = k_ESteamNetworkingConnectionState_Connected. +/// Some connections might transition to k_ESteamNetworkingConnectionState_FindingRoute first. +/// - A connection has been actively rejected or closed by the remote host. +/// m_eOldState = k_ESteamNetworkingConnectionState_Connecting or k_ESteamNetworkingConnectionState_Connected, +/// and m_info.m_eState = k_ESteamNetworkingConnectionState_ClosedByPeer. m_info.m_eEndReason +/// and m_info.m_szEndDebug will have for more details. +/// NOTE: upon receiving this callback, you must still destroy the connection using +/// ISteamNetworkingSockets::CloseConnection to free up local resources. (The details +/// passed to the function are not used in this case, since the connection is already closed.) +/// - A problem was detected with the connection, and it has been closed by the local host. +/// The most common failure is timeout, but other configuration or authentication failures +/// can cause this. m_eOldState = k_ESteamNetworkingConnectionState_Connecting or +/// k_ESteamNetworkingConnectionState_Connected, and m_info.m_eState = k_ESteamNetworkingConnectionState_ProblemDetectedLocally. +/// m_info.m_eEndReason and m_info.m_szEndDebug will have for more details. +/// NOTE: upon receiving this callback, you must still destroy the connection using +/// ISteamNetworkingSockets::CloseConnection to free up local resources. (The details +/// passed to the function are not used in this case, since the connection is already closed.) +/// +/// Remember that callbacks are posted to a queue, and networking connections can +/// change at any time. It is possible that the connection has already changed +/// state by the time you process this callback. +/// +/// Also note that callbacks will be posted when connections are created and destroyed by your own API calls. +struct SteamNetConnectionStatusChangedCallback_t +{ + enum { k_iCallback = k_iSteamNetworkingSocketsCallbacks + 1 }; + + /// Connection handle + HSteamNetConnection m_hConn; + + /// Full connection info + SteamNetConnectionInfo_t m_info; + + /// Previous state. (Current state is in m_info.m_eState) + ESteamNetworkingConnectionState m_eOldState; +}; + +/// A struct used to describe our readiness to participate in authenticated, +/// encrypted communication. In order to do this we need: +/// +/// - The list of trusted CA certificates that might be relevant for this +/// app. +/// - A valid certificate issued by a CA. +/// +/// This callback is posted whenever the state of our readiness changes. +struct SteamNetAuthenticationStatus_t +{ + enum { k_iCallback = k_iSteamNetworkingSocketsCallbacks + 2 }; + + /// Status + ESteamNetworkingAvailability m_eAvail; + + /// Non-localized English language status. For diagnostic/debugging + /// purposes only. + char m_debugMsg[ 256 ]; +}; + +#pragma pack( pop ) + +#endif // ISTEAMNETWORKINGSOCKETS diff --git a/lsteamclient/steamworks_sdk_159x/isteamnetworkingutils.h b/lsteamclient/steamworks_sdk_159x/isteamnetworkingutils.h new file mode 100644 index 0000000000..ccd4311790 --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamnetworkingutils.h @@ -0,0 +1,503 @@ +//====== Copyright Valve Corporation, All rights reserved. ==================== +// +// Purpose: misc networking utilities +// +//============================================================================= + +#ifndef ISTEAMNETWORKINGUTILS +#define ISTEAMNETWORKINGUTILS + +#include "steamnetworkingtypes.h" +#include "steam_api_common.h" + +struct SteamDatagramRelayAuthTicket; +struct SteamRelayNetworkStatus_t; + +//----------------------------------------------------------------------------- +/// Misc networking utilities for checking the local networking environment +/// and estimating pings. +class ISteamNetworkingUtils +{ +public: + // + // Efficient message sending + // + + /// Allocate and initialize a message object. Usually the reason + /// you call this is to pass it to ISteamNetworkingSockets::SendMessages. + /// The returned object will have all of the relevant fields cleared to zero. + /// + /// Optionally you can also request that this system allocate space to + /// hold the payload itself. If cbAllocateBuffer is nonzero, the system + /// will allocate memory to hold a payload of at least cbAllocateBuffer bytes. + /// m_pData will point to the allocated buffer, m_cbSize will be set to the + /// size, and m_pfnFreeData will be set to the proper function to free up + /// the buffer. + /// + /// If cbAllocateBuffer=0, then no buffer is allocated. m_pData will be NULL, + /// m_cbSize will be zero, and m_pfnFreeData will be NULL. You will need to + /// set each of these. + virtual SteamNetworkingMessage_t *AllocateMessage( int cbAllocateBuffer ) = 0; + + // + // Access to Steam Datagram Relay (SDR) network + // + + // + // Initialization and status check + // + + /// If you know that you are going to be using the relay network (for example, + /// because you anticipate making P2P connections), call this to initialize the + /// relay network. If you do not call this, the initialization will + /// be delayed until the first time you use a feature that requires access + /// to the relay network, which will delay that first access. + /// + /// You can also call this to force a retry if the previous attempt has failed. + /// Performing any action that requires access to the relay network will also + /// trigger a retry, and so calling this function is never strictly necessary, + /// but it can be useful to call it a program launch time, if access to the + /// relay network is anticipated. + /// + /// Use GetRelayNetworkStatus or listen for SteamRelayNetworkStatus_t + /// callbacks to know when initialization has completed. + /// Typically initialization completes in a few seconds. + /// + /// Note: dedicated servers hosted in known data centers do *not* need + /// to call this, since they do not make routing decisions. However, if + /// the dedicated server will be using P2P functionality, it will act as + /// a "client" and this should be called. + inline void InitRelayNetworkAccess(); + + /// Fetch current status of the relay network. + /// + /// SteamRelayNetworkStatus_t is also a callback. It will be triggered on + /// both the user and gameserver interfaces any time the status changes, or + /// ping measurement starts or stops. + /// + /// SteamRelayNetworkStatus_t::m_eAvail is returned. If you want + /// more details, you can pass a non-NULL value. + virtual ESteamNetworkingAvailability GetRelayNetworkStatus( SteamRelayNetworkStatus_t *pDetails ) = 0; + + // + // "Ping location" functions + // + // We use the ping times to the valve relays deployed worldwide to + // generate a "marker" that describes the location of an Internet host. + // Given two such markers, we can estimate the network latency between + // two hosts, without sending any packets. The estimate is based on the + // optimal route that is found through the Valve network. If you are + // using the Valve network to carry the traffic, then this is precisely + // the ping you want. If you are not, then the ping time will probably + // still be a reasonable estimate. + // + // This is extremely useful to select peers for matchmaking! + // + // The markers can also be converted to a string, so they can be transmitted. + // We have a separate library you can use on your app's matchmaking/coordinating + // server to manipulate these objects. (See steamdatagram_gamecoordinator.h) + + /// Return location info for the current host. Returns the approximate + /// age of the data, in seconds, or -1 if no data is available. + /// + /// It takes a few seconds to initialize access to the relay network. If + /// you call this very soon after calling InitRelayNetworkAccess, + /// the data may not be available yet. + /// + /// This always return the most up-to-date information we have available + /// right now, even if we are in the middle of re-calculating ping times. + virtual float GetLocalPingLocation( SteamNetworkPingLocation_t &result ) = 0; + + /// Estimate the round-trip latency between two arbitrary locations, in + /// milliseconds. This is a conservative estimate, based on routing through + /// the relay network. For most basic relayed connections, this ping time + /// will be pretty accurate, since it will be based on the route likely to + /// be actually used. + /// + /// If a direct IP route is used (perhaps via NAT traversal), then the route + /// will be different, and the ping time might be better. Or it might actually + /// be a bit worse! Standard IP routing is frequently suboptimal! + /// + /// But even in this case, the estimate obtained using this method is a + /// reasonable upper bound on the ping time. (Also it has the advantage + /// of returning immediately and not sending any packets.) + /// + /// In a few cases we might not able to estimate the route. In this case + /// a negative value is returned. k_nSteamNetworkingPing_Failed means + /// the reason was because of some networking difficulty. (Failure to + /// ping, etc) k_nSteamNetworkingPing_Unknown is returned if we cannot + /// currently answer the question for some other reason. + /// + /// Do you need to be able to do this from a backend/matchmaking server? + /// You are looking for the "game coordinator" library. + virtual int EstimatePingTimeBetweenTwoLocations( const SteamNetworkPingLocation_t &location1, const SteamNetworkPingLocation_t &location2 ) = 0; + + /// Same as EstimatePingTime, but assumes that one location is the local host. + /// This is a bit faster, especially if you need to calculate a bunch of + /// these in a loop to find the fastest one. + /// + /// In rare cases this might return a slightly different estimate than combining + /// GetLocalPingLocation with EstimatePingTimeBetweenTwoLocations. That's because + /// this function uses a slightly more complete set of information about what + /// route would be taken. + virtual int EstimatePingTimeFromLocalHost( const SteamNetworkPingLocation_t &remoteLocation ) = 0; + + /// Convert a ping location into a text format suitable for sending over the wire. + /// The format is a compact and human readable. However, it is subject to change + /// so please do not parse it yourself. Your buffer must be at least + /// k_cchMaxSteamNetworkingPingLocationString bytes. + virtual void ConvertPingLocationToString( const SteamNetworkPingLocation_t &location, char *pszBuf, int cchBufSize ) = 0; + + /// Parse back SteamNetworkPingLocation_t string. Returns false if we couldn't understand + /// the string. + virtual bool ParsePingLocationString( const char *pszString, SteamNetworkPingLocation_t &result ) = 0; + + /// Check if the ping data of sufficient recency is available, and if + /// it's too old, start refreshing it. + /// + /// Please only call this function when you *really* do need to force an + /// immediate refresh of the data. (For example, in response to a specific + /// user input to refresh this information.) Don't call it "just in case", + /// before every connection, etc. That will cause extra traffic to be sent + /// for no benefit. The library will automatically refresh the information + /// as needed. + /// + /// Returns true if sufficiently recent data is already available. + /// + /// Returns false if sufficiently recent data is not available. In this + /// case, ping measurement is initiated, if it is not already active. + /// (You cannot restart a measurement already in progress.) + /// + /// You can use GetRelayNetworkStatus or listen for SteamRelayNetworkStatus_t + /// to know when ping measurement completes. + virtual bool CheckPingDataUpToDate( float flMaxAgeSeconds ) = 0; + + // + // List of Valve data centers, and ping times to them. This might + // be useful to you if you are use our hosting, or just need to measure + // latency to a cloud data center where we are running relays. + // + + /// Fetch ping time of best available relayed route from this host to + /// the specified data center. + virtual int GetPingToDataCenter( SteamNetworkingPOPID popID, SteamNetworkingPOPID *pViaRelayPoP ) = 0; + + /// Get *direct* ping time to the relays at the data center. + virtual int GetDirectPingToPOP( SteamNetworkingPOPID popID ) = 0; + + /// Get number of network points of presence in the config + virtual int GetPOPCount() = 0; + + /// Get list of all POP IDs. Returns the number of entries that were filled into + /// your list. + virtual int GetPOPList( SteamNetworkingPOPID *list, int nListSz ) = 0; + + // + // Misc + // + + /// Fetch current timestamp. This timer has the following properties: + /// + /// - Monotonicity is guaranteed. + /// - The initial value will be at least 24*3600*30*1e6, i.e. about + /// 30 days worth of microseconds. In this way, the timestamp value of + /// 0 will always be at least "30 days ago". Also, negative numbers + /// will never be returned. + /// - Wraparound / overflow is not a practical concern. + /// + /// If you are running under the debugger and stop the process, the clock + /// might not advance the full wall clock time that has elapsed between + /// calls. If the process is not blocked from normal operation, the + /// timestamp values will track wall clock time, even if you don't call + /// the function frequently. + /// + /// The value is only meaningful for this run of the process. Don't compare + /// it to values obtained on another computer, or other runs of the same process. + virtual SteamNetworkingMicroseconds GetLocalTimestamp() = 0; + + /// Set a function to receive network-related information that is useful for debugging. + /// This can be very useful during development, but it can also be useful for troubleshooting + /// problems with tech savvy end users. If you have a console or other log that customers + /// can examine, these log messages can often be helpful to troubleshoot network issues. + /// (Especially any warning/error messages.) + /// + /// The detail level indicates what message to invoke your callback on. Lower numeric + /// value means more important, and the value you pass is the lowest priority (highest + /// numeric value) you wish to receive callbacks for. + /// + /// The value here controls the detail level for most messages. You can control the + /// detail level for various subsystems (perhaps only for certain connections) by + /// adjusting the configuration values k_ESteamNetworkingConfig_LogLevel_Xxxxx. + /// + /// Except when debugging, you should only use k_ESteamNetworkingSocketsDebugOutputType_Msg + /// or k_ESteamNetworkingSocketsDebugOutputType_Warning. For best performance, do NOT + /// request a high detail level and then filter out messages in your callback. This incurs + /// all of the expense of formatting the messages, which are then discarded. Setting a high + /// priority value (low numeric value) here allows the library to avoid doing this work. + /// + /// IMPORTANT: This may be called from a service thread, while we own a mutex, etc. + /// Your output function must be threadsafe and fast! Do not make any other + /// Steamworks calls from within the handler. + virtual void SetDebugOutputFunction( ESteamNetworkingSocketsDebugOutputType eDetailLevel, FSteamNetworkingSocketsDebugOutput pfnFunc ) = 0; + + // + // Fake IP + // + // Useful for interfacing with code that assumes peers are identified using an IPv4 address + // + + /// Return true if an IPv4 address is one that might be used as a "fake" one. + /// This function is fast; it just does some logical tests on the IP and does + /// not need to do any lookup operations. + inline bool IsFakeIPv4( uint32 nIPv4 ) { return GetIPv4FakeIPType( nIPv4 ) > k_ESteamNetworkingFakeIPType_NotFake; } + virtual ESteamNetworkingFakeIPType GetIPv4FakeIPType( uint32 nIPv4 ) = 0; + + /// Get the real identity associated with a given FakeIP. + /// + /// On failure, returns: + /// - k_EResultInvalidParam: the IP is not a FakeIP. + /// - k_EResultNoMatch: we don't recognize that FakeIP and don't know the corresponding identity. + /// + /// FakeIP's used by active connections, or the FakeIPs assigned to local identities, + /// will always work. FakeIPs for recently destroyed connections will continue to + /// return results for a little while, but not forever. At some point, we will forget + /// FakeIPs to save space. It's reasonably safe to assume that you can read back the + /// real identity of a connection very soon after it is destroyed. But do not wait + /// indefinitely. + virtual EResult GetRealIdentityForFakeIP( const SteamNetworkingIPAddr &fakeIP, SteamNetworkingIdentity *pOutRealIdentity ) = 0; + + // + // Set and get configuration values, see ESteamNetworkingConfigValue for individual descriptions. + // + + // Shortcuts for common cases. (Implemented as inline functions below) + bool SetGlobalConfigValueInt32( ESteamNetworkingConfigValue eValue, int32 val ); + bool SetGlobalConfigValueFloat( ESteamNetworkingConfigValue eValue, float val ); + bool SetGlobalConfigValueString( ESteamNetworkingConfigValue eValue, const char *val ); + bool SetGlobalConfigValuePtr( ESteamNetworkingConfigValue eValue, void *val ); + bool SetConnectionConfigValueInt32( HSteamNetConnection hConn, ESteamNetworkingConfigValue eValue, int32 val ); + bool SetConnectionConfigValueFloat( HSteamNetConnection hConn, ESteamNetworkingConfigValue eValue, float val ); + bool SetConnectionConfigValueString( HSteamNetConnection hConn, ESteamNetworkingConfigValue eValue, const char *val ); + + // + // Set global callbacks. If you do not want to use Steam's callback dispatch mechanism and you + // want to use the same callback on all (or most) listen sockets and connections, then + // simply install these callbacks first thing, and you are good to go. + // See ISteamNetworkingSockets::RunCallbacks + // + bool SetGlobalCallback_SteamNetConnectionStatusChanged( FnSteamNetConnectionStatusChanged fnCallback ); + bool SetGlobalCallback_SteamNetAuthenticationStatusChanged( FnSteamNetAuthenticationStatusChanged fnCallback ); + bool SetGlobalCallback_SteamRelayNetworkStatusChanged( FnSteamRelayNetworkStatusChanged fnCallback ); + bool SetGlobalCallback_FakeIPResult( FnSteamNetworkingFakeIPResult fnCallback ); + bool SetGlobalCallback_MessagesSessionRequest( FnSteamNetworkingMessagesSessionRequest fnCallback ); + bool SetGlobalCallback_MessagesSessionFailed( FnSteamNetworkingMessagesSessionFailed fnCallback ); + + /// Set a configuration value. + /// - eValue: which value is being set + /// - eScope: Onto what type of object are you applying the setting? + /// - scopeArg: Which object you want to change? (Ignored for global scope). E.g. connection handle, listen socket handle, interface pointer, etc. + /// - eDataType: What type of data is in the buffer at pValue? This must match the type of the variable exactly! + /// - pArg: Value to set it to. You can pass NULL to remove a non-global setting at this scope, + /// causing the value for that object to use global defaults. Or at global scope, passing NULL + /// will reset any custom value and restore it to the system default. + /// NOTE: When setting pointers (e.g. callback functions), do not pass the function pointer directly. + /// Your argument should be a pointer to a function pointer. + virtual bool SetConfigValue( ESteamNetworkingConfigValue eValue, ESteamNetworkingConfigScope eScopeType, intptr_t scopeObj, + ESteamNetworkingConfigDataType eDataType, const void *pArg ) = 0; + + /// Set a configuration value, using a struct to pass the value. + /// (This is just a convenience shortcut; see below for the implementation and + /// a little insight into how SteamNetworkingConfigValue_t is used when + /// setting config options during listen socket and connection creation.) + bool SetConfigValueStruct( const SteamNetworkingConfigValue_t &opt, ESteamNetworkingConfigScope eScopeType, intptr_t scopeObj ); + + /// Get a configuration value. + /// - eValue: which value to fetch + /// - eScopeType: query setting on what type of object + /// - eScopeArg: the object to query the setting for + /// - pOutDataType: If non-NULL, the data type of the value is returned. + /// - pResult: Where to put the result. Pass NULL to query the required buffer size. (k_ESteamNetworkingGetConfigValue_BufferTooSmall will be returned.) + /// - cbResult: IN: the size of your buffer. OUT: the number of bytes filled in or required. + virtual ESteamNetworkingGetConfigValueResult GetConfigValue( ESteamNetworkingConfigValue eValue, ESteamNetworkingConfigScope eScopeType, intptr_t scopeObj, + ESteamNetworkingConfigDataType *pOutDataType, void *pResult, size_t *cbResult ) = 0; + + /// Get info about a configuration value. Returns the name of the value, + /// or NULL if the value doesn't exist. Other output parameters can be NULL + /// if you do not need them. + virtual const char *GetConfigValueInfo( ESteamNetworkingConfigValue eValue, ESteamNetworkingConfigDataType *pOutDataType, + ESteamNetworkingConfigScope *pOutScope ) = 0; + + /// Iterate the list of all configuration values in the current environment that it might + /// be possible to display or edit using a generic UI. To get the first iterable value, + /// pass k_ESteamNetworkingConfig_Invalid. Returns k_ESteamNetworkingConfig_Invalid + /// to signal end of list. + /// + /// The bEnumerateDevVars argument can be used to include "dev" vars. These are vars that + /// are recommended to only be editable in "debug" or "dev" mode and typically should not be + /// shown in a retail environment where a malicious local user might use this to cheat. + virtual ESteamNetworkingConfigValue IterateGenericEditableConfigValues( ESteamNetworkingConfigValue eCurrent, bool bEnumerateDevVars ) = 0; + + // + // String conversions. You'll usually access these using the respective + // inline methods. + // + virtual void SteamNetworkingIPAddr_ToString( const SteamNetworkingIPAddr &addr, char *buf, size_t cbBuf, bool bWithPort ) = 0; + virtual bool SteamNetworkingIPAddr_ParseString( SteamNetworkingIPAddr *pAddr, const char *pszStr ) = 0; + virtual ESteamNetworkingFakeIPType SteamNetworkingIPAddr_GetFakeIPType( const SteamNetworkingIPAddr &addr ) = 0; + virtual void SteamNetworkingIdentity_ToString( const SteamNetworkingIdentity &identity, char *buf, size_t cbBuf ) = 0; + virtual bool SteamNetworkingIdentity_ParseString( SteamNetworkingIdentity *pIdentity, const char *pszStr ) = 0; + +protected: + ~ISteamNetworkingUtils(); // Silence some warnings +}; +#define STEAMNETWORKINGUTILS_INTERFACE_VERSION "SteamNetworkingUtils004" + +// Global accessors +// Using standalone lib +#ifdef STEAMNETWORKINGSOCKETS_STANDALONELIB + + // Standalone lib + static_assert( STEAMNETWORKINGUTILS_INTERFACE_VERSION[22] == '4', "Version mismatch" ); + STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingUtils *SteamNetworkingUtils_LibV4(); + inline ISteamNetworkingUtils *SteamNetworkingUtils_Lib() { return SteamNetworkingUtils_LibV4(); } + + #ifndef STEAMNETWORKINGSOCKETS_STEAMAPI + inline ISteamNetworkingUtils *SteamNetworkingUtils() { return SteamNetworkingUtils_LibV4(); } + #endif +#endif + +// Using Steamworks SDK +#ifdef STEAMNETWORKINGSOCKETS_STEAMAPI + STEAM_DEFINE_INTERFACE_ACCESSOR( ISteamNetworkingUtils *, SteamNetworkingUtils_SteamAPI, + /* Prefer user version of the interface. But if it isn't found, then use + gameserver one. Yes, this is a completely terrible hack */ + SteamInternal_FindOrCreateUserInterface( 0, STEAMNETWORKINGUTILS_INTERFACE_VERSION ) ? + SteamInternal_FindOrCreateUserInterface( 0, STEAMNETWORKINGUTILS_INTERFACE_VERSION ) : + SteamInternal_FindOrCreateGameServerInterface( 0, STEAMNETWORKINGUTILS_INTERFACE_VERSION ), + "global", + STEAMNETWORKINGUTILS_INTERFACE_VERSION + ) + + #ifndef STEAMNETWORKINGSOCKETS_STANDALONELIB + inline ISteamNetworkingUtils *SteamNetworkingUtils() { return SteamNetworkingUtils_SteamAPI(); } + #endif +#endif + +/// A struct used to describe our readiness to use the relay network. +/// To do this we first need to fetch the network configuration, +/// which describes what POPs are available. +struct SteamRelayNetworkStatus_t +{ + enum { k_iCallback = k_iSteamNetworkingUtilsCallbacks + 1 }; + + /// Summary status. When this is "current", initialization has + /// completed. Anything else means you are not ready yet, or + /// there is a significant problem. + ESteamNetworkingAvailability m_eAvail; + + /// Nonzero if latency measurement is in progress (or pending, + /// awaiting a prerequisite). + int m_bPingMeasurementInProgress; + + /// Status obtaining the network config. This is a prerequisite + /// for relay network access. + /// + /// Failure to obtain the network config almost always indicates + /// a problem with the local internet connection. + ESteamNetworkingAvailability m_eAvailNetworkConfig; + + /// Current ability to communicate with ANY relay. Note that + /// the complete failure to communicate with any relays almost + /// always indicates a problem with the local Internet connection. + /// (However, just because you can reach a single relay doesn't + /// mean that the local connection is in perfect health.) + ESteamNetworkingAvailability m_eAvailAnyRelay; + + /// Non-localized English language status. For diagnostic/debugging + /// purposes only. + char m_debugMsg[ 256 ]; +}; + +#if 0 +#ifndef API_GEN + +/// Utility class for printing a SteamNetworkingIdentity. +/// E.g. printf( "Identity is '%s'\n", SteamNetworkingIdentityRender( identity ).c_str() ); +struct SteamNetworkingIdentityRender +{ + SteamNetworkingIdentityRender( const SteamNetworkingIdentity &x ) { x.ToString( buf, sizeof(buf) ); } + inline const char *c_str() const { return buf; } +private: + char buf[ SteamNetworkingIdentity::k_cchMaxString ]; +}; + +/// Utility class for printing a SteamNetworkingIPAddrRender. +struct SteamNetworkingIPAddrRender +{ + SteamNetworkingIPAddrRender( const SteamNetworkingIPAddr &x, bool bWithPort = true ) { x.ToString( buf, sizeof(buf), bWithPort ); } + inline const char *c_str() const { return buf; } +private: + char buf[ SteamNetworkingIPAddr::k_cchMaxString ]; +}; + +#endif + +/////////////////////////////////////////////////////////////////////////////// +// +// Internal stuff + +inline void ISteamNetworkingUtils::InitRelayNetworkAccess() { CheckPingDataUpToDate( 1e10f ); } +inline bool ISteamNetworkingUtils::SetGlobalConfigValueInt32( ESteamNetworkingConfigValue eValue, int32 val ) { return SetConfigValue( eValue, k_ESteamNetworkingConfig_Global, 0, k_ESteamNetworkingConfig_Int32, &val ); } +inline bool ISteamNetworkingUtils::SetGlobalConfigValueFloat( ESteamNetworkingConfigValue eValue, float val ) { return SetConfigValue( eValue, k_ESteamNetworkingConfig_Global, 0, k_ESteamNetworkingConfig_Float, &val ); } +inline bool ISteamNetworkingUtils::SetGlobalConfigValueString( ESteamNetworkingConfigValue eValue, const char *val ) { return SetConfigValue( eValue, k_ESteamNetworkingConfig_Global, 0, k_ESteamNetworkingConfig_String, val ); } +inline bool ISteamNetworkingUtils::SetGlobalConfigValuePtr( ESteamNetworkingConfigValue eValue, void *val ) { return SetConfigValue( eValue, k_ESteamNetworkingConfig_Global, 0, k_ESteamNetworkingConfig_Ptr, &val ); } // Note: passing pointer to pointer. +inline bool ISteamNetworkingUtils::SetConnectionConfigValueInt32( HSteamNetConnection hConn, ESteamNetworkingConfigValue eValue, int32 val ) { return SetConfigValue( eValue, k_ESteamNetworkingConfig_Connection, hConn, k_ESteamNetworkingConfig_Int32, &val ); } +inline bool ISteamNetworkingUtils::SetConnectionConfigValueFloat( HSteamNetConnection hConn, ESteamNetworkingConfigValue eValue, float val ) { return SetConfigValue( eValue, k_ESteamNetworkingConfig_Connection, hConn, k_ESteamNetworkingConfig_Float, &val ); } +inline bool ISteamNetworkingUtils::SetConnectionConfigValueString( HSteamNetConnection hConn, ESteamNetworkingConfigValue eValue, const char *val ) { return SetConfigValue( eValue, k_ESteamNetworkingConfig_Connection, hConn, k_ESteamNetworkingConfig_String, val ); } +inline bool ISteamNetworkingUtils::SetGlobalCallback_SteamNetConnectionStatusChanged( FnSteamNetConnectionStatusChanged fnCallback ) { return SetGlobalConfigValuePtr( k_ESteamNetworkingConfig_Callback_ConnectionStatusChanged, (void*)fnCallback ); } +inline bool ISteamNetworkingUtils::SetGlobalCallback_SteamNetAuthenticationStatusChanged( FnSteamNetAuthenticationStatusChanged fnCallback ) { return SetGlobalConfigValuePtr( k_ESteamNetworkingConfig_Callback_AuthStatusChanged, (void*)fnCallback ); } +inline bool ISteamNetworkingUtils::SetGlobalCallback_SteamRelayNetworkStatusChanged( FnSteamRelayNetworkStatusChanged fnCallback ) { return SetGlobalConfigValuePtr( k_ESteamNetworkingConfig_Callback_RelayNetworkStatusChanged, (void*)fnCallback ); } +inline bool ISteamNetworkingUtils::SetGlobalCallback_FakeIPResult( FnSteamNetworkingFakeIPResult fnCallback ) { return SetGlobalConfigValuePtr( k_ESteamNetworkingConfig_Callback_FakeIPResult, (void*)fnCallback ); } +inline bool ISteamNetworkingUtils::SetGlobalCallback_MessagesSessionRequest( FnSteamNetworkingMessagesSessionRequest fnCallback ) { return SetGlobalConfigValuePtr( k_ESteamNetworkingConfig_Callback_MessagesSessionRequest, (void*)fnCallback ); } +inline bool ISteamNetworkingUtils::SetGlobalCallback_MessagesSessionFailed( FnSteamNetworkingMessagesSessionFailed fnCallback ) { return SetGlobalConfigValuePtr( k_ESteamNetworkingConfig_Callback_MessagesSessionFailed, (void*)fnCallback ); } + +inline bool ISteamNetworkingUtils::SetConfigValueStruct( const SteamNetworkingConfigValue_t &opt, ESteamNetworkingConfigScope eScopeType, intptr_t scopeObj ) +{ + // Locate the argument. Strings are a special case, since the + // "value" (the whole string buffer) doesn't fit in the struct + // NOTE: for pointer values, we pass a pointer to the pointer, + // we do not pass the pointer directly. + const void *pVal = ( opt.m_eDataType == k_ESteamNetworkingConfig_String ) ? (const void *)opt.m_val.m_string : (const void *)&opt.m_val; + return SetConfigValue( opt.m_eValue, eScopeType, scopeObj, opt.m_eDataType, pVal ); +} +#endif + +// How to get helper functions. +#if defined( STEAMNETWORKINGSOCKETS_STATIC_LINK ) || defined(STEAMNETWORKINGSOCKETS_FOREXPORT) || defined( STEAMNETWORKINGSOCKETS_STANDALONELIB ) + + // Call direct to static functions + STEAMNETWORKINGSOCKETS_INTERFACE void SteamNetworkingIPAddr_ToString( const SteamNetworkingIPAddr *pAddr, char *buf, size_t cbBuf, bool bWithPort ); + STEAMNETWORKINGSOCKETS_INTERFACE bool SteamNetworkingIPAddr_ParseString( SteamNetworkingIPAddr *pAddr, const char *pszStr ); + STEAMNETWORKINGSOCKETS_INTERFACE ESteamNetworkingFakeIPType SteamNetworkingIPAddr_GetFakeIPType( const SteamNetworkingIPAddr *pAddr ); + STEAMNETWORKINGSOCKETS_INTERFACE void SteamNetworkingIdentity_ToString( const SteamNetworkingIdentity *pIdentity, char *buf, size_t cbBuf ); + STEAMNETWORKINGSOCKETS_INTERFACE bool SteamNetworkingIdentity_ParseString( SteamNetworkingIdentity *pIdentity, size_t sizeofIdentity, const char *pszStr ); + inline void SteamNetworkingIPAddr::ToString( char *buf, size_t cbBuf, bool bWithPort ) const { SteamNetworkingIPAddr_ToString( this, buf, cbBuf, bWithPort ); } + inline bool SteamNetworkingIPAddr::ParseString( const char *pszStr ) { return SteamNetworkingIPAddr_ParseString( this, pszStr ); } + inline ESteamNetworkingFakeIPType SteamNetworkingIPAddr::GetFakeIPType() const { return SteamNetworkingIPAddr_GetFakeIPType( this ); } + inline void SteamNetworkingIdentity::ToString( char *buf, size_t cbBuf ) const { SteamNetworkingIdentity_ToString( this, buf, cbBuf ); } + inline bool SteamNetworkingIdentity::ParseString( const char *pszStr ) { return SteamNetworkingIdentity_ParseString( this, sizeof(*this), pszStr ); } + +#elif defined( STEAMNETWORKINGSOCKETS_STEAMAPI ) + // Using steamworks SDK - go through SteamNetworkingUtils() +#if 0 + inline void SteamNetworkingIPAddr::ToString( char *buf, size_t cbBuf, bool bWithPort ) const { SteamNetworkingUtils()->SteamNetworkingIPAddr_ToString( *this, buf, cbBuf, bWithPort ); } + inline bool SteamNetworkingIPAddr::ParseString( const char *pszStr ) { return SteamNetworkingUtils()->SteamNetworkingIPAddr_ParseString( this, pszStr ); } + inline ESteamNetworkingFakeIPType SteamNetworkingIPAddr::GetFakeIPType() const { return SteamNetworkingUtils()->SteamNetworkingIPAddr_GetFakeIPType( *this ); } + inline void SteamNetworkingIdentity::ToString( char *buf, size_t cbBuf ) const { SteamNetworkingUtils()->SteamNetworkingIdentity_ToString( *this, buf, cbBuf ); } + inline bool SteamNetworkingIdentity::ParseString( const char *pszStr ) { return SteamNetworkingUtils()->SteamNetworkingIdentity_ParseString( this, pszStr ); } +#endif +#else + #error "Invalid config" +#endif + +#endif // ISTEAMNETWORKINGUTILS diff --git a/lsteamclient/steamworks_sdk_159x/isteamparentalsettings.h b/lsteamclient/steamworks_sdk_159x/isteamparentalsettings.h new file mode 100644 index 0000000000..bf3d0c680c --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamparentalsettings.h @@ -0,0 +1,64 @@ +//====== Copyright � 2013-, Valve Corporation, All rights reserved. ======= +// +// Purpose: Interface to Steam parental settings (Family View) +// +//============================================================================= + +#ifndef ISTEAMPARENTALSETTINGS_H +#define ISTEAMPARENTALSETTINGS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +// Feature types for parental settings +enum EParentalFeature +{ + k_EFeatureInvalid = 0, + k_EFeatureStore = 1, + k_EFeatureCommunity = 2, + k_EFeatureProfile = 3, + k_EFeatureFriends = 4, + k_EFeatureNews = 5, + k_EFeatureTrading = 6, + k_EFeatureSettings = 7, + k_EFeatureConsole = 8, + k_EFeatureBrowser = 9, + k_EFeatureParentalSetup = 10, + k_EFeatureLibrary = 11, + k_EFeatureTest = 12, + k_EFeatureSiteLicense = 13, + k_EFeatureKioskMode_Deprecated = 14, + k_EFeatureMax +}; + +class ISteamParentalSettings +{ +public: + virtual bool BIsParentalLockEnabled() = 0; + virtual bool BIsParentalLockLocked() = 0; + + virtual bool BIsAppBlocked( AppId_t nAppID ) = 0; + virtual bool BIsAppInBlockList( AppId_t nAppID ) = 0; + + virtual bool BIsFeatureBlocked( EParentalFeature eFeature ) = 0; + virtual bool BIsFeatureInBlockList( EParentalFeature eFeature ) = 0; +}; + +#define STEAMPARENTALSETTINGS_INTERFACE_VERSION "STEAMPARENTALSETTINGS_INTERFACE_VERSION001" + +// Global interface accessor +inline ISteamParentalSettings *SteamParentalSettings(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamParentalSettings *, SteamParentalSettings, STEAMPARENTALSETTINGS_INTERFACE_VERSION ); + +//----------------------------------------------------------------------------- +// Purpose: Callback for querying UGC +//----------------------------------------------------------------------------- +struct SteamParentalSettingsChanged_t +{ + enum { k_iCallback = k_ISteamParentalSettingsCallbacks + 1 }; +}; + + +#endif // ISTEAMPARENTALSETTINGS_H diff --git a/lsteamclient/steamworks_sdk_159x/isteamps3overlayrenderer.h b/lsteamclient/steamworks_sdk_159x/isteamps3overlayrenderer.h new file mode 100644 index 0000000000..4e07d4a194 --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamps3overlayrenderer.h @@ -0,0 +1,91 @@ +//====== Copyright © 1996-2010, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface the game must provide Steam with on PS3 in order for the +// Steam overlay to render. +// +//============================================================================= + +#ifndef ISTEAMPS3OVERLAYRENDERER_H +#define ISTEAMPS3OVERLAYRENDERER_H +#ifdef _WIN32 +#pragma once +#endif + +#include "cell/pad.h" + +//----------------------------------------------------------------------------- +// Purpose: Enum for supported gradient directions +//----------------------------------------------------------------------------- +enum EOverlayGradientDirection +{ + k_EOverlayGradientHorizontal = 1, + k_EOverlayGradientVertical = 2, + k_EOverlayGradientNone = 3, +}; + +// Helpers for fetching individual color components from ARGB packed DWORD colors Steam PS3 overlay renderer uses. +#define STEAM_COLOR_RED( color ) \ + (int)(((color)>>16)&0xff) + +#define STEAM_COLOR_GREEN( color ) \ + (int)(((color)>>8)&0xff) + +#define STEAM_COLOR_BLUE( color ) \ + (int)((color)&0xff) + +#define STEAM_COLOR_ALPHA( color ) \ + (int)(((color)>>24)&0xff) + + +//----------------------------------------------------------------------------- +// Purpose: Interface the game must expose to Steam for rendering +//----------------------------------------------------------------------------- +class ISteamPS3OverlayRenderHost +{ +public: + + // Interface for game engine to implement which Steam requires to render. + + // Draw a textured rect. This may use only part of the texture and will pass texture coords, it will also possibly request a gradient and will specify colors for vertexes. + virtual void DrawTexturedRect( int x0, int y0, int x1, int y1, float u0, float v0, float u1, float v1, int32 iTextureID, DWORD colorStart, DWORD colorEnd, EOverlayGradientDirection eDirection ) = 0; + + // Load a RGBA texture for Steam, or update a previously loaded one. Updates may be partial. You must not evict or remove this texture once Steam has uploaded it. + virtual void LoadOrUpdateTexture( int32 iTextureID, bool bIsFullTexture, int x0, int y0, uint32 uWidth, uint32 uHeight, int32 iBytes, char *pData ) = 0; + + // Delete a texture Steam previously uploaded + virtual void DeleteTexture( int32 iTextureID ) = 0; + + // Delete all previously uploaded textures + virtual void DeleteAllTextures() = 0; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Interface Steam exposes for the game to tell it when to render, etc. +//----------------------------------------------------------------------------- +class ISteamPS3OverlayRender +{ +public: + + // Call once at startup to initialize the Steam overlay and pass it your host interface ptr + virtual bool BHostInitialize( uint32 unScreenWidth, uint32 unScreenHeight, uint32 unRefreshRate, ISteamPS3OverlayRenderHost *pRenderHost, void *CellFontLib ) = 0; + + // Call this once a frame when you are ready for the Steam overlay to render (ie, right before flipping buffers, after all your rendering) + virtual void Render() = 0; + + // Call this everytime you read input on PS3. + // + // If this returns true, then the overlay is active and has consumed the input, your game + // should then ignore all the input until BHandleCellPadData once again returns false, which + // will mean the overlay is deactivated. + virtual bool BHandleCellPadData( const CellPadData &padData ) = 0; + + // Call this if you detect no controllers connected or that the XMB is intercepting input + // + // This is important to clear input state for the overlay, so keys left down during XMB activation + // are not continued to be processed. + virtual bool BResetInputState() = 0; +}; + + +#endif // ISTEAMPS3OVERLAYRENDERER_H \ No newline at end of file diff --git a/lsteamclient/steamworks_sdk_159x/isteamremoteplay.h b/lsteamclient/steamworks_sdk_159x/isteamremoteplay.h new file mode 100644 index 0000000000..df5ca3f48a --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamremoteplay.h @@ -0,0 +1,99 @@ +//============ Copyright (c) Valve Corporation, All rights reserved. ============ + +#ifndef ISTEAMREMOTEPLAY_H +#define ISTEAMREMOTEPLAY_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + + +//----------------------------------------------------------------------------- +// Purpose: The form factor of a device +//----------------------------------------------------------------------------- +enum ESteamDeviceFormFactor +{ + k_ESteamDeviceFormFactorUnknown = 0, + k_ESteamDeviceFormFactorPhone = 1, + k_ESteamDeviceFormFactorTablet = 2, + k_ESteamDeviceFormFactorComputer = 3, + k_ESteamDeviceFormFactorTV = 4, + k_ESteamDeviceFormFactorVRHeadset = 5, +}; + +// Steam Remote Play session ID +typedef uint32 RemotePlaySessionID_t; + + +//----------------------------------------------------------------------------- +// Purpose: Functions to provide information about Steam Remote Play sessions +//----------------------------------------------------------------------------- +class ISteamRemotePlay +{ +public: + // Get the number of currently connected Steam Remote Play sessions + virtual uint32 GetSessionCount() = 0; + + // Get the currently connected Steam Remote Play session ID at the specified index. Returns zero if index is out of bounds. + virtual RemotePlaySessionID_t GetSessionID( int iSessionIndex ) = 0; + + // Get the SteamID of the connected user + virtual CSteamID GetSessionSteamID( RemotePlaySessionID_t unSessionID ) = 0; + + // Get the name of the session client device + // This returns NULL if the sessionID is not valid + virtual const char *GetSessionClientName( RemotePlaySessionID_t unSessionID ) = 0; + + // Get the form factor of the session client device + virtual ESteamDeviceFormFactor GetSessionClientFormFactor( RemotePlaySessionID_t unSessionID ) = 0; + + // Get the resolution, in pixels, of the session client device + // This is set to 0x0 if the resolution is not available + virtual bool BGetSessionClientResolution( RemotePlaySessionID_t unSessionID, int *pnResolutionX, int *pnResolutionY ) = 0; + + // Start Remote Play Together and optionally show the UI in the overlay + // This returns false if Remote Play Together can't be started or your game is not configured for Remote Play Together + virtual bool BStartRemotePlayTogether( bool bShowOverlay = true ) = 0; + + // Invite a friend to Remote Play Together, or create a guest invite if steamIDFriend is empty + // This will automatically start Remote Play Together if it hasn't already been started + // This returns false if the invite can't be sent or your game is not configured for Remote Play Together + virtual bool BSendRemotePlayTogetherInvite( CSteamID steamIDFriend ) = 0; +}; + +#define STEAMREMOTEPLAY_INTERFACE_VERSION "STEAMREMOTEPLAY_INTERFACE_VERSION002" + +// Global interface accessor +inline ISteamRemotePlay *SteamRemotePlay(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamRemotePlay *, SteamRemotePlay, STEAMREMOTEPLAY_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + + +STEAM_CALLBACK_BEGIN( SteamRemotePlaySessionConnected_t, k_iSteamRemotePlayCallbacks + 1 ) + STEAM_CALLBACK_MEMBER( 0, RemotePlaySessionID_t, m_unSessionID ) +STEAM_CALLBACK_END( 0 ) + + +STEAM_CALLBACK_BEGIN( SteamRemotePlaySessionDisconnected_t, k_iSteamRemotePlayCallbacks + 2 ) + STEAM_CALLBACK_MEMBER( 0, RemotePlaySessionID_t, m_unSessionID ) +STEAM_CALLBACK_END( 0 ) + + +STEAM_CALLBACK_BEGIN( SteamRemotePlayTogetherGuestInvite_t, k_iSteamRemotePlayCallbacks + 3 ) + STEAM_CALLBACK_MEMBER_ARRAY( 0, char, m_szConnectURL, 1024 ) +STEAM_CALLBACK_END( 0 ) + + +#pragma pack( pop ) + + +#endif // #define ISTEAMREMOTEPLAY_H diff --git a/lsteamclient/steamworks_sdk_159x/isteamremotestorage.h b/lsteamclient/steamworks_sdk_159x/isteamremotestorage.h new file mode 100644 index 0000000000..c0da367e04 --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamremotestorage.h @@ -0,0 +1,661 @@ +//====== Copyright � 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: public interface to user remote file storage in Steam +// +//============================================================================= + +#ifndef ISTEAMREMOTESTORAGE_H +#define ISTEAMREMOTESTORAGE_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + + +//----------------------------------------------------------------------------- +// Purpose: Defines the largest allowed file size. Cloud files cannot be written +// in a single chunk over 100MB (and cannot be over 200MB total.) +//----------------------------------------------------------------------------- +const uint32 k_unMaxCloudFileChunkSize = 100 * 1024 * 1024; + + +//----------------------------------------------------------------------------- +// Purpose: Structure that contains an array of const char * strings and the number of those strings +//----------------------------------------------------------------------------- +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif +struct SteamParamStringArray_t +{ + const char ** m_ppStrings; + int32 m_nNumStrings; +}; +#pragma pack( pop ) + +// A handle to a piece of user generated content +typedef uint64 UGCHandle_t; +typedef uint64 PublishedFileUpdateHandle_t; +typedef uint64 PublishedFileId_t; +const PublishedFileId_t k_PublishedFileIdInvalid = 0; +const UGCHandle_t k_UGCHandleInvalid = 0xffffffffffffffffull; +const PublishedFileUpdateHandle_t k_PublishedFileUpdateHandleInvalid = 0xffffffffffffffffull; + +// Handle for writing to Steam Cloud +typedef uint64 UGCFileWriteStreamHandle_t; +const UGCFileWriteStreamHandle_t k_UGCFileStreamHandleInvalid = 0xffffffffffffffffull; + +const uint32 k_cchPublishedDocumentTitleMax = 128 + 1; +const uint32 k_cchPublishedDocumentDescriptionMax = 8000; +const uint32 k_cchPublishedDocumentChangeDescriptionMax = 8000; +const uint32 k_unEnumeratePublishedFilesMaxResults = 50; +const uint32 k_cchTagListMax = 1024 + 1; +const uint32 k_cchFilenameMax = 260; +const uint32 k_cchPublishedFileURLMax = 256; + + +enum ERemoteStoragePlatform +{ + k_ERemoteStoragePlatformNone = 0, + k_ERemoteStoragePlatformWindows = (1 << 0), + k_ERemoteStoragePlatformOSX = (1 << 1), + k_ERemoteStoragePlatformPS3 = (1 << 2), + k_ERemoteStoragePlatformLinux = (1 << 3), + k_ERemoteStoragePlatformSwitch = (1 << 4), + k_ERemoteStoragePlatformAndroid = (1 << 5), + k_ERemoteStoragePlatformIOS = (1 << 6), + // NB we get one more before we need to widen some things + + k_ERemoteStoragePlatformAll = 0xffffffff +}; + +enum ERemoteStoragePublishedFileVisibility +{ + k_ERemoteStoragePublishedFileVisibilityPublic = 0, + k_ERemoteStoragePublishedFileVisibilityFriendsOnly = 1, + k_ERemoteStoragePublishedFileVisibilityPrivate = 2, + k_ERemoteStoragePublishedFileVisibilityUnlisted = 3, +}; + + +enum EWorkshopFileType +{ + k_EWorkshopFileTypeFirst = 0, + + k_EWorkshopFileTypeCommunity = 0, // normal Workshop item that can be subscribed to + k_EWorkshopFileTypeMicrotransaction = 1, // Workshop item that is meant to be voted on for the purpose of selling in-game + k_EWorkshopFileTypeCollection = 2, // a collection of Workshop or Greenlight items + k_EWorkshopFileTypeArt = 3, // artwork + k_EWorkshopFileTypeVideo = 4, // external video + k_EWorkshopFileTypeScreenshot = 5, // screenshot + k_EWorkshopFileTypeGame = 6, // Greenlight game entry + k_EWorkshopFileTypeSoftware = 7, // Greenlight software entry + k_EWorkshopFileTypeConcept = 8, // Greenlight concept + k_EWorkshopFileTypeWebGuide = 9, // Steam web guide + k_EWorkshopFileTypeIntegratedGuide = 10, // application integrated guide + k_EWorkshopFileTypeMerch = 11, // Workshop merchandise meant to be voted on for the purpose of being sold + k_EWorkshopFileTypeControllerBinding = 12, // Steam Controller bindings + k_EWorkshopFileTypeSteamworksAccessInvite = 13, // internal + k_EWorkshopFileTypeSteamVideo = 14, // Steam video + k_EWorkshopFileTypeGameManagedItem = 15, // managed completely by the game, not the user, and not shown on the web + k_EWorkshopFileTypeClip = 16, // internal + + // Update k_EWorkshopFileTypeMax if you add values. + k_EWorkshopFileTypeMax = 17 + +}; + +enum EWorkshopVote +{ + k_EWorkshopVoteUnvoted = 0, + k_EWorkshopVoteFor = 1, + k_EWorkshopVoteAgainst = 2, + k_EWorkshopVoteLater = 3, +}; + +enum EWorkshopFileAction +{ + k_EWorkshopFileActionPlayed = 0, + k_EWorkshopFileActionCompleted = 1, +}; + +enum EWorkshopEnumerationType +{ + k_EWorkshopEnumerationTypeRankedByVote = 0, + k_EWorkshopEnumerationTypeRecent = 1, + k_EWorkshopEnumerationTypeTrending = 2, + k_EWorkshopEnumerationTypeFavoritesOfFriends = 3, + k_EWorkshopEnumerationTypeVotedByFriends = 4, + k_EWorkshopEnumerationTypeContentByFriends = 5, + k_EWorkshopEnumerationTypeRecentFromFollowedUsers = 6, +}; + +enum EWorkshopVideoProvider +{ + k_EWorkshopVideoProviderNone = 0, + k_EWorkshopVideoProviderYoutube = 1 +}; + + +enum EUGCReadAction +{ + // Keeps the file handle open unless the last byte is read. You can use this when reading large files (over 100MB) in sequential chunks. + // If the last byte is read, this will behave the same as k_EUGCRead_Close. Otherwise, it behaves the same as k_EUGCRead_ContinueReading. + // This value maintains the same behavior as before the EUGCReadAction parameter was introduced. + k_EUGCRead_ContinueReadingUntilFinished = 0, + + // Keeps the file handle open. Use this when using UGCRead to seek to different parts of the file. + // When you are done seeking around the file, make a final call with k_EUGCRead_Close to close it. + k_EUGCRead_ContinueReading = 1, + + // Frees the file handle. Use this when you're done reading the content. + // To read the file from Steam again you will need to call UGCDownload again. + k_EUGCRead_Close = 2, +}; + +enum ERemoteStorageLocalFileChange +{ + k_ERemoteStorageLocalFileChange_Invalid = 0, + + // The file was updated from another device + k_ERemoteStorageLocalFileChange_FileUpdated = 1, + + // The file was deleted by another device + k_ERemoteStorageLocalFileChange_FileDeleted = 2, +}; + +enum ERemoteStorageFilePathType +{ + k_ERemoteStorageFilePathType_Invalid = 0, + + // The file is directly accessed by the game and this is the full path + k_ERemoteStorageFilePathType_Absolute = 1, + + // The file is accessed via the ISteamRemoteStorage API and this is the filename + k_ERemoteStorageFilePathType_APIFilename = 2, +}; + + +//----------------------------------------------------------------------------- +// Purpose: Functions for accessing, reading and writing files stored remotely +// and cached locally +//----------------------------------------------------------------------------- +class ISteamRemoteStorage +{ + public: + // NOTE + // + // Filenames are case-insensitive, and will be converted to lowercase automatically. + // So "foo.bar" and "Foo.bar" are the same file, and if you write "Foo.bar" then + // iterate the files, the filename returned will be "foo.bar". + // + + // file operations + virtual bool FileWrite( const char *pchFile, const void *pvData, int32 cubData ) = 0; + virtual int32 FileRead( const char *pchFile, void *pvData, int32 cubDataToRead ) = 0; + + STEAM_CALL_RESULT( RemoteStorageFileWriteAsyncComplete_t ) + virtual SteamAPICall_t FileWriteAsync( const char *pchFile, const void *pvData, uint32 cubData ) = 0; + + STEAM_CALL_RESULT( RemoteStorageFileReadAsyncComplete_t ) + virtual SteamAPICall_t FileReadAsync( const char *pchFile, uint32 nOffset, uint32 cubToRead ) = 0; + virtual bool FileReadAsyncComplete( SteamAPICall_t hReadCall, void *pvBuffer, uint32 cubToRead ) = 0; + + virtual bool FileForget( const char *pchFile ) = 0; + virtual bool FileDelete( const char *pchFile ) = 0; + STEAM_CALL_RESULT( RemoteStorageFileShareResult_t ) + virtual SteamAPICall_t FileShare( const char *pchFile ) = 0; + virtual bool SetSyncPlatforms( const char *pchFile, ERemoteStoragePlatform eRemoteStoragePlatform ) = 0; + + // file operations that cause network IO + virtual UGCFileWriteStreamHandle_t FileWriteStreamOpen( const char *pchFile ) = 0; + virtual bool FileWriteStreamWriteChunk( UGCFileWriteStreamHandle_t writeHandle, const void *pvData, int32 cubData ) = 0; + virtual bool FileWriteStreamClose( UGCFileWriteStreamHandle_t writeHandle ) = 0; + virtual bool FileWriteStreamCancel( UGCFileWriteStreamHandle_t writeHandle ) = 0; + + // file information + virtual bool FileExists( const char *pchFile ) = 0; + virtual bool FilePersisted( const char *pchFile ) = 0; + virtual int32 GetFileSize( const char *pchFile ) = 0; + virtual int64 GetFileTimestamp( const char *pchFile ) = 0; + virtual ERemoteStoragePlatform GetSyncPlatforms( const char *pchFile ) = 0; + + // iteration + virtual int32 GetFileCount() = 0; + virtual const char *GetFileNameAndSize( int iFile, int32 *pnFileSizeInBytes ) = 0; + + // configuration management + virtual bool GetQuota( uint64 *pnTotalBytes, uint64 *puAvailableBytes ) = 0; + virtual bool IsCloudEnabledForAccount() = 0; + virtual bool IsCloudEnabledForApp() = 0; + virtual void SetCloudEnabledForApp( bool bEnabled ) = 0; + + // user generated content + + // Downloads a UGC file. A priority value of 0 will download the file immediately, + // otherwise it will wait to download the file until all downloads with a lower priority + // value are completed. Downloads with equal priority will occur simultaneously. + STEAM_CALL_RESULT( RemoteStorageDownloadUGCResult_t ) + virtual SteamAPICall_t UGCDownload( UGCHandle_t hContent, uint32 unPriority ) = 0; + + // Gets the amount of data downloaded so far for a piece of content. pnBytesExpected can be 0 if function returns false + // or if the transfer hasn't started yet, so be careful to check for that before dividing to get a percentage + virtual bool GetUGCDownloadProgress( UGCHandle_t hContent, int32 *pnBytesDownloaded, int32 *pnBytesExpected ) = 0; + + // Gets metadata for a file after it has been downloaded. This is the same metadata given in the RemoteStorageDownloadUGCResult_t call result + virtual bool GetUGCDetails( UGCHandle_t hContent, AppId_t *pnAppID, STEAM_OUT_STRING() char **ppchName, int32 *pnFileSizeInBytes, STEAM_OUT_STRUCT() CSteamID *pSteamIDOwner ) = 0; + + // After download, gets the content of the file. + // Small files can be read all at once by calling this function with an offset of 0 and cubDataToRead equal to the size of the file. + // Larger files can be read in chunks to reduce memory usage (since both sides of the IPC client and the game itself must allocate + // enough memory for each chunk). Once the last byte is read, the file is implicitly closed and further calls to UGCRead will fail + // unless UGCDownload is called again. + // For especially large files (anything over 100MB) it is a requirement that the file is read in chunks. + virtual int32 UGCRead( UGCHandle_t hContent, void *pvData, int32 cubDataToRead, uint32 cOffset, EUGCReadAction eAction ) = 0; + + // Functions to iterate through UGC that has finished downloading but has not yet been read via UGCRead() + virtual int32 GetCachedUGCCount() = 0; + virtual UGCHandle_t GetCachedUGCHandle( int32 iCachedContent ) = 0; + + // publishing UGC + STEAM_CALL_RESULT( RemoteStoragePublishFileProgress_t ) + virtual SteamAPICall_t PublishWorkshopFile( const char *pchFile, const char *pchPreviewFile, AppId_t nConsumerAppId, const char *pchTitle, const char *pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t *pTags, EWorkshopFileType eWorkshopFileType ) = 0; + virtual PublishedFileUpdateHandle_t CreatePublishedFileUpdateRequest( PublishedFileId_t unPublishedFileId ) = 0; + virtual bool UpdatePublishedFileFile( PublishedFileUpdateHandle_t updateHandle, const char *pchFile ) = 0; + virtual bool UpdatePublishedFilePreviewFile( PublishedFileUpdateHandle_t updateHandle, const char *pchPreviewFile ) = 0; + virtual bool UpdatePublishedFileTitle( PublishedFileUpdateHandle_t updateHandle, const char *pchTitle ) = 0; + virtual bool UpdatePublishedFileDescription( PublishedFileUpdateHandle_t updateHandle, const char *pchDescription ) = 0; + virtual bool UpdatePublishedFileVisibility( PublishedFileUpdateHandle_t updateHandle, ERemoteStoragePublishedFileVisibility eVisibility ) = 0; + virtual bool UpdatePublishedFileTags( PublishedFileUpdateHandle_t updateHandle, SteamParamStringArray_t *pTags ) = 0; + STEAM_CALL_RESULT( RemoteStorageUpdatePublishedFileResult_t ) + virtual SteamAPICall_t CommitPublishedFileUpdate( PublishedFileUpdateHandle_t updateHandle ) = 0; + // Gets published file details for the given publishedfileid. If unMaxSecondsOld is greater than 0, + // cached data may be returned, depending on how long ago it was cached. A value of 0 will force a refresh. + // A value of k_WorkshopForceLoadPublishedFileDetailsFromCache will use cached data if it exists, no matter how old it is. + STEAM_CALL_RESULT( RemoteStorageGetPublishedFileDetailsResult_t ) + virtual SteamAPICall_t GetPublishedFileDetails( PublishedFileId_t unPublishedFileId, uint32 unMaxSecondsOld ) = 0; + STEAM_CALL_RESULT( RemoteStorageDeletePublishedFileResult_t ) + virtual SteamAPICall_t DeletePublishedFile( PublishedFileId_t unPublishedFileId ) = 0; + // enumerate the files that the current user published with this app + STEAM_CALL_RESULT( RemoteStorageEnumerateUserPublishedFilesResult_t ) + virtual SteamAPICall_t EnumerateUserPublishedFiles( uint32 unStartIndex ) = 0; + STEAM_CALL_RESULT( RemoteStorageSubscribePublishedFileResult_t ) + virtual SteamAPICall_t SubscribePublishedFile( PublishedFileId_t unPublishedFileId ) = 0; + STEAM_CALL_RESULT( RemoteStorageEnumerateUserSubscribedFilesResult_t ) + virtual SteamAPICall_t EnumerateUserSubscribedFiles( uint32 unStartIndex ) = 0; + STEAM_CALL_RESULT( RemoteStorageUnsubscribePublishedFileResult_t ) + virtual SteamAPICall_t UnsubscribePublishedFile( PublishedFileId_t unPublishedFileId ) = 0; + virtual bool UpdatePublishedFileSetChangeDescription( PublishedFileUpdateHandle_t updateHandle, const char *pchChangeDescription ) = 0; + STEAM_CALL_RESULT( RemoteStorageGetPublishedItemVoteDetailsResult_t ) + virtual SteamAPICall_t GetPublishedItemVoteDetails( PublishedFileId_t unPublishedFileId ) = 0; + STEAM_CALL_RESULT( RemoteStorageUpdateUserPublishedItemVoteResult_t ) + virtual SteamAPICall_t UpdateUserPublishedItemVote( PublishedFileId_t unPublishedFileId, bool bVoteUp ) = 0; + STEAM_CALL_RESULT( RemoteStorageGetPublishedItemVoteDetailsResult_t ) + virtual SteamAPICall_t GetUserPublishedItemVoteDetails( PublishedFileId_t unPublishedFileId ) = 0; + STEAM_CALL_RESULT( RemoteStorageEnumerateUserPublishedFilesResult_t ) + virtual SteamAPICall_t EnumerateUserSharedWorkshopFiles( CSteamID steamId, uint32 unStartIndex, SteamParamStringArray_t *pRequiredTags, SteamParamStringArray_t *pExcludedTags ) = 0; + STEAM_CALL_RESULT( RemoteStoragePublishFileProgress_t ) + virtual SteamAPICall_t PublishVideo( EWorkshopVideoProvider eVideoProvider, const char *pchVideoAccount, const char *pchVideoIdentifier, const char *pchPreviewFile, AppId_t nConsumerAppId, const char *pchTitle, const char *pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t *pTags ) = 0; + STEAM_CALL_RESULT( RemoteStorageSetUserPublishedFileActionResult_t ) + virtual SteamAPICall_t SetUserPublishedFileAction( PublishedFileId_t unPublishedFileId, EWorkshopFileAction eAction ) = 0; + STEAM_CALL_RESULT( RemoteStorageEnumeratePublishedFilesByUserActionResult_t ) + virtual SteamAPICall_t EnumeratePublishedFilesByUserAction( EWorkshopFileAction eAction, uint32 unStartIndex ) = 0; + // this method enumerates the public view of workshop files + STEAM_CALL_RESULT( RemoteStorageEnumerateWorkshopFilesResult_t ) + virtual SteamAPICall_t EnumeratePublishedWorkshopFiles( EWorkshopEnumerationType eEnumerationType, uint32 unStartIndex, uint32 unCount, uint32 unDays, SteamParamStringArray_t *pTags, SteamParamStringArray_t *pUserTags ) = 0; + + STEAM_CALL_RESULT( RemoteStorageDownloadUGCResult_t ) + virtual SteamAPICall_t UGCDownloadToLocation( UGCHandle_t hContent, const char *pchLocation, uint32 unPriority ) = 0; + + // Cloud dynamic state change notification + virtual int32 GetLocalFileChangeCount() = 0; + virtual const char *GetLocalFileChange( int iFile, ERemoteStorageLocalFileChange *pEChangeType, ERemoteStorageFilePathType *pEFilePathType ) = 0; + + // Indicate to Steam the beginning / end of a set of local file + // operations - for example, writing a game save that requires updating two files. + virtual bool BeginFileWriteBatch() = 0; + virtual bool EndFileWriteBatch() = 0; +}; + +#define STEAMREMOTESTORAGE_INTERFACE_VERSION "STEAMREMOTESTORAGE_INTERFACE_VERSION016" + +// Global interface accessor +inline ISteamRemoteStorage *SteamRemoteStorage(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamRemoteStorage *, SteamRemoteStorage, STEAMREMOTESTORAGE_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + + + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to FileShare() +//----------------------------------------------------------------------------- +struct RemoteStorageFileShareResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 7 }; + EResult m_eResult; // The result of the operation + UGCHandle_t m_hFile; // The handle that can be shared with users and features + char m_rgchFilename[k_cchFilenameMax]; // The name of the file that was shared +}; + + +// k_iSteamRemoteStorageCallbacks + 8 is deprecated! Do not reuse + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to PublishFile() +//----------------------------------------------------------------------------- +struct RemoteStoragePublishFileResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 9 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; + bool m_bUserNeedsToAcceptWorkshopLegalAgreement; +}; + +// k_iSteamRemoteStorageCallbacks + 10 is deprecated! Do not reuse + + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to DeletePublishedFile() +//----------------------------------------------------------------------------- +struct RemoteStorageDeletePublishedFileResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 11 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to EnumerateUserPublishedFiles() +//----------------------------------------------------------------------------- +struct RemoteStorageEnumerateUserPublishedFilesResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 12 }; + EResult m_eResult; // The result of the operation. + int32 m_nResultsReturned; + int32 m_nTotalResultCount; + PublishedFileId_t m_rgPublishedFileId[ k_unEnumeratePublishedFilesMaxResults ]; +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to SubscribePublishedFile() +//----------------------------------------------------------------------------- +struct RemoteStorageSubscribePublishedFileResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 13 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to EnumerateSubscribePublishedFiles() +//----------------------------------------------------------------------------- +struct RemoteStorageEnumerateUserSubscribedFilesResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 14 }; + EResult m_eResult; // The result of the operation. + int32 m_nResultsReturned; + int32 m_nTotalResultCount; + PublishedFileId_t m_rgPublishedFileId[ k_unEnumeratePublishedFilesMaxResults ]; + uint32 m_rgRTimeSubscribed[ k_unEnumeratePublishedFilesMaxResults ]; +}; + +#if defined(VALVE_CALLBACK_PACK_SMALL) + VALVE_COMPILE_TIME_ASSERT( sizeof( RemoteStorageEnumerateUserSubscribedFilesResult_t ) == (1 + 1 + 1 + 50 + 100) * 4 ); +#elif defined(VALVE_CALLBACK_PACK_LARGE) + VALVE_COMPILE_TIME_ASSERT( sizeof( RemoteStorageEnumerateUserSubscribedFilesResult_t ) == (1 + 1 + 1 + 50 + 100) * 4 + 4 ); +#else +#warning You must first include steam_api_common.h +#endif + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to UnsubscribePublishedFile() +//----------------------------------------------------------------------------- +struct RemoteStorageUnsubscribePublishedFileResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 15 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to CommitPublishedFileUpdate() +//----------------------------------------------------------------------------- +struct RemoteStorageUpdatePublishedFileResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 16 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; + bool m_bUserNeedsToAcceptWorkshopLegalAgreement; +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to UGCDownload() +//----------------------------------------------------------------------------- +struct RemoteStorageDownloadUGCResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 17 }; + EResult m_eResult; // The result of the operation. + UGCHandle_t m_hFile; // The handle to the file that was attempted to be downloaded. + AppId_t m_nAppID; // ID of the app that created this file. + int32 m_nSizeInBytes; // The size of the file that was downloaded, in bytes. + char m_pchFileName[k_cchFilenameMax]; // The name of the file that was downloaded. + uint64 m_ulSteamIDOwner; // Steam ID of the user who created this content. +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to GetPublishedFileDetails() +//----------------------------------------------------------------------------- +struct RemoteStorageGetPublishedFileDetailsResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 18 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; + AppId_t m_nCreatorAppID; // ID of the app that created this file. + AppId_t m_nConsumerAppID; // ID of the app that will consume this file. + char m_rgchTitle[k_cchPublishedDocumentTitleMax]; // title of document + char m_rgchDescription[k_cchPublishedDocumentDescriptionMax]; // description of document + UGCHandle_t m_hFile; // The handle of the primary file + UGCHandle_t m_hPreviewFile; // The handle of the preview file + uint64 m_ulSteamIDOwner; // Steam ID of the user who created this content. + uint32 m_rtimeCreated; // time when the published file was created + uint32 m_rtimeUpdated; // time when the published file was last updated + ERemoteStoragePublishedFileVisibility m_eVisibility; + bool m_bBanned; + char m_rgchTags[k_cchTagListMax]; // comma separated list of all tags associated with this file + bool m_bTagsTruncated; // whether the list of tags was too long to be returned in the provided buffer + char m_pchFileName[k_cchFilenameMax]; // The name of the primary file + int32 m_nFileSize; // Size of the primary file + int32 m_nPreviewFileSize; // Size of the preview file + char m_rgchURL[k_cchPublishedFileURLMax]; // URL (for a video or a website) + EWorkshopFileType m_eFileType; // Type of the file + bool m_bAcceptedForUse; // developer has specifically flagged this item as accepted in the Workshop +}; + + +struct RemoteStorageEnumerateWorkshopFilesResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 19 }; + EResult m_eResult; + int32 m_nResultsReturned; + int32 m_nTotalResultCount; + PublishedFileId_t m_rgPublishedFileId[ k_unEnumeratePublishedFilesMaxResults ]; + float m_rgScore[ k_unEnumeratePublishedFilesMaxResults ]; + AppId_t m_nAppId; + uint32 m_unStartIndex; +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of GetPublishedItemVoteDetails +//----------------------------------------------------------------------------- +struct RemoteStorageGetPublishedItemVoteDetailsResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 20 }; + EResult m_eResult; + PublishedFileId_t m_unPublishedFileId; + int32 m_nVotesFor; + int32 m_nVotesAgainst; + int32 m_nReports; + float m_fScore; +}; + + +//----------------------------------------------------------------------------- +// Purpose: User subscribed to a file for the app (from within the app or on the web) +//----------------------------------------------------------------------------- +struct RemoteStoragePublishedFileSubscribed_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 21 }; + PublishedFileId_t m_nPublishedFileId; // The published file id + AppId_t m_nAppID; // ID of the app that will consume this file. +}; + +//----------------------------------------------------------------------------- +// Purpose: User unsubscribed from a file for the app (from within the app or on the web) +//----------------------------------------------------------------------------- +struct RemoteStoragePublishedFileUnsubscribed_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 22 }; + PublishedFileId_t m_nPublishedFileId; // The published file id + AppId_t m_nAppID; // ID of the app that will consume this file. +}; + + +//----------------------------------------------------------------------------- +// Purpose: Published file that a user owns was deleted (from within the app or the web) +//----------------------------------------------------------------------------- +struct RemoteStoragePublishedFileDeleted_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 23 }; + PublishedFileId_t m_nPublishedFileId; // The published file id + AppId_t m_nAppID; // ID of the app that will consume this file. +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to UpdateUserPublishedItemVote() +//----------------------------------------------------------------------------- +struct RemoteStorageUpdateUserPublishedItemVoteResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 24 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; // The published file id +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to GetUserPublishedItemVoteDetails() +//----------------------------------------------------------------------------- +struct RemoteStorageUserVoteDetails_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 25 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; // The published file id + EWorkshopVote m_eVote; // what the user voted +}; + +struct RemoteStorageEnumerateUserSharedWorkshopFilesResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 26 }; + EResult m_eResult; // The result of the operation. + int32 m_nResultsReturned; + int32 m_nTotalResultCount; + PublishedFileId_t m_rgPublishedFileId[ k_unEnumeratePublishedFilesMaxResults ]; +}; + +struct RemoteStorageSetUserPublishedFileActionResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 27 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; // The published file id + EWorkshopFileAction m_eAction; // the action that was attempted +}; + +struct RemoteStorageEnumeratePublishedFilesByUserActionResult_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 28 }; + EResult m_eResult; // The result of the operation. + EWorkshopFileAction m_eAction; // the action that was filtered on + int32 m_nResultsReturned; + int32 m_nTotalResultCount; + PublishedFileId_t m_rgPublishedFileId[ k_unEnumeratePublishedFilesMaxResults ]; + uint32 m_rgRTimeUpdated[ k_unEnumeratePublishedFilesMaxResults ]; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Called periodically while a PublishWorkshopFile is in progress +//----------------------------------------------------------------------------- +struct RemoteStoragePublishFileProgress_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 29 }; + double m_dPercentFile; + bool m_bPreview; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Called when the content for a published file is updated +//----------------------------------------------------------------------------- +struct RemoteStoragePublishedFileUpdated_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 30 }; + PublishedFileId_t m_nPublishedFileId; // The published file id + AppId_t m_nAppID; // ID of the app that will consume this file. + uint64 m_ulUnused; // not used anymore +}; + +//----------------------------------------------------------------------------- +// Purpose: Called when a FileWriteAsync completes +//----------------------------------------------------------------------------- +struct RemoteStorageFileWriteAsyncComplete_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 31 }; + EResult m_eResult; // result +}; + +//----------------------------------------------------------------------------- +// Purpose: Called when a FileReadAsync completes +//----------------------------------------------------------------------------- +struct RemoteStorageFileReadAsyncComplete_t +{ + enum { k_iCallback = k_iSteamRemoteStorageCallbacks + 32 }; + SteamAPICall_t m_hFileReadAsync; // call handle of the async read which was made + EResult m_eResult; // result + uint32 m_nOffset; // offset in the file this read was at + uint32 m_cubRead; // amount read - will the <= the amount requested +}; + +//----------------------------------------------------------------------------- +// Purpose: one or more files for this app have changed locally after syncing +// to remote session changes +// Note: only posted if this happens DURING the local app session +//----------------------------------------------------------------------------- +STEAM_CALLBACK_BEGIN( RemoteStorageLocalFileChange_t, k_iSteamRemoteStorageCallbacks + 33 ) +STEAM_CALLBACK_END( 0 ) + +#pragma pack( pop ) + + +#endif // ISTEAMREMOTESTORAGE_H diff --git a/lsteamclient/steamworks_sdk_159x/isteamscreenshots.h b/lsteamclient/steamworks_sdk_159x/isteamscreenshots.h new file mode 100644 index 0000000000..18242682c3 --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamscreenshots.h @@ -0,0 +1,120 @@ +//====== Copyright � 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: public interface to user remote file storage in Steam +// +//============================================================================= + +#ifndef ISTEAMSCREENSHOTS_H +#define ISTEAMSCREENSHOTS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +const uint32 k_nScreenshotMaxTaggedUsers = 32; +const uint32 k_nScreenshotMaxTaggedPublishedFiles = 32; +const int k_cubUFSTagTypeMax = 255; +const int k_cubUFSTagValueMax = 255; + +// Required with of a thumbnail provided to AddScreenshotToLibrary. If you do not provide a thumbnail +// one will be generated. +const int k_ScreenshotThumbWidth = 200; + +// Handle is valid for the lifetime of your process and no longer +typedef uint32 ScreenshotHandle; +#define INVALID_SCREENSHOT_HANDLE 0 + +enum EVRScreenshotType +{ + k_EVRScreenshotType_None = 0, + k_EVRScreenshotType_Mono = 1, + k_EVRScreenshotType_Stereo = 2, + k_EVRScreenshotType_MonoCubemap = 3, + k_EVRScreenshotType_MonoPanorama = 4, + k_EVRScreenshotType_StereoPanorama = 5 +}; + +//----------------------------------------------------------------------------- +// Purpose: Functions for adding screenshots to the user's screenshot library +//----------------------------------------------------------------------------- +class ISteamScreenshots +{ +public: + // Writes a screenshot to the user's screenshot library given the raw image data, which must be in RGB format. + // The return value is a handle that is valid for the duration of the game process and can be used to apply tags. + virtual ScreenshotHandle WriteScreenshot( void *pubRGB, uint32 cubRGB, int nWidth, int nHeight ) = 0; + + // Adds a screenshot to the user's screenshot library from disk. If a thumbnail is provided, it must be 200 pixels wide and the same aspect ratio + // as the screenshot, otherwise a thumbnail will be generated if the user uploads the screenshot. The screenshots must be in either JPEG or TGA format. + // The return value is a handle that is valid for the duration of the game process and can be used to apply tags. + // JPEG, TGA, and PNG formats are supported. + virtual ScreenshotHandle AddScreenshotToLibrary( const char *pchFilename, const char *pchThumbnailFilename, int nWidth, int nHeight ) = 0; + + // Causes the Steam overlay to take a screenshot. If screenshots are being hooked by the game then a ScreenshotRequested_t callback is sent back to the game instead. + virtual void TriggerScreenshot() = 0; + + // Toggles whether the overlay handles screenshots when the user presses the screenshot hotkey, or the game handles them. If the game is hooking screenshots, + // then the ScreenshotRequested_t callback will be sent if the user presses the hotkey, and the game is expected to call WriteScreenshot or AddScreenshotToLibrary + // in response. + virtual void HookScreenshots( bool bHook ) = 0; + + // Sets metadata about a screenshot's location (for example, the name of the map) + virtual bool SetLocation( ScreenshotHandle hScreenshot, const char *pchLocation ) = 0; + + // Tags a user as being visible in the screenshot + virtual bool TagUser( ScreenshotHandle hScreenshot, CSteamID steamID ) = 0; + + // Tags a published file as being visible in the screenshot + virtual bool TagPublishedFile( ScreenshotHandle hScreenshot, PublishedFileId_t unPublishedFileID ) = 0; + + // Returns true if the app has hooked the screenshot + virtual bool IsScreenshotsHooked() = 0; + + // Adds a VR screenshot to the user's screenshot library from disk in the supported type. + // pchFilename should be the normal 2D image used in the library view + // pchVRFilename should contain the image that matches the correct type + // The return value is a handle that is valid for the duration of the game process and can be used to apply tags. + // JPEG, TGA, and PNG formats are supported. + virtual ScreenshotHandle AddVRScreenshotToLibrary( EVRScreenshotType eType, const char *pchFilename, const char *pchVRFilename ) = 0; +}; + +#define STEAMSCREENSHOTS_INTERFACE_VERSION "STEAMSCREENSHOTS_INTERFACE_VERSION003" + +// Global interface accessor +inline ISteamScreenshots *SteamScreenshots(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamScreenshots *, SteamScreenshots, STEAMSCREENSHOTS_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif +//----------------------------------------------------------------------------- +// Purpose: Screenshot successfully written or otherwise added to the library +// and can now be tagged +//----------------------------------------------------------------------------- +struct ScreenshotReady_t +{ + enum { k_iCallback = k_iSteamScreenshotsCallbacks + 1 }; + ScreenshotHandle m_hLocal; + EResult m_eResult; +}; + +//----------------------------------------------------------------------------- +// Purpose: Screenshot has been requested by the user. Only sent if +// HookScreenshots() has been called, in which case Steam will not take +// the screenshot itself. +//----------------------------------------------------------------------------- +struct ScreenshotRequested_t +{ + enum { k_iCallback = k_iSteamScreenshotsCallbacks + 2 }; +}; + +#pragma pack( pop ) + +#endif // ISTEAMSCREENSHOTS_H + diff --git a/lsteamclient/steamworks_sdk_159x/isteamugc.h b/lsteamclient/steamworks_sdk_159x/isteamugc.h new file mode 100644 index 0000000000..83ce488d9b --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamugc.h @@ -0,0 +1,627 @@ +//====== Copyright 1996-2013, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to steam ugc +// +//============================================================================= + +#ifndef ISTEAMUGC_H +#define ISTEAMUGC_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" +#include "isteamremotestorage.h" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + + +typedef uint64 UGCQueryHandle_t; +typedef uint64 UGCUpdateHandle_t; + + +const UGCQueryHandle_t k_UGCQueryHandleInvalid = 0xffffffffffffffffull; +const UGCUpdateHandle_t k_UGCUpdateHandleInvalid = 0xffffffffffffffffull; + + +// Matching UGC types for queries +enum EUGCMatchingUGCType +{ + k_EUGCMatchingUGCType_Items = 0, // both mtx items and ready-to-use items + k_EUGCMatchingUGCType_Items_Mtx = 1, + k_EUGCMatchingUGCType_Items_ReadyToUse = 2, + k_EUGCMatchingUGCType_Collections = 3, + k_EUGCMatchingUGCType_Artwork = 4, + k_EUGCMatchingUGCType_Videos = 5, + k_EUGCMatchingUGCType_Screenshots = 6, + k_EUGCMatchingUGCType_AllGuides = 7, // both web guides and integrated guides + k_EUGCMatchingUGCType_WebGuides = 8, + k_EUGCMatchingUGCType_IntegratedGuides = 9, + k_EUGCMatchingUGCType_UsableInGame = 10, // ready-to-use items and integrated guides + k_EUGCMatchingUGCType_ControllerBindings = 11, + k_EUGCMatchingUGCType_GameManagedItems = 12, // game managed items (not managed by users) + k_EUGCMatchingUGCType_All = ~0, // @note: will only be valid for CreateQueryUserUGCRequest requests +}; + +// Different lists of published UGC for a user. +// If the current logged in user is different than the specified user, then some options may not be allowed. +enum EUserUGCList +{ + k_EUserUGCList_Published, + k_EUserUGCList_VotedOn, + k_EUserUGCList_VotedUp, + k_EUserUGCList_VotedDown, + k_EUserUGCList_WillVoteLater, + k_EUserUGCList_Favorited, + k_EUserUGCList_Subscribed, + k_EUserUGCList_UsedOrPlayed, + k_EUserUGCList_Followed, +}; + +// Sort order for user published UGC lists (defaults to creation order descending) +enum EUserUGCListSortOrder +{ + k_EUserUGCListSortOrder_CreationOrderDesc, + k_EUserUGCListSortOrder_CreationOrderAsc, + k_EUserUGCListSortOrder_TitleAsc, + k_EUserUGCListSortOrder_LastUpdatedDesc, + k_EUserUGCListSortOrder_SubscriptionDateDesc, + k_EUserUGCListSortOrder_VoteScoreDesc, + k_EUserUGCListSortOrder_ForModeration, +}; + +// Combination of sorting and filtering for queries across all UGC +enum EUGCQuery +{ + k_EUGCQuery_RankedByVote = 0, + k_EUGCQuery_RankedByPublicationDate = 1, + k_EUGCQuery_AcceptedForGameRankedByAcceptanceDate = 2, + k_EUGCQuery_RankedByTrend = 3, + k_EUGCQuery_FavoritedByFriendsRankedByPublicationDate = 4, + k_EUGCQuery_CreatedByFriendsRankedByPublicationDate = 5, + k_EUGCQuery_RankedByNumTimesReported = 6, + k_EUGCQuery_CreatedByFollowedUsersRankedByPublicationDate = 7, + k_EUGCQuery_NotYetRated = 8, + k_EUGCQuery_RankedByTotalVotesAsc = 9, + k_EUGCQuery_RankedByVotesUp = 10, + k_EUGCQuery_RankedByTextSearch = 11, + k_EUGCQuery_RankedByTotalUniqueSubscriptions = 12, + k_EUGCQuery_RankedByPlaytimeTrend = 13, + k_EUGCQuery_RankedByTotalPlaytime = 14, + k_EUGCQuery_RankedByAveragePlaytimeTrend = 15, + k_EUGCQuery_RankedByLifetimeAveragePlaytime = 16, + k_EUGCQuery_RankedByPlaytimeSessionsTrend = 17, + k_EUGCQuery_RankedByLifetimePlaytimeSessions = 18, + k_EUGCQuery_RankedByLastUpdatedDate = 19, +}; + +enum EItemUpdateStatus +{ + k_EItemUpdateStatusInvalid = 0, // The item update handle was invalid, job might be finished, listen too SubmitItemUpdateResult_t + k_EItemUpdateStatusPreparingConfig = 1, // The item update is processing configuration data + k_EItemUpdateStatusPreparingContent = 2, // The item update is reading and processing content files + k_EItemUpdateStatusUploadingContent = 3, // The item update is uploading content changes to Steam + k_EItemUpdateStatusUploadingPreviewFile = 4, // The item update is uploading new preview file image + k_EItemUpdateStatusCommittingChanges = 5 // The item update is committing all changes +}; + +enum EItemState +{ + k_EItemStateNone = 0, // item not tracked on client + k_EItemStateSubscribed = 1, // current user is subscribed to this item. Not just cached. + k_EItemStateLegacyItem = 2, // item was created with ISteamRemoteStorage + k_EItemStateInstalled = 4, // item is installed and usable (but maybe out of date) + k_EItemStateNeedsUpdate = 8, // items needs an update. Either because it's not installed yet or creator updated content + k_EItemStateDownloading = 16, // item update is currently downloading + k_EItemStateDownloadPending = 32, // DownloadItem() was called for this item, content isn't available until DownloadItemResult_t is fired + k_EItemStateDisabledLocally = 64, // Item is disabled locally, so it shouldn't be considered subscribed +}; + +enum EItemStatistic +{ + k_EItemStatistic_NumSubscriptions = 0, + k_EItemStatistic_NumFavorites = 1, + k_EItemStatistic_NumFollowers = 2, + k_EItemStatistic_NumUniqueSubscriptions = 3, + k_EItemStatistic_NumUniqueFavorites = 4, + k_EItemStatistic_NumUniqueFollowers = 5, + k_EItemStatistic_NumUniqueWebsiteViews = 6, + k_EItemStatistic_ReportScore = 7, + k_EItemStatistic_NumSecondsPlayed = 8, + k_EItemStatistic_NumPlaytimeSessions = 9, + k_EItemStatistic_NumComments = 10, + k_EItemStatistic_NumSecondsPlayedDuringTimePeriod = 11, + k_EItemStatistic_NumPlaytimeSessionsDuringTimePeriod = 12, +}; + +enum EItemPreviewType +{ + k_EItemPreviewType_Image = 0, // standard image file expected (e.g. jpg, png, gif, etc.) + k_EItemPreviewType_YouTubeVideo = 1, // video id is stored + k_EItemPreviewType_Sketchfab = 2, // model id is stored + k_EItemPreviewType_EnvironmentMap_HorizontalCross = 3, // standard image file expected - cube map in the layout + // +---+---+-------+ + // | |Up | | + // +---+---+---+---+ + // | L | F | R | B | + // +---+---+---+---+ + // | |Dn | | + // +---+---+---+---+ + k_EItemPreviewType_EnvironmentMap_LatLong = 4, // standard image file expected + k_EItemPreviewType_Clip = 5, // clip id is stored + k_EItemPreviewType_ReservedMax = 255, // you can specify your own types above this value +}; + +enum EUGCContentDescriptorID +{ + k_EUGCContentDescriptor_NudityOrSexualContent = 1, + k_EUGCContentDescriptor_FrequentViolenceOrGore = 2, + k_EUGCContentDescriptor_AdultOnlySexualContent = 3, + k_EUGCContentDescriptor_GratuitousSexualContent = 4, + k_EUGCContentDescriptor_AnyMatureContent = 5, +}; + +const uint32 kNumUGCResultsPerPage = 50; +const uint32 k_cchDeveloperMetadataMax = 5000; + +// Details for a single published file/UGC +struct SteamUGCDetails_t +{ + PublishedFileId_t m_nPublishedFileId; + EResult m_eResult; // The result of the operation. + EWorkshopFileType m_eFileType; // Type of the file + AppId_t m_nCreatorAppID; // ID of the app that created this file. + AppId_t m_nConsumerAppID; // ID of the app that will consume this file. + char m_rgchTitle[k_cchPublishedDocumentTitleMax]; // title of document + char m_rgchDescription[k_cchPublishedDocumentDescriptionMax]; // description of document + uint64 m_ulSteamIDOwner; // Steam ID of the user who created this content. + uint32 m_rtimeCreated; // time when the published file was created + uint32 m_rtimeUpdated; // time when the published file was last updated + uint32 m_rtimeAddedToUserList; // time when the user added the published file to their list (not always applicable) + ERemoteStoragePublishedFileVisibility m_eVisibility; // visibility + bool m_bBanned; // whether the file was banned + bool m_bAcceptedForUse; // developer has specifically flagged this item as accepted in the Workshop + bool m_bTagsTruncated; // whether the list of tags was too long to be returned in the provided buffer + char m_rgchTags[k_cchTagListMax]; // comma separated list of all tags associated with this file + // file/url information + UGCHandle_t m_hFile; // The handle of the primary file + UGCHandle_t m_hPreviewFile; // The handle of the preview file + char m_pchFileName[k_cchFilenameMax]; // The cloud filename of the primary file + int32 m_nFileSize; // Size of the primary file (for legacy items which only support one file). This may not be accurate for non-legacy items which can be greater than 4gb in size. + int32 m_nPreviewFileSize; // Size of the preview file + char m_rgchURL[k_cchPublishedFileURLMax]; // URL (for a video or a website) + // voting information + uint32 m_unVotesUp; // number of votes up + uint32 m_unVotesDown; // number of votes down + float m_flScore; // calculated score + // collection details + uint32 m_unNumChildren; + uint64 m_ulTotalFilesSize; // Total size of all files (non-legacy), excluding the preview file +}; + +//----------------------------------------------------------------------------- +// Purpose: Steam UGC support API +//----------------------------------------------------------------------------- +class ISteamUGC +{ +public: + + // Query UGC associated with a user. Creator app id or consumer app id must be valid and be set to the current running app. unPage should start at 1. + virtual UGCQueryHandle_t CreateQueryUserUGCRequest( AccountID_t unAccountID, EUserUGCList eListType, EUGCMatchingUGCType eMatchingUGCType, EUserUGCListSortOrder eSortOrder, AppId_t nCreatorAppID, AppId_t nConsumerAppID, uint32 unPage ) = 0; + + // Query for all matching UGC. Creator app id or consumer app id must be valid and be set to the current running app. unPage should start at 1. + STEAM_FLAT_NAME( CreateQueryAllUGCRequestPage ) + virtual UGCQueryHandle_t CreateQueryAllUGCRequest( EUGCQuery eQueryType, EUGCMatchingUGCType eMatchingeMatchingUGCTypeFileType, AppId_t nCreatorAppID, AppId_t nConsumerAppID, uint32 unPage ) = 0; + + // Query for all matching UGC using the new deep paging interface. Creator app id or consumer app id must be valid and be set to the current running app. pchCursor should be set to NULL or "*" to get the first result set. + STEAM_FLAT_NAME( CreateQueryAllUGCRequestCursor ) + virtual UGCQueryHandle_t CreateQueryAllUGCRequest( EUGCQuery eQueryType, EUGCMatchingUGCType eMatchingeMatchingUGCTypeFileType, AppId_t nCreatorAppID, AppId_t nConsumerAppID, const char *pchCursor = NULL ) = 0; + + // Query for the details of the given published file ids (the RequestUGCDetails call is deprecated and replaced with this) + virtual UGCQueryHandle_t CreateQueryUGCDetailsRequest( PublishedFileId_t *pvecPublishedFileID, uint32 unNumPublishedFileIDs ) = 0; + + // Send the query to Steam + STEAM_CALL_RESULT( SteamUGCQueryCompleted_t ) + virtual SteamAPICall_t SendQueryUGCRequest( UGCQueryHandle_t handle ) = 0; + + // Retrieve an individual result after receiving the callback for querying UGC + virtual bool GetQueryUGCResult( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails ) = 0; + virtual uint32 GetQueryUGCNumTags( UGCQueryHandle_t handle, uint32 index ) = 0; + virtual bool GetQueryUGCTag( UGCQueryHandle_t handle, uint32 index, uint32 indexTag, STEAM_OUT_STRING_COUNT( cchValueSize ) char* pchValue, uint32 cchValueSize ) = 0; + virtual bool GetQueryUGCTagDisplayName( UGCQueryHandle_t handle, uint32 index, uint32 indexTag, STEAM_OUT_STRING_COUNT( cchValueSize ) char* pchValue, uint32 cchValueSize ) = 0; + virtual bool GetQueryUGCPreviewURL( UGCQueryHandle_t handle, uint32 index, STEAM_OUT_STRING_COUNT(cchURLSize) char *pchURL, uint32 cchURLSize ) = 0; + virtual bool GetQueryUGCMetadata( UGCQueryHandle_t handle, uint32 index, STEAM_OUT_STRING_COUNT(cchMetadatasize) char *pchMetadata, uint32 cchMetadatasize ) = 0; + virtual bool GetQueryUGCChildren( UGCQueryHandle_t handle, uint32 index, PublishedFileId_t* pvecPublishedFileID, uint32 cMaxEntries ) = 0; + virtual bool GetQueryUGCStatistic( UGCQueryHandle_t handle, uint32 index, EItemStatistic eStatType, uint64 *pStatValue ) = 0; + virtual uint32 GetQueryUGCNumAdditionalPreviews( UGCQueryHandle_t handle, uint32 index ) = 0; + virtual bool GetQueryUGCAdditionalPreview( UGCQueryHandle_t handle, uint32 index, uint32 previewIndex, STEAM_OUT_STRING_COUNT(cchURLSize) char *pchURLOrVideoID, uint32 cchURLSize, STEAM_OUT_STRING_COUNT(cchURLSize) char *pchOriginalFileName, uint32 cchOriginalFileNameSize, EItemPreviewType *pPreviewType ) = 0; + virtual uint32 GetQueryUGCNumKeyValueTags( UGCQueryHandle_t handle, uint32 index ) = 0; + virtual bool GetQueryUGCKeyValueTag( UGCQueryHandle_t handle, uint32 index, uint32 keyValueTagIndex, STEAM_OUT_STRING_COUNT(cchKeySize) char *pchKey, uint32 cchKeySize, STEAM_OUT_STRING_COUNT(cchValueSize) char *pchValue, uint32 cchValueSize ) = 0; + + // Return the first value matching the pchKey. Note that a key may map to multiple values. Returns false if there was an error or no matching value was found. + STEAM_FLAT_NAME( GetQueryFirstUGCKeyValueTag ) + virtual bool GetQueryUGCKeyValueTag( UGCQueryHandle_t handle, uint32 index, const char *pchKey, STEAM_OUT_STRING_COUNT(cchValueSize) char *pchValue, uint32 cchValueSize ) = 0; + + virtual uint32 GetQueryUGCContentDescriptors( UGCQueryHandle_t handle, uint32 index, EUGCContentDescriptorID *pvecDescriptors, uint32 cMaxEntries ) = 0; + + // Release the request to free up memory, after retrieving results + virtual bool ReleaseQueryUGCRequest( UGCQueryHandle_t handle ) = 0; + + // Options to set for querying UGC + virtual bool AddRequiredTag( UGCQueryHandle_t handle, const char *pTagName ) = 0; + virtual bool AddRequiredTagGroup( UGCQueryHandle_t handle, const SteamParamStringArray_t *pTagGroups ) = 0; // match any of the tags in this group + virtual bool AddExcludedTag( UGCQueryHandle_t handle, const char *pTagName ) = 0; + virtual bool SetReturnOnlyIDs( UGCQueryHandle_t handle, bool bReturnOnlyIDs ) = 0; + virtual bool SetReturnKeyValueTags( UGCQueryHandle_t handle, bool bReturnKeyValueTags ) = 0; + virtual bool SetReturnLongDescription( UGCQueryHandle_t handle, bool bReturnLongDescription ) = 0; + virtual bool SetReturnMetadata( UGCQueryHandle_t handle, bool bReturnMetadata ) = 0; + virtual bool SetReturnChildren( UGCQueryHandle_t handle, bool bReturnChildren ) = 0; + virtual bool SetReturnAdditionalPreviews( UGCQueryHandle_t handle, bool bReturnAdditionalPreviews ) = 0; + virtual bool SetReturnTotalOnly( UGCQueryHandle_t handle, bool bReturnTotalOnly ) = 0; + virtual bool SetReturnPlaytimeStats( UGCQueryHandle_t handle, uint32 unDays ) = 0; + virtual bool SetLanguage( UGCQueryHandle_t handle, const char *pchLanguage ) = 0; + virtual bool SetAllowCachedResponse( UGCQueryHandle_t handle, uint32 unMaxAgeSeconds ) = 0; + virtual bool SetAdminQuery( UGCUpdateHandle_t handle, bool bAdminQuery ) = 0; // admin queries return hidden items + + // Options only for querying user UGC + virtual bool SetCloudFileNameFilter( UGCQueryHandle_t handle, const char *pMatchCloudFileName ) = 0; + + // Options only for querying all UGC + virtual bool SetMatchAnyTag( UGCQueryHandle_t handle, bool bMatchAnyTag ) = 0; + virtual bool SetSearchText( UGCQueryHandle_t handle, const char *pSearchText ) = 0; + virtual bool SetRankedByTrendDays( UGCQueryHandle_t handle, uint32 unDays ) = 0; + virtual bool SetTimeCreatedDateRange( UGCQueryHandle_t handle, RTime32 rtStart, RTime32 rtEnd ) = 0; + virtual bool SetTimeUpdatedDateRange( UGCQueryHandle_t handle, RTime32 rtStart, RTime32 rtEnd ) = 0; + virtual bool AddRequiredKeyValueTag( UGCQueryHandle_t handle, const char *pKey, const char *pValue ) = 0; + + // DEPRECATED - Use CreateQueryUGCDetailsRequest call above instead! + STEAM_CALL_RESULT( SteamUGCRequestUGCDetailsResult_t ) + virtual SteamAPICall_t RequestUGCDetails( PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds ) = 0; + + // Steam Workshop Creator API + STEAM_CALL_RESULT( CreateItemResult_t ) + virtual SteamAPICall_t CreateItem( AppId_t nConsumerAppId, EWorkshopFileType eFileType ) = 0; // create new item for this app with no content attached yet + + virtual UGCUpdateHandle_t StartItemUpdate( AppId_t nConsumerAppId, PublishedFileId_t nPublishedFileID ) = 0; // start an UGC item update. Set changed properties before commiting update with CommitItemUpdate() + + virtual bool SetItemTitle( UGCUpdateHandle_t handle, const char *pchTitle ) = 0; // change the title of an UGC item + virtual bool SetItemDescription( UGCUpdateHandle_t handle, const char *pchDescription ) = 0; // change the description of an UGC item + virtual bool SetItemUpdateLanguage( UGCUpdateHandle_t handle, const char *pchLanguage ) = 0; // specify the language of the title or description that will be set + virtual bool SetItemMetadata( UGCUpdateHandle_t handle, const char *pchMetaData ) = 0; // change the metadata of an UGC item (max = k_cchDeveloperMetadataMax) + virtual bool SetItemVisibility( UGCUpdateHandle_t handle, ERemoteStoragePublishedFileVisibility eVisibility ) = 0; // change the visibility of an UGC item + virtual bool SetItemTags( UGCUpdateHandle_t updateHandle, const SteamParamStringArray_t *pTags, bool bAllowAdminTags = false ) = 0; // change the tags of an UGC item + virtual bool SetItemContent( UGCUpdateHandle_t handle, const char *pszContentFolder ) = 0; // update item content from this local folder + virtual bool SetItemPreview( UGCUpdateHandle_t handle, const char *pszPreviewFile ) = 0; // change preview image file for this item. pszPreviewFile points to local image file, which must be under 1MB in size + virtual bool SetAllowLegacyUpload( UGCUpdateHandle_t handle, bool bAllowLegacyUpload ) = 0; // use legacy upload for a single small file. The parameter to SetItemContent() should either be a directory with one file or the full path to the file. The file must also be less than 10MB in size. + virtual bool RemoveAllItemKeyValueTags( UGCUpdateHandle_t handle ) = 0; // remove all existing key-value tags (you can add new ones via the AddItemKeyValueTag function) + virtual bool RemoveItemKeyValueTags( UGCUpdateHandle_t handle, const char *pchKey ) = 0; // remove any existing key-value tags with the specified key + virtual bool AddItemKeyValueTag( UGCUpdateHandle_t handle, const char *pchKey, const char *pchValue ) = 0; // add new key-value tags for the item. Note that there can be multiple values for a tag. + virtual bool AddItemPreviewFile( UGCUpdateHandle_t handle, const char *pszPreviewFile, EItemPreviewType type ) = 0; // add preview file for this item. pszPreviewFile points to local file, which must be under 1MB in size + virtual bool AddItemPreviewVideo( UGCUpdateHandle_t handle, const char *pszVideoID ) = 0; // add preview video for this item + virtual bool UpdateItemPreviewFile( UGCUpdateHandle_t handle, uint32 index, const char *pszPreviewFile ) = 0; // updates an existing preview file for this item. pszPreviewFile points to local file, which must be under 1MB in size + virtual bool UpdateItemPreviewVideo( UGCUpdateHandle_t handle, uint32 index, const char *pszVideoID ) = 0; // updates an existing preview video for this item + virtual bool RemoveItemPreview( UGCUpdateHandle_t handle, uint32 index ) = 0; // remove a preview by index starting at 0 (previews are sorted) + virtual bool AddContentDescriptor( UGCUpdateHandle_t handle, EUGCContentDescriptorID descid ) = 0; + virtual bool RemoveContentDescriptor( UGCUpdateHandle_t handle, EUGCContentDescriptorID descid ) = 0; + + STEAM_CALL_RESULT( SubmitItemUpdateResult_t ) + virtual SteamAPICall_t SubmitItemUpdate( UGCUpdateHandle_t handle, const char *pchChangeNote ) = 0; // commit update process started with StartItemUpdate() + virtual EItemUpdateStatus GetItemUpdateProgress( UGCUpdateHandle_t handle, uint64 *punBytesProcessed, uint64* punBytesTotal ) = 0; + + // Steam Workshop Consumer API + STEAM_CALL_RESULT( SetUserItemVoteResult_t ) + virtual SteamAPICall_t SetUserItemVote( PublishedFileId_t nPublishedFileID, bool bVoteUp ) = 0; + STEAM_CALL_RESULT( GetUserItemVoteResult_t ) + virtual SteamAPICall_t GetUserItemVote( PublishedFileId_t nPublishedFileID ) = 0; + STEAM_CALL_RESULT( UserFavoriteItemsListChanged_t ) + virtual SteamAPICall_t AddItemToFavorites( AppId_t nAppId, PublishedFileId_t nPublishedFileID ) = 0; + STEAM_CALL_RESULT( UserFavoriteItemsListChanged_t ) + virtual SteamAPICall_t RemoveItemFromFavorites( AppId_t nAppId, PublishedFileId_t nPublishedFileID ) = 0; + STEAM_CALL_RESULT( RemoteStorageSubscribePublishedFileResult_t ) + virtual SteamAPICall_t SubscribeItem( PublishedFileId_t nPublishedFileID ) = 0; // subscribe to this item, will be installed ASAP + STEAM_CALL_RESULT( RemoteStorageUnsubscribePublishedFileResult_t ) + virtual SteamAPICall_t UnsubscribeItem( PublishedFileId_t nPublishedFileID ) = 0; // unsubscribe from this item, will be uninstalled after game quits + virtual uint32 GetNumSubscribedItems() = 0; // number of subscribed items + virtual uint32 GetSubscribedItems( PublishedFileId_t* pvecPublishedFileID, uint32 cMaxEntries ) = 0; // all subscribed item PublishFileIDs + + // get EItemState flags about item on this client + virtual uint32 GetItemState( PublishedFileId_t nPublishedFileID ) = 0; + + // get info about currently installed content on disc for items that have k_EItemStateInstalled set + // if k_EItemStateLegacyItem is set, pchFolder contains the path to the legacy file itself (not a folder) + virtual bool GetItemInstallInfo( PublishedFileId_t nPublishedFileID, uint64 *punSizeOnDisk, STEAM_OUT_STRING_COUNT( cchFolderSize ) char *pchFolder, uint32 cchFolderSize, uint32 *punTimeStamp ) = 0; + + // get info about pending update for items that have k_EItemStateNeedsUpdate set. punBytesTotal will be valid after download started once + virtual bool GetItemDownloadInfo( PublishedFileId_t nPublishedFileID, uint64 *punBytesDownloaded, uint64 *punBytesTotal ) = 0; + + // download new or update already installed item. If function returns true, wait for DownloadItemResult_t. If the item is already installed, + // then files on disk should not be used until callback received. If item is not subscribed to, it will be cached for some time. + // If bHighPriority is set, any other item download will be suspended and this item downloaded ASAP. + virtual bool DownloadItem( PublishedFileId_t nPublishedFileID, bool bHighPriority ) = 0; + + // game servers can set a specific workshop folder before issuing any UGC commands. + // This is helpful if you want to support multiple game servers running out of the same install folder + virtual bool BInitWorkshopForGameServer( DepotId_t unWorkshopDepotID, const char *pszFolder ) = 0; + + // SuspendDownloads( true ) will suspend all workshop downloads until SuspendDownloads( false ) is called or the game ends + virtual void SuspendDownloads( bool bSuspend ) = 0; + + // usage tracking + STEAM_CALL_RESULT( StartPlaytimeTrackingResult_t ) + virtual SteamAPICall_t StartPlaytimeTracking( PublishedFileId_t *pvecPublishedFileID, uint32 unNumPublishedFileIDs ) = 0; + STEAM_CALL_RESULT( StopPlaytimeTrackingResult_t ) + virtual SteamAPICall_t StopPlaytimeTracking( PublishedFileId_t *pvecPublishedFileID, uint32 unNumPublishedFileIDs ) = 0; + STEAM_CALL_RESULT( StopPlaytimeTrackingResult_t ) + virtual SteamAPICall_t StopPlaytimeTrackingForAllItems() = 0; + + // parent-child relationship or dependency management + STEAM_CALL_RESULT( AddUGCDependencyResult_t ) + virtual SteamAPICall_t AddDependency( PublishedFileId_t nParentPublishedFileID, PublishedFileId_t nChildPublishedFileID ) = 0; + STEAM_CALL_RESULT( RemoveUGCDependencyResult_t ) + virtual SteamAPICall_t RemoveDependency( PublishedFileId_t nParentPublishedFileID, PublishedFileId_t nChildPublishedFileID ) = 0; + + // add/remove app dependence/requirements (usually DLC) + STEAM_CALL_RESULT( AddAppDependencyResult_t ) + virtual SteamAPICall_t AddAppDependency( PublishedFileId_t nPublishedFileID, AppId_t nAppID ) = 0; + STEAM_CALL_RESULT( RemoveAppDependencyResult_t ) + virtual SteamAPICall_t RemoveAppDependency( PublishedFileId_t nPublishedFileID, AppId_t nAppID ) = 0; + // request app dependencies. note that whatever callback you register for GetAppDependenciesResult_t may be called multiple times + // until all app dependencies have been returned + STEAM_CALL_RESULT( GetAppDependenciesResult_t ) + virtual SteamAPICall_t GetAppDependencies( PublishedFileId_t nPublishedFileID ) = 0; + + // delete the item without prompting the user + STEAM_CALL_RESULT( DeleteItemResult_t ) + virtual SteamAPICall_t DeleteItem( PublishedFileId_t nPublishedFileID ) = 0; + + // Show the app's latest Workshop EULA to the user in an overlay window, where they can accept it or not + virtual bool ShowWorkshopEULA() = 0; + // Retrieve information related to the user's acceptance or not of the app's specific Workshop EULA + STEAM_CALL_RESULT( WorkshopEULAStatus_t ) + virtual SteamAPICall_t GetWorkshopEULAStatus() = 0; + + // Return the user's community content descriptor preferences + virtual uint32 GetUserContentDescriptorPreferences( EUGCContentDescriptorID *pvecDescriptors, uint32 cMaxEntries ) = 0; +}; + +#define STEAMUGC_INTERFACE_VERSION "STEAMUGC_INTERFACE_VERSION019" + +// Global interface accessor +inline ISteamUGC *SteamUGC(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamUGC *, SteamUGC, STEAMUGC_INTERFACE_VERSION ); + +// Global accessor for the gameserver client +inline ISteamUGC *SteamGameServerUGC(); +STEAM_DEFINE_GAMESERVER_INTERFACE_ACCESSOR( ISteamUGC *, SteamGameServerUGC, STEAMUGC_INTERFACE_VERSION ); + +//----------------------------------------------------------------------------- +// Purpose: Callback for querying UGC +//----------------------------------------------------------------------------- +struct SteamUGCQueryCompleted_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 1 }; + UGCQueryHandle_t m_handle; + EResult m_eResult; + uint32 m_unNumResultsReturned; + uint32 m_unTotalMatchingResults; + bool m_bCachedData; // indicates whether this data was retrieved from the local on-disk cache + char m_rgchNextCursor[k_cchPublishedFileURLMax]; // If a paging cursor was used, then this will be the next cursor to get the next result set. +}; + + +//----------------------------------------------------------------------------- +// Purpose: Callback for requesting details on one piece of UGC +//----------------------------------------------------------------------------- +struct SteamUGCRequestUGCDetailsResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 2 }; + SteamUGCDetails_t m_details; + bool m_bCachedData; // indicates whether this data was retrieved from the local on-disk cache +}; + + +//----------------------------------------------------------------------------- +// Purpose: result for ISteamUGC::CreateItem() +//----------------------------------------------------------------------------- +struct CreateItemResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 3 }; + EResult m_eResult; + PublishedFileId_t m_nPublishedFileId; // new item got this UGC PublishFileID + bool m_bUserNeedsToAcceptWorkshopLegalAgreement; +}; + + +//----------------------------------------------------------------------------- +// Purpose: result for ISteamUGC::SubmitItemUpdate() +//----------------------------------------------------------------------------- +struct SubmitItemUpdateResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 4 }; + EResult m_eResult; + bool m_bUserNeedsToAcceptWorkshopLegalAgreement; + PublishedFileId_t m_nPublishedFileId; +}; + + +//----------------------------------------------------------------------------- +// Purpose: a Workshop item has been installed or updated +//----------------------------------------------------------------------------- +struct ItemInstalled_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 5 }; + AppId_t m_unAppID; + PublishedFileId_t m_nPublishedFileId; + UGCHandle_t m_hLegacyContent; + uint64 m_unManifestID; +}; + + +//----------------------------------------------------------------------------- +// Purpose: result of DownloadItem(), existing item files can be accessed again +//----------------------------------------------------------------------------- +struct DownloadItemResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 6 }; + AppId_t m_unAppID; + PublishedFileId_t m_nPublishedFileId; + EResult m_eResult; +}; + +//----------------------------------------------------------------------------- +// Purpose: result of AddItemToFavorites() or RemoveItemFromFavorites() +//----------------------------------------------------------------------------- +struct UserFavoriteItemsListChanged_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 7 }; + PublishedFileId_t m_nPublishedFileId; + EResult m_eResult; + bool m_bWasAddRequest; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to SetUserItemVote() +//----------------------------------------------------------------------------- +struct SetUserItemVoteResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 8 }; + PublishedFileId_t m_nPublishedFileId; + EResult m_eResult; + bool m_bVoteUp; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to GetUserItemVote() +//----------------------------------------------------------------------------- +struct GetUserItemVoteResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 9 }; + PublishedFileId_t m_nPublishedFileId; + EResult m_eResult; + bool m_bVotedUp; + bool m_bVotedDown; + bool m_bVoteSkipped; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to StartPlaytimeTracking() +//----------------------------------------------------------------------------- +struct StartPlaytimeTrackingResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 10 }; + EResult m_eResult; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to StopPlaytimeTracking() +//----------------------------------------------------------------------------- +struct StopPlaytimeTrackingResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 11 }; + EResult m_eResult; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to AddDependency +//----------------------------------------------------------------------------- +struct AddUGCDependencyResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 12 }; + EResult m_eResult; + PublishedFileId_t m_nPublishedFileId; + PublishedFileId_t m_nChildPublishedFileId; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to RemoveDependency +//----------------------------------------------------------------------------- +struct RemoveUGCDependencyResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 13 }; + EResult m_eResult; + PublishedFileId_t m_nPublishedFileId; + PublishedFileId_t m_nChildPublishedFileId; +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to AddAppDependency +//----------------------------------------------------------------------------- +struct AddAppDependencyResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 14 }; + EResult m_eResult; + PublishedFileId_t m_nPublishedFileId; + AppId_t m_nAppID; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to RemoveAppDependency +//----------------------------------------------------------------------------- +struct RemoveAppDependencyResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 15 }; + EResult m_eResult; + PublishedFileId_t m_nPublishedFileId; + AppId_t m_nAppID; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to GetAppDependencies. Callback may be called +// multiple times until all app dependencies have been returned. +//----------------------------------------------------------------------------- +struct GetAppDependenciesResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 16 }; + EResult m_eResult; + PublishedFileId_t m_nPublishedFileId; + AppId_t m_rgAppIDs[32]; + uint32 m_nNumAppDependencies; // number returned in this struct + uint32 m_nTotalNumAppDependencies; // total found +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to DeleteItem +//----------------------------------------------------------------------------- +struct DeleteItemResult_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 17 }; + EResult m_eResult; + PublishedFileId_t m_nPublishedFileId; +}; + + +//----------------------------------------------------------------------------- +// Purpose: signal that the list of subscribed items changed +//----------------------------------------------------------------------------- +struct UserSubscribedItemsListChanged_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 18 }; + AppId_t m_nAppID; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Status of the user's acceptable/rejection of the app's specific Workshop EULA +//----------------------------------------------------------------------------- +struct WorkshopEULAStatus_t +{ + enum { k_iCallback = k_iSteamUGCCallbacks + 20 }; + EResult m_eResult; + AppId_t m_nAppID; + uint32 m_unVersion; + RTime32 m_rtAction; + bool m_bAccepted; + bool m_bNeedsAction; +}; + +#pragma pack( pop ) + +#endif // ISTEAMUGC_H diff --git a/lsteamclient/steamworks_sdk_159x/isteamuser.h b/lsteamclient/steamworks_sdk_159x/isteamuser.h new file mode 100644 index 0000000000..182f02e7c3 --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamuser.h @@ -0,0 +1,439 @@ +//====== Copyright (c) 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to user account information in Steam +// +//============================================================================= + +#ifndef ISTEAMUSER_H +#define ISTEAMUSER_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +//----------------------------------------------------------------------------- +// Purpose: Functions for accessing and manipulating a steam account +// associated with one client instance +//----------------------------------------------------------------------------- +class ISteamUser +{ +public: + // returns the HSteamUser this interface represents + // this is only used internally by the API, and by a few select interfaces that support multi-user + virtual HSteamUser GetHSteamUser() = 0; + + // returns true if the Steam client current has a live connection to the Steam servers. + // If false, it means there is no active connection due to either a networking issue on the local machine, or the Steam server is down/busy. + // The Steam client will automatically be trying to recreate the connection as often as possible. + virtual bool BLoggedOn() = 0; + + // returns the CSteamID of the account currently logged into the Steam client + // a CSteamID is a unique identifier for an account, and used to differentiate users in all parts of the Steamworks API + virtual CSteamID GetSteamID() = 0; + + // Multiplayer Authentication functions + + // InitiateGameConnection() starts the state machine for authenticating the game client with the game server + // It is the client portion of a three-way handshake between the client, the game server, and the steam servers + // + // Parameters: + // void *pAuthBlob - a pointer to empty memory that will be filled in with the authentication token. + // int cbMaxAuthBlob - the number of bytes of allocated memory in pBlob. Should be at least 2048 bytes. + // CSteamID steamIDGameServer - the steamID of the game server, received from the game server by the client + // CGameID gameID - the ID of the current game. For games without mods, this is just CGameID( ) + // uint32 unIPServer, uint16 usPortServer - the IP address of the game server + // bool bSecure - whether or not the client thinks that the game server is reporting itself as secure (i.e. VAC is running) + // + // return value - returns the number of bytes written to pBlob. If the return is 0, then the buffer passed in was too small, and the call has failed + // The contents of pBlob should then be sent to the game server, for it to use to complete the authentication process. + // + // DEPRECATED! This function will be removed from the SDK in an upcoming version. + // Please migrate to BeginAuthSession and related functions. + virtual int InitiateGameConnection_DEPRECATED( void *pAuthBlob, int cbMaxAuthBlob, CSteamID steamIDGameServer, uint32 unIPServer, uint16 usPortServer, bool bSecure ) = 0; + + // notify of disconnect + // needs to occur when the game client leaves the specified game server, needs to match with the InitiateGameConnection() call + // + // DEPRECATED! This function will be removed from the SDK in an upcoming version. + // Please migrate to BeginAuthSession and related functions. + virtual void TerminateGameConnection_DEPRECATED( uint32 unIPServer, uint16 usPortServer ) = 0; + + // Legacy functions + + // used by only a few games to track usage events + virtual void TrackAppUsageEvent( CGameID gameID, int eAppUsageEvent, const char *pchExtraInfo = "" ) = 0; + + // get the local storage folder for current Steam account to write application data, e.g. save games, configs etc. + // this will usually be something like "C:\Progam Files\Steam\userdata\\\local" + virtual bool GetUserDataFolder( char *pchBuffer, int cubBuffer ) = 0; + + // Starts voice recording. Once started, use GetVoice() to get the data + virtual void StartVoiceRecording( ) = 0; + + // Stops voice recording. Because people often release push-to-talk keys early, the system will keep recording for + // a little bit after this function is called. GetVoice() should continue to be called until it returns + // k_eVoiceResultNotRecording + virtual void StopVoiceRecording( ) = 0; + + // Determine the size of captured audio data that is available from GetVoice. + // Most applications will only use compressed data and should ignore the other + // parameters, which exist primarily for backwards compatibility. See comments + // below for further explanation of "uncompressed" data. + virtual EVoiceResult GetAvailableVoice( uint32 *pcbCompressed, uint32 *pcbUncompressed_Deprecated = 0, uint32 nUncompressedVoiceDesiredSampleRate_Deprecated = 0 ) = 0; + + // --------------------------------------------------------------------------- + // NOTE: "uncompressed" audio is a deprecated feature and should not be used + // by most applications. It is raw single-channel 16-bit PCM wave data which + // may have been run through preprocessing filters and/or had silence removed, + // so the uncompressed audio could have a shorter duration than you expect. + // There may be no data at all during long periods of silence. Also, fetching + // uncompressed audio will cause GetVoice to discard any leftover compressed + // audio, so you must fetch both types at once. Finally, GetAvailableVoice is + // not precisely accurate when the uncompressed size is requested. So if you + // really need to use uncompressed audio, you should call GetVoice frequently + // with two very large (20kb+) output buffers instead of trying to allocate + // perfectly-sized buffers. But most applications should ignore all of these + // details and simply leave the "uncompressed" parameters as NULL/zero. + // --------------------------------------------------------------------------- + + // Read captured audio data from the microphone buffer. This should be called + // at least once per frame, and preferably every few milliseconds, to keep the + // microphone input delay as low as possible. Most applications will only use + // compressed data and should pass NULL/zero for the "uncompressed" parameters. + // Compressed data can be transmitted by your application and decoded into raw + // using the DecompressVoice function below. + virtual EVoiceResult GetVoice( bool bWantCompressed, void *pDestBuffer, uint32 cbDestBufferSize, uint32 *nBytesWritten, bool bWantUncompressed_Deprecated = false, void *pUncompressedDestBuffer_Deprecated = 0, uint32 cbUncompressedDestBufferSize_Deprecated = 0, uint32 *nUncompressBytesWritten_Deprecated = 0, uint32 nUncompressedVoiceDesiredSampleRate_Deprecated = 0 ) = 0; + + // Decodes the compressed voice data returned by GetVoice. The output data is + // raw single-channel 16-bit PCM audio. The decoder supports any sample rate + // from 11025 to 48000; see GetVoiceOptimalSampleRate() below for details. + // If the output buffer is not large enough, then *nBytesWritten will be set + // to the required buffer size, and k_EVoiceResultBufferTooSmall is returned. + // It is suggested to start with a 20kb buffer and reallocate as necessary. + virtual EVoiceResult DecompressVoice( const void *pCompressed, uint32 cbCompressed, void *pDestBuffer, uint32 cbDestBufferSize, uint32 *nBytesWritten, uint32 nDesiredSampleRate ) = 0; + + // This returns the native sample rate of the Steam voice decompressor; using + // this sample rate for DecompressVoice will perform the least CPU processing. + // However, the final audio quality will depend on how well the audio device + // (and/or your application's audio output SDK) deals with lower sample rates. + // You may find that you get the best audio output quality when you ignore + // this function and use the native sample rate of your audio output device, + // which is usually 48000 or 44100. + virtual uint32 GetVoiceOptimalSampleRate() = 0; + + // Retrieve ticket to be sent to the entity who wishes to authenticate you. + // pcbTicket retrieves the length of the actual ticket. + // SteamNetworkingIdentity is an optional input parameter to hold the public IP address or SteamID of the entity you are connecting to + // if an IP address is passed Steam will only allow the ticket to be used by an entity with that IP address + // if a Steam ID is passed Steam will only allow the ticket to be used by that Steam ID + // not to be used for "ISteamUserAuth\AuthenticateUserTicket" - it will fail + virtual HAuthTicket GetAuthSessionTicket( void *pTicket, int cbMaxTicket, uint32 *pcbTicket, const SteamNetworkingIdentity *pSteamNetworkingIdentity ) = 0; + + // Request a ticket which will be used for webapi "ISteamUserAuth\AuthenticateUserTicket" + // pchIdentity is an optional input parameter to identify the service the ticket will be sent to + // the ticket will be returned in callback GetTicketForWebApiResponse_t + virtual HAuthTicket GetAuthTicketForWebApi( const char *pchIdentity ) = 0; + + // Authenticate ticket from entity steamID to be sure it is valid and isnt reused + // Registers for callbacks if the entity goes offline or cancels the ticket ( see ValidateAuthTicketResponse_t callback and EAuthSessionResponse ) + virtual EBeginAuthSessionResult BeginAuthSession( const void *pAuthTicket, int cbAuthTicket, CSteamID steamID ) = 0; + + // Stop tracking started by BeginAuthSession - called when no longer playing game with this entity + virtual void EndAuthSession( CSteamID steamID ) = 0; + + // Cancel auth ticket from GetAuthSessionTicket, called when no longer playing game with the entity you gave the ticket to + virtual void CancelAuthTicket( HAuthTicket hAuthTicket ) = 0; + + // After receiving a user's authentication data, and passing it to BeginAuthSession, use this function + // to determine if the user owns downloadable content specified by the provided AppID. + virtual EUserHasLicenseForAppResult UserHasLicenseForApp( CSteamID steamID, AppId_t appID ) = 0; + + // returns true if this users looks like they are behind a NAT device. Only valid once the user has connected to steam + // (i.e a SteamServersConnected_t has been issued) and may not catch all forms of NAT. + virtual bool BIsBehindNAT() = 0; + + // set data to be replicated to friends so that they can join your game + // CSteamID steamIDGameServer - the steamID of the game server, received from the game server by the client + // uint32 unIPServer, uint16 usPortServer - the IP address of the game server + virtual void AdvertiseGame( CSteamID steamIDGameServer, uint32 unIPServer, uint16 usPortServer ) = 0; + + // Requests a ticket encrypted with an app specific shared key + // pDataToInclude, cbDataToInclude will be encrypted into the ticket + // ( This is asynchronous, you must wait for the ticket to be completed by the server ) + STEAM_CALL_RESULT( EncryptedAppTicketResponse_t ) + virtual SteamAPICall_t RequestEncryptedAppTicket( void *pDataToInclude, int cbDataToInclude ) = 0; + + // Retrieves a finished ticket. + // If no ticket is available, or your buffer is too small, returns false. + // Upon exit, *pcbTicket will be either the size of the ticket copied into your buffer + // (if true was returned), or the size needed (if false was returned). To determine the + // proper size of the ticket, you can pass pTicket=NULL and cbMaxTicket=0; if a ticket + // is available, *pcbTicket will contain the size needed, otherwise it will be zero. + virtual bool GetEncryptedAppTicket( void *pTicket, int cbMaxTicket, uint32 *pcbTicket ) = 0; + + // Trading Card badges data access + // if you only have one set of cards, the series will be 1 + // the user has can have two different badges for a series; the regular (max level 5) and the foil (max level 1) + virtual int GetGameBadgeLevel( int nSeries, bool bFoil ) = 0; + + // gets the Steam Level of the user, as shown on their profile + virtual int GetPlayerSteamLevel() = 0; + + // Requests a URL which authenticates an in-game browser for store check-out, + // and then redirects to the specified URL. As long as the in-game browser + // accepts and handles session cookies, Steam microtransaction checkout pages + // will automatically recognize the user instead of presenting a login page. + // The result of this API call will be a StoreAuthURLResponse_t callback. + // NOTE: The URL has a very short lifetime to prevent history-snooping attacks, + // so you should only call this API when you are about to launch the browser, + // or else immediately navigate to the result URL using a hidden browser window. + // NOTE 2: The resulting authorization cookie has an expiration time of one day, + // so it would be a good idea to request and visit a new auth URL every 12 hours. + STEAM_CALL_RESULT( StoreAuthURLResponse_t ) + virtual SteamAPICall_t RequestStoreAuthURL( const char *pchRedirectURL ) = 0; + + // gets whether the users phone number is verified + virtual bool BIsPhoneVerified() = 0; + + // gets whether the user has two factor enabled on their account + virtual bool BIsTwoFactorEnabled() = 0; + + // gets whether the users phone number is identifying + virtual bool BIsPhoneIdentifying() = 0; + + // gets whether the users phone number is awaiting (re)verification + virtual bool BIsPhoneRequiringVerification() = 0; + + STEAM_CALL_RESULT( MarketEligibilityResponse_t ) + virtual SteamAPICall_t GetMarketEligibility() = 0; + + // Retrieves anti indulgence / duration control for current user + STEAM_CALL_RESULT( DurationControl_t ) + virtual SteamAPICall_t GetDurationControl() = 0; + + // Advise steam china duration control system about the online state of the game. + // This will prevent offline gameplay time from counting against a user's + // playtime limits. + virtual bool BSetDurationControlOnlineState( EDurationControlOnlineState eNewState ) = 0; + +}; + +#define STEAMUSER_INTERFACE_VERSION "SteamUser023" + +// Global interface accessor +inline ISteamUser *SteamUser(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamUser *, SteamUser, STEAMUSER_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + + +//----------------------------------------------------------------------------- +// Purpose: Called when an authenticated connection to the Steam back-end has been established. +// This means the Steam client now has a working connection to the Steam servers. +// Usually this will have occurred before the game has launched, and should +// only be seen if the user has dropped connection due to a networking issue +// or a Steam server update. +//----------------------------------------------------------------------------- +struct SteamServersConnected_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 1 }; +}; + +//----------------------------------------------------------------------------- +// Purpose: called when a connection attempt has failed +// this will occur periodically if the Steam client is not connected, +// and has failed in it's retry to establish a connection +//----------------------------------------------------------------------------- +struct SteamServerConnectFailure_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 2 }; + EResult m_eResult; + bool m_bStillRetrying; +}; + + +//----------------------------------------------------------------------------- +// Purpose: called if the client has lost connection to the Steam servers +// real-time services will be disabled until a matching SteamServersConnected_t has been posted +//----------------------------------------------------------------------------- +struct SteamServersDisconnected_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 3 }; + EResult m_eResult; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Sent by the Steam server to the client telling it to disconnect from the specified game server, +// which it may be in the process of or already connected to. +// The game client should immediately disconnect upon receiving this message. +// This can usually occur if the user doesn't have rights to play on the game server. +//----------------------------------------------------------------------------- +struct ClientGameServerDeny_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 13 }; + + uint32 m_uAppID; + uint32 m_unGameServerIP; + uint16 m_usGameServerPort; + uint16 m_bSecure; + uint32 m_uReason; +}; + + +//----------------------------------------------------------------------------- +// Purpose: called when the callback system for this client is in an error state (and has flushed pending callbacks) +// When getting this message the client should disconnect from Steam, reset any stored Steam state and reconnect. +// This usually occurs in the rare event the Steam client has some kind of fatal error. +//----------------------------------------------------------------------------- +struct IPCFailure_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 17 }; + enum EFailureType + { + k_EFailureFlushedCallbackQueue, + k_EFailurePipeFail, + }; + uint8 m_eFailureType; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Signaled whenever licenses change +//----------------------------------------------------------------------------- +struct LicensesUpdated_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 25 }; +}; + + +//----------------------------------------------------------------------------- +// callback for BeginAuthSession +//----------------------------------------------------------------------------- +struct ValidateAuthTicketResponse_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 43 }; + CSteamID m_SteamID; + EAuthSessionResponse m_eAuthSessionResponse; + CSteamID m_OwnerSteamID; // different from m_SteamID if borrowed +}; + + +//----------------------------------------------------------------------------- +// Purpose: called when a user has responded to a microtransaction authorization request +//----------------------------------------------------------------------------- +struct MicroTxnAuthorizationResponse_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 52 }; + + uint32 m_unAppID; // AppID for this microtransaction + uint64 m_ulOrderID; // OrderID provided for the microtransaction + uint8 m_bAuthorized; // if user authorized transaction +}; + + +//----------------------------------------------------------------------------- +// Purpose: Result from RequestEncryptedAppTicket +//----------------------------------------------------------------------------- +struct EncryptedAppTicketResponse_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 54 }; + + EResult m_eResult; +}; + +//----------------------------------------------------------------------------- +// callback for GetAuthSessionTicket +//----------------------------------------------------------------------------- +struct GetAuthSessionTicketResponse_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 63 }; + HAuthTicket m_hAuthTicket; + EResult m_eResult; +}; + +//----------------------------------------------------------------------------- +// Purpose: sent to your game in response to a steam://gamewebcallback/ command +//----------------------------------------------------------------------------- +struct GameWebCallback_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 64 }; + char m_szURL[256]; +}; + +//----------------------------------------------------------------------------- +// Purpose: sent to your game in response to ISteamUser::RequestStoreAuthURL +//----------------------------------------------------------------------------- +struct StoreAuthURLResponse_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 65 }; + char m_szURL[512]; +}; + + +//----------------------------------------------------------------------------- +// Purpose: sent in response to ISteamUser::GetMarketEligibility +//----------------------------------------------------------------------------- +struct MarketEligibilityResponse_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 66 }; + bool m_bAllowed; + EMarketNotAllowedReasonFlags m_eNotAllowedReason; + RTime32 m_rtAllowedAtTime; + + int m_cdaySteamGuardRequiredDays; // The number of days any user is required to have had Steam Guard before they can use the market + int m_cdayNewDeviceCooldown; // The number of days after initial device authorization a user must wait before using the market on that device +}; + + +//----------------------------------------------------------------------------- +// Purpose: sent for games with enabled anti indulgence / duration control, for +// enabled users. Lets the game know whether the user can keep playing or +// whether the game should exit, and returns info about remaining gameplay time. +// +// This callback is fired asynchronously in response to timers triggering. +// It is also fired in response to calls to GetDurationControl(). +//----------------------------------------------------------------------------- +struct DurationControl_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 67 }; + + EResult m_eResult; // result of call (always k_EResultOK for asynchronous timer-based notifications) + AppId_t m_appid; // appid generating playtime + + bool m_bApplicable; // is duration control applicable to user + game combination + int32 m_csecsLast5h; // playtime since most recent 5 hour gap in playtime, only counting up to regulatory limit of playtime, in seconds + + EDurationControlProgress m_progress; // recommended progress (either everything is fine, or please exit game) + EDurationControlNotification m_notification; // notification to show, if any (always k_EDurationControlNotification_None for API calls) + + int32 m_csecsToday; // playtime on current calendar day + int32 m_csecsRemaining; // playtime remaining until the user hits a regulatory limit +}; + + +//----------------------------------------------------------------------------- +// callback for GetTicketForWebApi +//----------------------------------------------------------------------------- +struct GetTicketForWebApiResponse_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 68 }; + HAuthTicket m_hAuthTicket; + EResult m_eResult; + int m_cubTicket; + static const int k_nCubTicketMaxLength = 2560; + uint8 m_rgubTicket[k_nCubTicketMaxLength]; +}; + + +#pragma pack( pop ) + +#endif // ISTEAMUSER_H diff --git a/lsteamclient/steamworks_sdk_159x/isteamuserstats.h b/lsteamclient/steamworks_sdk_159x/isteamuserstats.h new file mode 100644 index 0000000000..8bb0c90f19 --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamuserstats.h @@ -0,0 +1,487 @@ +//====== Copyright � 1996-2009, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to stats, achievements, and leaderboards +// +//============================================================================= + +#ifndef ISTEAMUSERSTATS_H +#define ISTEAMUSERSTATS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" +#include "isteamremotestorage.h" + +// size limit on stat or achievement name (UTF-8 encoded) +enum { k_cchStatNameMax = 128 }; + +// maximum number of bytes for a leaderboard name (UTF-8 encoded) +enum { k_cchLeaderboardNameMax = 128 }; + +// maximum number of details int32's storable for a single leaderboard entry +enum { k_cLeaderboardDetailsMax = 64 }; + +// handle to a single leaderboard +typedef uint64 SteamLeaderboard_t; + +// handle to a set of downloaded entries in a leaderboard +typedef uint64 SteamLeaderboardEntries_t; + +// type of data request, when downloading leaderboard entries +enum ELeaderboardDataRequest +{ + k_ELeaderboardDataRequestGlobal = 0, + k_ELeaderboardDataRequestGlobalAroundUser = 1, + k_ELeaderboardDataRequestFriends = 2, + k_ELeaderboardDataRequestUsers = 3 +}; + +// the sort order of a leaderboard +enum ELeaderboardSortMethod +{ + k_ELeaderboardSortMethodNone = 0, + k_ELeaderboardSortMethodAscending = 1, // top-score is lowest number + k_ELeaderboardSortMethodDescending = 2, // top-score is highest number +}; + +// the display type (used by the Steam Community web site) for a leaderboard +enum ELeaderboardDisplayType +{ + k_ELeaderboardDisplayTypeNone = 0, + k_ELeaderboardDisplayTypeNumeric = 1, // simple numerical score + k_ELeaderboardDisplayTypeTimeSeconds = 2, // the score represents a time, in seconds + k_ELeaderboardDisplayTypeTimeMilliSeconds = 3, // the score represents a time, in milliseconds +}; + +enum ELeaderboardUploadScoreMethod +{ + k_ELeaderboardUploadScoreMethodNone = 0, + k_ELeaderboardUploadScoreMethodKeepBest = 1, // Leaderboard will keep user's best score + k_ELeaderboardUploadScoreMethodForceUpdate = 2, // Leaderboard will always replace score with specified +}; + +// a single entry in a leaderboard, as returned by GetDownloadedLeaderboardEntry() +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + +struct LeaderboardEntry_t +{ + CSteamID m_steamIDUser; // user with the entry - use SteamFriends()->GetFriendPersonaName() & SteamFriends()->GetFriendAvatar() to get more info + int32 m_nGlobalRank; // [1..N], where N is the number of users with an entry in the leaderboard + int32 m_nScore; // score as set in the leaderboard + int32 m_cDetails; // number of int32 details available for this entry + UGCHandle_t m_hUGC; // handle for UGC attached to the entry +}; + +#pragma pack( pop ) + + +//----------------------------------------------------------------------------- +// Purpose: Functions for accessing stats, achievements, and leaderboard information +//----------------------------------------------------------------------------- +class ISteamUserStats +{ +public: + // Ask the server to send down this user's data and achievements for this game + STEAM_CALL_BACK( UserStatsReceived_t ) + virtual bool RequestCurrentStats() = 0; + + // Data accessors + STEAM_FLAT_NAME( GetStatInt32 ) + virtual bool GetStat( const char *pchName, int32 *pData ) = 0; + + STEAM_FLAT_NAME( GetStatFloat ) + virtual bool GetStat( const char *pchName, float *pData ) = 0; + + // Set / update data + STEAM_FLAT_NAME( SetStatInt32 ) + virtual bool SetStat( const char *pchName, int32 nData ) = 0; + + STEAM_FLAT_NAME( SetStatFloat ) + virtual bool SetStat( const char *pchName, float fData ) = 0; + + virtual bool UpdateAvgRateStat( const char *pchName, float flCountThisSession, double dSessionLength ) = 0; + + // Achievement flag accessors + virtual bool GetAchievement( const char *pchName, bool *pbAchieved ) = 0; + virtual bool SetAchievement( const char *pchName ) = 0; + virtual bool ClearAchievement( const char *pchName ) = 0; + + // Get the achievement status, and the time it was unlocked if unlocked. + // If the return value is true, but the unlock time is zero, that means it was unlocked before Steam + // began tracking achievement unlock times (December 2009). Time is seconds since January 1, 1970. + virtual bool GetAchievementAndUnlockTime( const char *pchName, bool *pbAchieved, uint32 *punUnlockTime ) = 0; + + // Store the current data on the server, will get a callback when set + // And one callback for every new achievement + // + // If the callback has a result of k_EResultInvalidParam, one or more stats + // uploaded has been rejected, either because they broke constraints + // or were out of date. In this case the server sends back updated values. + // The stats should be re-iterated to keep in sync. + virtual bool StoreStats() = 0; + + // Achievement / GroupAchievement metadata + + // Gets the icon of the achievement, which is a handle to be used in ISteamUtils::GetImageRGBA(), or 0 if none set. + // A return value of 0 may indicate we are still fetching data, and you can wait for the UserAchievementIconFetched_t callback + // which will notify you when the bits are ready. If the callback still returns zero, then there is no image set for the + // specified achievement. + virtual int GetAchievementIcon( const char *pchName ) = 0; + + // Get general attributes for an achievement. Accepts the following keys: + // - "name" and "desc" for retrieving the localized achievement name and description (returned in UTF8) + // - "hidden" for retrieving if an achievement is hidden (returns "0" when not hidden, "1" when hidden) + virtual const char *GetAchievementDisplayAttribute( const char *pchName, const char *pchKey ) = 0; + + // Achievement progress - triggers an AchievementProgress callback, that is all. + // Calling this w/ N out of N progress will NOT set the achievement, the game must still do that. + virtual bool IndicateAchievementProgress( const char *pchName, uint32 nCurProgress, uint32 nMaxProgress ) = 0; + + // Used for iterating achievements. In general games should not need these functions because they should have a + // list of existing achievements compiled into them + virtual uint32 GetNumAchievements() = 0; + // Get achievement name iAchievement in [0,GetNumAchievements) + virtual const char *GetAchievementName( uint32 iAchievement ) = 0; + + // Friends stats & achievements + + // downloads stats for the user + // returns a UserStatsReceived_t received when completed + // if the other user has no stats, UserStatsReceived_t.m_eResult will be set to k_EResultFail + // these stats won't be auto-updated; you'll need to call RequestUserStats() again to refresh any data + STEAM_CALL_RESULT( UserStatsReceived_t ) + virtual SteamAPICall_t RequestUserStats( CSteamID steamIDUser ) = 0; + + // requests stat information for a user, usable after a successful call to RequestUserStats() + STEAM_FLAT_NAME( GetUserStatInt32 ) + virtual bool GetUserStat( CSteamID steamIDUser, const char *pchName, int32 *pData ) = 0; + + STEAM_FLAT_NAME( GetUserStatFloat ) + virtual bool GetUserStat( CSteamID steamIDUser, const char *pchName, float *pData ) = 0; + + virtual bool GetUserAchievement( CSteamID steamIDUser, const char *pchName, bool *pbAchieved ) = 0; + // See notes for GetAchievementAndUnlockTime above + virtual bool GetUserAchievementAndUnlockTime( CSteamID steamIDUser, const char *pchName, bool *pbAchieved, uint32 *punUnlockTime ) = 0; + + // Reset stats + virtual bool ResetAllStats( bool bAchievementsToo ) = 0; + + // Leaderboard functions + + // asks the Steam back-end for a leaderboard by name, and will create it if it's not yet + // This call is asynchronous, with the result returned in LeaderboardFindResult_t + STEAM_CALL_RESULT(LeaderboardFindResult_t) + virtual SteamAPICall_t FindOrCreateLeaderboard( const char *pchLeaderboardName, ELeaderboardSortMethod eLeaderboardSortMethod, ELeaderboardDisplayType eLeaderboardDisplayType ) = 0; + + // as above, but won't create the leaderboard if it's not found + // This call is asynchronous, with the result returned in LeaderboardFindResult_t + STEAM_CALL_RESULT( LeaderboardFindResult_t ) + virtual SteamAPICall_t FindLeaderboard( const char *pchLeaderboardName ) = 0; + + // returns the name of a leaderboard + virtual const char *GetLeaderboardName( SteamLeaderboard_t hSteamLeaderboard ) = 0; + + // returns the total number of entries in a leaderboard, as of the last request + virtual int GetLeaderboardEntryCount( SteamLeaderboard_t hSteamLeaderboard ) = 0; + + // returns the sort method of the leaderboard + virtual ELeaderboardSortMethod GetLeaderboardSortMethod( SteamLeaderboard_t hSteamLeaderboard ) = 0; + + // returns the display type of the leaderboard + virtual ELeaderboardDisplayType GetLeaderboardDisplayType( SteamLeaderboard_t hSteamLeaderboard ) = 0; + + // Asks the Steam back-end for a set of rows in the leaderboard. + // This call is asynchronous, with the result returned in LeaderboardScoresDownloaded_t + // LeaderboardScoresDownloaded_t will contain a handle to pull the results from GetDownloadedLeaderboardEntries() (below) + // You can ask for more entries than exist, and it will return as many as do exist. + // k_ELeaderboardDataRequestGlobal requests rows in the leaderboard from the full table, with nRangeStart & nRangeEnd in the range [1, TotalEntries] + // k_ELeaderboardDataRequestGlobalAroundUser requests rows around the current user, nRangeStart being negate + // e.g. DownloadLeaderboardEntries( hLeaderboard, k_ELeaderboardDataRequestGlobalAroundUser, -3, 3 ) will return 7 rows, 3 before the user, 3 after + // k_ELeaderboardDataRequestFriends requests all the rows for friends of the current user + STEAM_CALL_RESULT( LeaderboardScoresDownloaded_t ) + virtual SteamAPICall_t DownloadLeaderboardEntries( SteamLeaderboard_t hSteamLeaderboard, ELeaderboardDataRequest eLeaderboardDataRequest, int nRangeStart, int nRangeEnd ) = 0; + // as above, but downloads leaderboard entries for an arbitrary set of users - ELeaderboardDataRequest is k_ELeaderboardDataRequestUsers + // if a user doesn't have a leaderboard entry, they won't be included in the result + // a max of 100 users can be downloaded at a time, with only one outstanding call at a time + STEAM_CALL_RESULT( LeaderboardScoresDownloaded_t ) + virtual SteamAPICall_t DownloadLeaderboardEntriesForUsers( SteamLeaderboard_t hSteamLeaderboard, + STEAM_ARRAY_COUNT_D(cUsers, Array of users to retrieve) CSteamID *prgUsers, int cUsers ) = 0; + + // Returns data about a single leaderboard entry + // use a for loop from 0 to LeaderboardScoresDownloaded_t::m_cEntryCount to get all the downloaded entries + // e.g. + // void OnLeaderboardScoresDownloaded( LeaderboardScoresDownloaded_t *pLeaderboardScoresDownloaded ) + // { + // for ( int index = 0; index < pLeaderboardScoresDownloaded->m_cEntryCount; index++ ) + // { + // LeaderboardEntry_t leaderboardEntry; + // int32 details[3]; // we know this is how many we've stored previously + // GetDownloadedLeaderboardEntry( pLeaderboardScoresDownloaded->m_hSteamLeaderboardEntries, index, &leaderboardEntry, details, 3 ); + // assert( leaderboardEntry.m_cDetails == 3 ); + // ... + // } + // once you've accessed all the entries, the data will be free'd, and the SteamLeaderboardEntries_t handle will become invalid + virtual bool GetDownloadedLeaderboardEntry( SteamLeaderboardEntries_t hSteamLeaderboardEntries, int index, LeaderboardEntry_t *pLeaderboardEntry, int32 *pDetails, int cDetailsMax ) = 0; + + // Uploads a user score to the Steam back-end. + // This call is asynchronous, with the result returned in LeaderboardScoreUploaded_t + // Details are extra game-defined information regarding how the user got that score + // pScoreDetails points to an array of int32's, cScoreDetailsCount is the number of int32's in the list + STEAM_CALL_RESULT( LeaderboardScoreUploaded_t ) + virtual SteamAPICall_t UploadLeaderboardScore( SteamLeaderboard_t hSteamLeaderboard, ELeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, int32 nScore, const int32 *pScoreDetails, int cScoreDetailsCount ) = 0; + + // Attaches a piece of user generated content the user's entry on a leaderboard. + // hContent is a handle to a piece of user generated content that was shared using ISteamUserRemoteStorage::FileShare(). + // This call is asynchronous, with the result returned in LeaderboardUGCSet_t. + STEAM_CALL_RESULT( LeaderboardUGCSet_t ) + virtual SteamAPICall_t AttachLeaderboardUGC( SteamLeaderboard_t hSteamLeaderboard, UGCHandle_t hUGC ) = 0; + + // Retrieves the number of players currently playing your game (online + offline) + // This call is asynchronous, with the result returned in NumberOfCurrentPlayers_t + STEAM_CALL_RESULT( NumberOfCurrentPlayers_t ) + virtual SteamAPICall_t GetNumberOfCurrentPlayers() = 0; + + // Requests that Steam fetch data on the percentage of players who have received each achievement + // for the game globally. + // This call is asynchronous, with the result returned in GlobalAchievementPercentagesReady_t. + STEAM_CALL_RESULT( GlobalAchievementPercentagesReady_t ) + virtual SteamAPICall_t RequestGlobalAchievementPercentages() = 0; + + // Get the info on the most achieved achievement for the game, returns an iterator index you can use to fetch + // the next most achieved afterwards. Will return -1 if there is no data on achievement + // percentages (ie, you haven't called RequestGlobalAchievementPercentages and waited on the callback). + virtual int GetMostAchievedAchievementInfo( char *pchName, uint32 unNameBufLen, float *pflPercent, bool *pbAchieved ) = 0; + + // Get the info on the next most achieved achievement for the game. Call this after GetMostAchievedAchievementInfo or another + // GetNextMostAchievedAchievementInfo call passing the iterator from the previous call. Returns -1 after the last + // achievement has been iterated. + virtual int GetNextMostAchievedAchievementInfo( int iIteratorPrevious, char *pchName, uint32 unNameBufLen, float *pflPercent, bool *pbAchieved ) = 0; + + // Returns the percentage of users who have achieved the specified achievement. + virtual bool GetAchievementAchievedPercent( const char *pchName, float *pflPercent ) = 0; + + // Requests global stats data, which is available for stats marked as "aggregated". + // This call is asynchronous, with the results returned in GlobalStatsReceived_t. + // nHistoryDays specifies how many days of day-by-day history to retrieve in addition + // to the overall totals. The limit is 60. + STEAM_CALL_RESULT( GlobalStatsReceived_t ) + virtual SteamAPICall_t RequestGlobalStats( int nHistoryDays ) = 0; + + // Gets the lifetime totals for an aggregated stat + STEAM_FLAT_NAME( GetGlobalStatInt64 ) + virtual bool GetGlobalStat( const char *pchStatName, int64 *pData ) = 0; + + STEAM_FLAT_NAME( GetGlobalStatDouble ) + virtual bool GetGlobalStat( const char *pchStatName, double *pData ) = 0; + + // Gets history for an aggregated stat. pData will be filled with daily values, starting with today. + // So when called, pData[0] will be today, pData[1] will be yesterday, and pData[2] will be two days ago, + // etc. cubData is the size in bytes of the pubData buffer. Returns the number of + // elements actually set. + + STEAM_FLAT_NAME( GetGlobalStatHistoryInt64 ) + virtual int32 GetGlobalStatHistory( const char *pchStatName, STEAM_ARRAY_COUNT(cubData) int64 *pData, uint32 cubData ) = 0; + + STEAM_FLAT_NAME( GetGlobalStatHistoryDouble ) + virtual int32 GetGlobalStatHistory( const char *pchStatName, STEAM_ARRAY_COUNT(cubData) double *pData, uint32 cubData ) = 0; + + // For achievements that have related Progress stats, use this to query what the bounds of that progress are. + // You may want this info to selectively call IndicateAchievementProgress when appropriate milestones of progress + // have been made, to show a progress notification to the user. + STEAM_FLAT_NAME( GetAchievementProgressLimitsInt32 ) + virtual bool GetAchievementProgressLimits( const char *pchName, int32 *pnMinProgress, int32 *pnMaxProgress ) = 0; + + STEAM_FLAT_NAME( GetAchievementProgressLimitsFloat ) + virtual bool GetAchievementProgressLimits( const char *pchName, float *pfMinProgress, float *pfMaxProgress ) = 0; + +}; + +#define STEAMUSERSTATS_INTERFACE_VERSION "STEAMUSERSTATS_INTERFACE_VERSION012" + +// Global interface accessor +inline ISteamUserStats *SteamUserStats(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamUserStats *, SteamUserStats, STEAMUSERSTATS_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + +//----------------------------------------------------------------------------- +// Purpose: called when the latests stats and achievements have been received +// from the server +//----------------------------------------------------------------------------- +struct UserStatsReceived_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 1 }; + uint64 m_nGameID; // Game these stats are for + EResult m_eResult; // Success / error fetching the stats + CSteamID m_steamIDUser; // The user for whom the stats are retrieved for +}; + + +//----------------------------------------------------------------------------- +// Purpose: result of a request to store the user stats for a game +//----------------------------------------------------------------------------- +struct UserStatsStored_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 2 }; + uint64 m_nGameID; // Game these stats are for + EResult m_eResult; // success / error +}; + + +//----------------------------------------------------------------------------- +// Purpose: result of a request to store the achievements for a game, or an +// "indicate progress" call. If both m_nCurProgress and m_nMaxProgress +// are zero, that means the achievement has been fully unlocked. +//----------------------------------------------------------------------------- +struct UserAchievementStored_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 3 }; + + uint64 m_nGameID; // Game this is for + bool m_bGroupAchievement; // if this is a "group" achievement + char m_rgchAchievementName[k_cchStatNameMax]; // name of the achievement + uint32 m_nCurProgress; // current progress towards the achievement + uint32 m_nMaxProgress; // "out of" this many +}; + + +//----------------------------------------------------------------------------- +// Purpose: call result for finding a leaderboard, returned as a result of FindOrCreateLeaderboard() or FindLeaderboard() +// use CCallResult<> to map this async result to a member function +//----------------------------------------------------------------------------- +struct LeaderboardFindResult_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 4 }; + SteamLeaderboard_t m_hSteamLeaderboard; // handle to the leaderboard serarched for, 0 if no leaderboard found + uint8 m_bLeaderboardFound; // 0 if no leaderboard found +}; + + +//----------------------------------------------------------------------------- +// Purpose: call result indicating scores for a leaderboard have been downloaded and are ready to be retrieved, returned as a result of DownloadLeaderboardEntries() +// use CCallResult<> to map this async result to a member function +//----------------------------------------------------------------------------- +struct LeaderboardScoresDownloaded_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 5 }; + SteamLeaderboard_t m_hSteamLeaderboard; + SteamLeaderboardEntries_t m_hSteamLeaderboardEntries; // the handle to pass into GetDownloadedLeaderboardEntries() + int m_cEntryCount; // the number of entries downloaded +}; + + +//----------------------------------------------------------------------------- +// Purpose: call result indicating scores has been uploaded, returned as a result of UploadLeaderboardScore() +// use CCallResult<> to map this async result to a member function +//----------------------------------------------------------------------------- +struct LeaderboardScoreUploaded_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 6 }; + uint8 m_bSuccess; // 1 if the call was successful + SteamLeaderboard_t m_hSteamLeaderboard; // the leaderboard handle that was + int32 m_nScore; // the score that was attempted to set + uint8 m_bScoreChanged; // true if the score in the leaderboard change, false if the existing score was better + int m_nGlobalRankNew; // the new global rank of the user in this leaderboard + int m_nGlobalRankPrevious; // the previous global rank of the user in this leaderboard; 0 if the user had no existing entry in the leaderboard +}; + +struct NumberOfCurrentPlayers_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 7 }; + uint8 m_bSuccess; // 1 if the call was successful + int32 m_cPlayers; // Number of players currently playing +}; + + + +//----------------------------------------------------------------------------- +// Purpose: Callback indicating that a user's stats have been unloaded. +// Call RequestUserStats again to access stats for this user +//----------------------------------------------------------------------------- +struct UserStatsUnloaded_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 8 }; + CSteamID m_steamIDUser; // User whose stats have been unloaded +}; + + + +//----------------------------------------------------------------------------- +// Purpose: Callback indicating that an achievement icon has been fetched +//----------------------------------------------------------------------------- +struct UserAchievementIconFetched_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 9 }; + + CGameID m_nGameID; // Game this is for + char m_rgchAchievementName[k_cchStatNameMax]; // name of the achievement + bool m_bAchieved; // Is the icon for the achieved or not achieved version? + int m_nIconHandle; // Handle to the image, which can be used in SteamUtils()->GetImageRGBA(), 0 means no image is set for the achievement +}; + + +//----------------------------------------------------------------------------- +// Purpose: Callback indicating that global achievement percentages are fetched +//----------------------------------------------------------------------------- +struct GlobalAchievementPercentagesReady_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 10 }; + + uint64 m_nGameID; // Game this is for + EResult m_eResult; // Result of the operation +}; + + +//----------------------------------------------------------------------------- +// Purpose: call result indicating UGC has been uploaded, returned as a result of SetLeaderboardUGC() +//----------------------------------------------------------------------------- +struct LeaderboardUGCSet_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 11 }; + EResult m_eResult; // The result of the operation + SteamLeaderboard_t m_hSteamLeaderboard; // the leaderboard handle that was +}; + + +//----------------------------------------------------------------------------- +// Purpose: callback indicating that PS3 trophies have been installed +//----------------------------------------------------------------------------- +struct PS3TrophiesInstalled_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 12 }; + uint64 m_nGameID; // Game these stats are for + EResult m_eResult; // The result of the operation + uint64 m_ulRequiredDiskSpace; // If m_eResult is k_EResultDiskFull, will contain the amount of space needed to install trophies + +}; + + +//----------------------------------------------------------------------------- +// Purpose: callback indicating global stats have been received. +// Returned as a result of RequestGlobalStats() +//----------------------------------------------------------------------------- +struct GlobalStatsReceived_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 12 }; + uint64 m_nGameID; // Game global stats were requested for + EResult m_eResult; // The result of the request +}; + +#pragma pack( pop ) + + +#endif // ISTEAMUSER_H diff --git a/lsteamclient/steamworks_sdk_159x/isteamutils.h b/lsteamclient/steamworks_sdk_159x/isteamutils.h new file mode 100644 index 0000000000..be5acb282d --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamutils.h @@ -0,0 +1,343 @@ +//====== Copyright � 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to utility functions in Steam +// +//============================================================================= + +#ifndef ISTEAMUTILS_H +#define ISTEAMUTILS_H + +#include "steam_api_common.h" + + +// Steam API call failure results +enum ESteamAPICallFailure +{ + k_ESteamAPICallFailureNone = -1, // no failure + k_ESteamAPICallFailureSteamGone = 0, // the local Steam process has gone away + k_ESteamAPICallFailureNetworkFailure = 1, // the network connection to Steam has been broken, or was already broken + // SteamServersDisconnected_t callback will be sent around the same time + // SteamServersConnected_t will be sent when the client is able to talk to the Steam servers again + k_ESteamAPICallFailureInvalidHandle = 2, // the SteamAPICall_t handle passed in no longer exists + k_ESteamAPICallFailureMismatchedCallback = 3,// GetAPICallResult() was called with the wrong callback type for this API call +}; + + +// Input modes for the Big Picture gamepad text entry +enum EGamepadTextInputMode +{ + k_EGamepadTextInputModeNormal = 0, + k_EGamepadTextInputModePassword = 1 +}; + + +// Controls number of allowed lines for the Big Picture gamepad text entry +enum EGamepadTextInputLineMode +{ + k_EGamepadTextInputLineModeSingleLine = 0, + k_EGamepadTextInputLineModeMultipleLines = 1 +}; + +enum EFloatingGamepadTextInputMode +{ + k_EFloatingGamepadTextInputModeModeSingleLine = 0, // Enter dismisses the keyboard + k_EFloatingGamepadTextInputModeModeMultipleLines = 1, // User needs to explictly close the keyboard + k_EFloatingGamepadTextInputModeModeEmail = 2, // Keyboard layout is email, enter dismisses the keyboard + k_EFloatingGamepadTextInputModeModeNumeric = 3, // Keyboard layout is numeric, enter dismisses the keyboard + +}; + +// The context where text filtering is being done +enum ETextFilteringContext +{ + k_ETextFilteringContextUnknown = 0, // Unknown context + k_ETextFilteringContextGameContent = 1, // Game content, only legally required filtering is performed + k_ETextFilteringContextChat = 2, // Chat from another player + k_ETextFilteringContextName = 3, // Character or item name +}; + + +//----------------------------------------------------------------------------- +// Purpose: interface to user independent utility functions +//----------------------------------------------------------------------------- +class ISteamUtils +{ +public: + // return the number of seconds since the user + virtual uint32 GetSecondsSinceAppActive() = 0; + virtual uint32 GetSecondsSinceComputerActive() = 0; + + // the universe this client is connecting to + virtual EUniverse GetConnectedUniverse() = 0; + + // Steam server time. Number of seconds since January 1, 1970, GMT (i.e unix time) + virtual uint32 GetServerRealTime() = 0; + + // returns the 2 digit ISO 3166-1-alpha-2 format country code this client is running in (as looked up via an IP-to-location database) + // e.g "US" or "UK". + virtual const char *GetIPCountry() = 0; + + // returns true if the image exists, and valid sizes were filled out + virtual bool GetImageSize( int iImage, uint32 *pnWidth, uint32 *pnHeight ) = 0; + + // returns true if the image exists, and the buffer was successfully filled out + // results are returned in RGBA format + // the destination buffer size should be 4 * height * width * sizeof(char) + virtual bool GetImageRGBA( int iImage, uint8 *pubDest, int nDestBufferSize ) = 0; + + // Deprecated. Do not call this. + STEAM_PRIVATE_API( virtual bool GetCSERIPPort( uint32 *unIP, uint16 *usPort ) = 0; ) + + // return the amount of battery power left in the current system in % [0..100], 255 for being on AC power + virtual uint8 GetCurrentBatteryPower() = 0; + + // returns the appID of the current process + virtual uint32 GetAppID() = 0; + + // Sets the position where the overlay instance for the currently calling game should show notifications. + // This position is per-game and if this function is called from outside of a game context it will do nothing. + virtual void SetOverlayNotificationPosition( ENotificationPosition eNotificationPosition ) = 0; + + // API asynchronous call results + // can be used directly, but more commonly used via the callback dispatch API (see steam_api.h) + virtual bool IsAPICallCompleted( SteamAPICall_t hSteamAPICall, bool *pbFailed ) = 0; + virtual ESteamAPICallFailure GetAPICallFailureReason( SteamAPICall_t hSteamAPICall ) = 0; + virtual bool GetAPICallResult( SteamAPICall_t hSteamAPICall, void *pCallback, int cubCallback, int iCallbackExpected, bool *pbFailed ) = 0; + + // Deprecated. Applications should use SteamAPI_RunCallbacks() instead. Game servers do not need to call this function. + STEAM_PRIVATE_API( virtual void RunFrame() = 0; ) + + // returns the number of IPC calls made since the last time this function was called + // Used for perf debugging so you can understand how many IPC calls your game makes per frame + // Every IPC call is at minimum a thread context switch if not a process one so you want to rate + // control how often you do them. + virtual uint32 GetIPCCallCount() = 0; + + // API warning handling + // 'int' is the severity; 0 for msg, 1 for warning + // 'const char *' is the text of the message + // callbacks will occur directly after the API function is called that generated the warning or message + virtual void SetWarningMessageHook( SteamAPIWarningMessageHook_t pFunction ) = 0; + + // Returns true if the overlay is running & the user can access it. The overlay process could take a few seconds to + // start & hook the game process, so this function will initially return false while the overlay is loading. + virtual bool IsOverlayEnabled() = 0; + + // Normally this call is unneeded if your game has a constantly running frame loop that calls the + // D3D Present API, or OGL SwapBuffers API every frame. + // + // However, if you have a game that only refreshes the screen on an event driven basis then that can break + // the overlay, as it uses your Present/SwapBuffers calls to drive it's internal frame loop and it may also + // need to Present() to the screen any time an even needing a notification happens or when the overlay is + // brought up over the game by a user. You can use this API to ask the overlay if it currently need a present + // in that case, and then you can check for this periodically (roughly 33hz is desirable) and make sure you + // refresh the screen with Present or SwapBuffers to allow the overlay to do it's work. + virtual bool BOverlayNeedsPresent() = 0; + + // Asynchronous call to check if an executable file has been signed using the public key set on the signing tab + // of the partner site, for example to refuse to load modified executable files. + // The result is returned in CheckFileSignature_t. + // k_ECheckFileSignatureNoSignaturesFoundForThisApp - This app has not been configured on the signing tab of the partner site to enable this function. + // k_ECheckFileSignatureNoSignaturesFoundForThisFile - This file is not listed on the signing tab for the partner site. + // k_ECheckFileSignatureFileNotFound - The file does not exist on disk. + // k_ECheckFileSignatureInvalidSignature - The file exists, and the signing tab has been set for this file, but the file is either not signed or the signature does not match. + // k_ECheckFileSignatureValidSignature - The file is signed and the signature is valid. + STEAM_CALL_RESULT( CheckFileSignature_t ) + virtual SteamAPICall_t CheckFileSignature( const char *szFileName ) = 0; + + // Activates the full-screen text input dialog which takes a initial text string and returns the text the user has typed + virtual bool ShowGamepadTextInput( EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char *pchDescription, uint32 unCharMax, const char *pchExistingText ) = 0; + + // Returns previously entered text & length + virtual uint32 GetEnteredGamepadTextLength() = 0; + virtual bool GetEnteredGamepadTextInput( char *pchText, uint32 cchText ) = 0; + + // returns the language the steam client is running in, you probably want ISteamApps::GetCurrentGameLanguage instead, this is for very special usage cases + virtual const char *GetSteamUILanguage() = 0; + + // returns true if Steam itself is running in VR mode + virtual bool IsSteamRunningInVR() = 0; + + // Sets the inset of the overlay notification from the corner specified by SetOverlayNotificationPosition. + virtual void SetOverlayNotificationInset( int nHorizontalInset, int nVerticalInset ) = 0; + + // returns true if Steam & the Steam Overlay are running in Big Picture mode + // Games much be launched through the Steam client to enable the Big Picture overlay. During development, + // a game can be added as a non-steam game to the developers library to test this feature + virtual bool IsSteamInBigPictureMode() = 0; + + // ask SteamUI to create and render its OpenVR dashboard + virtual void StartVRDashboard() = 0; + + // Returns true if the HMD content will be streamed via Steam Remote Play + virtual bool IsVRHeadsetStreamingEnabled() = 0; + + // Set whether the HMD content will be streamed via Steam Remote Play + // If this is set to true, then the scene in the HMD headset will be streamed, and remote input will not be allowed. + // If this is set to false, then the application window will be streamed instead, and remote input will be allowed. + // The default is true unless "VRHeadsetStreaming" "0" is in the extended appinfo for a game. + // (this is useful for games that have asymmetric multiplayer gameplay) + virtual void SetVRHeadsetStreamingEnabled( bool bEnabled ) = 0; + + // Returns whether this steam client is a Steam China specific client, vs the global client. + virtual bool IsSteamChinaLauncher() = 0; + + // Initializes text filtering, loading dictionaries for the language the game is running in. + // unFilterOptions are reserved for future use and should be set to 0 + // Returns false if filtering is unavailable for the game's language, in which case FilterText() will act as a passthrough. + // + // Users can customize the text filter behavior in their Steam Account preferences: + // https://store.steampowered.com/account/preferences#CommunityContentPreferences + virtual bool InitFilterText( uint32 unFilterOptions = 0 ) = 0; + + // Filters the provided input message and places the filtered result into pchOutFilteredText, using legally required filtering and additional filtering based on the context and user settings + // eContext is the type of content in the input string + // sourceSteamID is the Steam ID that is the source of the input string (e.g. the player with the name, or who said the chat text) + // pchInputText is the input string that should be filtered, which can be ASCII or UTF-8 + // pchOutFilteredText is where the output will be placed, even if no filtering is performed + // nByteSizeOutFilteredText is the size (in bytes) of pchOutFilteredText, should be at least strlen(pchInputText)+1 + // Returns the number of characters (not bytes) filtered + virtual int FilterText( ETextFilteringContext eContext, CSteamID sourceSteamID, const char *pchInputMessage, char *pchOutFilteredText, uint32 nByteSizeOutFilteredText ) = 0; + + // Return what we believe your current ipv6 connectivity to "the internet" is on the specified protocol. + // This does NOT tell you if the Steam client is currently connected to Steam via ipv6. + virtual ESteamIPv6ConnectivityState GetIPv6ConnectivityState( ESteamIPv6ConnectivityProtocol eProtocol ) = 0; + + // returns true if currently running on the Steam Deck device + virtual bool IsSteamRunningOnSteamDeck() = 0; + + // Opens a floating keyboard over the game content and sends OS keyboard keys directly to the game. + // The text field position is specified in pixels relative the origin of the game window and is used to position the floating keyboard in a way that doesn't cover the text field + virtual bool ShowFloatingGamepadTextInput( EFloatingGamepadTextInputMode eKeyboardMode, int nTextFieldXPosition, int nTextFieldYPosition, int nTextFieldWidth, int nTextFieldHeight ) = 0; + + // In game launchers that don't have controller support you can call this to have Steam Input translate the controller input into mouse/kb to navigate the launcher + virtual void SetGameLauncherMode( bool bLauncherMode ) = 0; + + // Dismisses the floating keyboard. + virtual bool DismissFloatingGamepadTextInput() = 0; + + // Dismisses the full-screen text input dialog. + virtual bool DismissGamepadTextInput() = 0; +}; + +#define STEAMUTILS_INTERFACE_VERSION "SteamUtils010" + +// Global interface accessor +inline ISteamUtils *SteamUtils(); +STEAM_DEFINE_INTERFACE_ACCESSOR( ISteamUtils *, SteamUtils, SteamInternal_FindOrCreateUserInterface( 0, STEAMUTILS_INTERFACE_VERSION ), "user", STEAMUTILS_INTERFACE_VERSION ); + +// Global accessor for the gameserver client +inline ISteamUtils *SteamGameServerUtils(); +STEAM_DEFINE_INTERFACE_ACCESSOR( ISteamUtils *, SteamGameServerUtils, SteamInternal_FindOrCreateGameServerInterface( 0, STEAMUTILS_INTERFACE_VERSION ), "gameserver", STEAMUTILS_INTERFACE_VERSION ); + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + +//----------------------------------------------------------------------------- +// Purpose: The country of the user changed +//----------------------------------------------------------------------------- +struct IPCountry_t +{ + enum { k_iCallback = k_iSteamUtilsCallbacks + 1 }; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Fired when running on a handheld PC or laptop with less than 10 minutes of battery is left, fires then every minute +//----------------------------------------------------------------------------- +struct LowBatteryPower_t +{ + enum { k_iCallback = k_iSteamUtilsCallbacks + 2 }; + uint8 m_nMinutesBatteryLeft; +}; + + +//----------------------------------------------------------------------------- +// Purpose: called when a SteamAsyncCall_t has completed (or failed) +//----------------------------------------------------------------------------- +struct SteamAPICallCompleted_t +{ + enum { k_iCallback = k_iSteamUtilsCallbacks + 3 }; + SteamAPICall_t m_hAsyncCall; + int m_iCallback; + uint32 m_cubParam; +}; + + +//----------------------------------------------------------------------------- +// called when Steam wants to shutdown +//----------------------------------------------------------------------------- +struct SteamShutdown_t +{ + enum { k_iCallback = k_iSteamUtilsCallbacks + 4 }; +}; + +//----------------------------------------------------------------------------- +// results for CheckFileSignature +//----------------------------------------------------------------------------- +enum ECheckFileSignature +{ + k_ECheckFileSignatureInvalidSignature = 0, + k_ECheckFileSignatureValidSignature = 1, + k_ECheckFileSignatureFileNotFound = 2, + k_ECheckFileSignatureNoSignaturesFoundForThisApp = 3, + k_ECheckFileSignatureNoSignaturesFoundForThisFile = 4, +}; + +//----------------------------------------------------------------------------- +// callback for CheckFileSignature +//----------------------------------------------------------------------------- +struct CheckFileSignature_t +{ + enum { k_iCallback = k_iSteamUtilsCallbacks + 5 }; + ECheckFileSignature m_eCheckFileSignature; +}; + + +// k_iSteamUtilsCallbacks + 13 is taken + + +//----------------------------------------------------------------------------- +// Full Screen gamepad text input has been closed +//----------------------------------------------------------------------------- +struct GamepadTextInputDismissed_t +{ + enum { k_iCallback = k_iSteamUtilsCallbacks + 14 }; + bool m_bSubmitted; // true if user entered & accepted text (Call ISteamUtils::GetEnteredGamepadTextInput() for text), false if canceled input + uint32 m_unSubmittedText; + AppId_t m_unAppID; +}; + +// k_iSteamUtilsCallbacks + 15 through 35 are taken + +STEAM_CALLBACK_BEGIN( AppResumingFromSuspend_t, k_iSteamUtilsCallbacks + 36 ) +STEAM_CALLBACK_END(0) + +// k_iSteamUtilsCallbacks + 37 is taken + +//----------------------------------------------------------------------------- +// The floating on-screen keyboard has been closed +//----------------------------------------------------------------------------- +struct FloatingGamepadTextInputDismissed_t +{ + enum { k_iCallback = k_iSteamUtilsCallbacks + 38 }; +}; + +//----------------------------------------------------------------------------- +// The text filtering dictionary has changed +//----------------------------------------------------------------------------- +struct FilterTextDictionaryChanged_t +{ + enum { k_iCallback = k_iSteamUtilsCallbacks + 39 }; + int m_eLanguage; // One of ELanguage, or k_LegallyRequiredFiltering +}; + +#pragma pack( pop ) + +#endif // ISTEAMUTILS_H diff --git a/lsteamclient/steamworks_sdk_159x/isteamvideo.h b/lsteamclient/steamworks_sdk_159x/isteamvideo.h new file mode 100644 index 0000000000..4832d7b69a --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/isteamvideo.h @@ -0,0 +1,68 @@ +//====== Copyright © 1996-2014 Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to Steam Video +// +//============================================================================= + +#ifndef ISTEAMVIDEO_H +#define ISTEAMVIDEO_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api_common.h" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + + + + +//----------------------------------------------------------------------------- +// Purpose: Steam Video API +//----------------------------------------------------------------------------- +class ISteamVideo +{ +public: + + // Get a URL suitable for streaming the given Video app ID's video + virtual void GetVideoURL( AppId_t unVideoAppID ) = 0; + + // returns true if user is uploading a live broadcast + virtual bool IsBroadcasting( int *pnNumViewers ) = 0; + + // Get the OPF Details for 360 Video Playback + STEAM_CALL_BACK( GetOPFSettingsResult_t ) + virtual void GetOPFSettings( AppId_t unVideoAppID ) = 0; + virtual bool GetOPFStringForApp( AppId_t unVideoAppID, char *pchBuffer, int32 *pnBufferSize ) = 0; +}; + +#define STEAMVIDEO_INTERFACE_VERSION "STEAMVIDEO_INTERFACE_V002" + +// Global interface accessor +inline ISteamVideo *SteamVideo(); +STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamVideo *, SteamVideo, STEAMVIDEO_INTERFACE_VERSION ); + +STEAM_CALLBACK_BEGIN( GetVideoURLResult_t, k_iSteamVideoCallbacks + 11 ) + STEAM_CALLBACK_MEMBER( 0, EResult, m_eResult ) + STEAM_CALLBACK_MEMBER( 1, AppId_t, m_unVideoAppID ) + STEAM_CALLBACK_MEMBER( 2, char, m_rgchURL[256] ) +STEAM_CALLBACK_END(3) + + +STEAM_CALLBACK_BEGIN( GetOPFSettingsResult_t, k_iSteamVideoCallbacks + 24 ) + STEAM_CALLBACK_MEMBER( 0, EResult, m_eResult ) + STEAM_CALLBACK_MEMBER( 1, AppId_t, m_unVideoAppID ) +STEAM_CALLBACK_END(2) + + +#pragma pack( pop ) + + +#endif // ISTEAMVIDEO_H diff --git a/lsteamclient/steamworks_sdk_159x/matchmakingtypes.h b/lsteamclient/steamworks_sdk_159x/matchmakingtypes.h new file mode 100644 index 0000000000..791802a063 --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/matchmakingtypes.h @@ -0,0 +1,231 @@ +//========= Copyright � 1996-2008, Valve LLC, All rights reserved. ============ +// +// Purpose: +// +// $NoKeywords: $ +//============================================================================= + +#ifndef MATCHMAKINGTYPES_H +#define MATCHMAKINGTYPES_H + +#include +#include + +// +// Max size (in bytes of UTF-8 data, not in characters) of server fields, including null terminator. +// WARNING: These cannot be changed easily, without breaking clients using old interfaces. +// +const int k_cbMaxGameServerGameDir = 32; +const int k_cbMaxGameServerMapName = 32; +const int k_cbMaxGameServerGameDescription = 64; +const int k_cbMaxGameServerName = 64; +const int k_cbMaxGameServerTags = 128; +const int k_cbMaxGameServerGameData = 2048; + +/// Store key/value pair used in matchmaking queries. +/// +/// Actually, the name Key/Value is a bit misleading. The "key" is better +/// understood as "filter operation code" and the "value" is the operand to this +/// filter operation. The meaning of the operand depends upon the filter. +struct MatchMakingKeyValuePair_t +{ + MatchMakingKeyValuePair_t() { m_szKey[0] = m_szValue[0] = 0; } + MatchMakingKeyValuePair_t( const char *pchKey, const char *pchValue ) + { + strncpy( m_szKey, pchKey, sizeof(m_szKey) ); // this is a public header, use basic c library string funcs only! + m_szKey[ sizeof( m_szKey ) - 1 ] = '\0'; + strncpy( m_szValue, pchValue, sizeof(m_szValue) ); + m_szValue[ sizeof( m_szValue ) - 1 ] = '\0'; + } + char m_szKey[ 256 ]; + char m_szValue[ 256 ]; +}; + + +enum EMatchMakingServerResponse +{ + eServerResponded = 0, + eServerFailedToRespond, + eNoServersListedOnMasterServer // for the Internet query type, returned in response callback if no servers of this type match +}; + +// servernetadr_t is all the addressing info the serverbrowser needs to know about a game server, +// namely: its IP, its connection port, and its query port. +class servernetadr_t +{ +public: + + servernetadr_t() : m_usConnectionPort( 0 ), m_usQueryPort( 0 ), m_unIP( 0 ) {} + + void Init( unsigned int ip, uint16 usQueryPort, uint16 usConnectionPort ); + + // Access the query port. + uint16 GetQueryPort() const; + void SetQueryPort( uint16 usPort ); + + // Access the connection port. + uint16 GetConnectionPort() const; + void SetConnectionPort( uint16 usPort ); + + // Access the IP + uint32 GetIP() const; + void SetIP( uint32 unIP ); + + // This gets the 'a.b.c.d:port' string with the connection port (instead of the query port). + const char *GetConnectionAddressString() const; + const char *GetQueryAddressString() const; + + // Comparison operators and functions. + bool operator<(const servernetadr_t &netadr) const; + void operator=( const servernetadr_t &that ) + { + m_usConnectionPort = that.m_usConnectionPort; + m_usQueryPort = that.m_usQueryPort; + m_unIP = that.m_unIP; + } + + +private: + const char *ToString( uint32 unIP, uint16 usPort ) const; + uint16 m_usConnectionPort; // (in HOST byte order) + uint16 m_usQueryPort; + uint32 m_unIP; +}; + + +inline void servernetadr_t::Init( unsigned int ip, uint16 usQueryPort, uint16 usConnectionPort ) +{ + m_unIP = ip; + m_usQueryPort = usQueryPort; + m_usConnectionPort = usConnectionPort; +} + +inline uint16 servernetadr_t::GetQueryPort() const +{ + return m_usQueryPort; +} + +inline void servernetadr_t::SetQueryPort( uint16 usPort ) +{ + m_usQueryPort = usPort; +} + +inline uint16 servernetadr_t::GetConnectionPort() const +{ + return m_usConnectionPort; +} + +inline void servernetadr_t::SetConnectionPort( uint16 usPort ) +{ + m_usConnectionPort = usPort; +} + +inline uint32 servernetadr_t::GetIP() const +{ + return m_unIP; +} + +inline void servernetadr_t::SetIP( uint32 unIP ) +{ + m_unIP = unIP; +} + +inline const char *servernetadr_t::ToString( uint32 unIP, uint16 usPort ) const +{ + static char s[4][64]; + static int nBuf = 0; + unsigned char *ipByte = (unsigned char *)&unIP; +#ifdef VALVE_BIG_ENDIAN + snprintf(s[nBuf], sizeof( s[nBuf] ), "%u.%u.%u.%u:%i", (int)(ipByte[0]), (int)(ipByte[1]), (int)(ipByte[2]), (int)(ipByte[3]), usPort ); +#else + snprintf(s[nBuf], sizeof( s[nBuf] ), "%u.%u.%u.%u:%i", (int)(ipByte[3]), (int)(ipByte[2]), (int)(ipByte[1]), (int)(ipByte[0]), usPort ); +#endif + const char *pchRet = s[nBuf]; + ++nBuf; + nBuf %= ( (sizeof(s)/sizeof(s[0])) ); + return pchRet; +} + +inline const char* servernetadr_t::GetConnectionAddressString() const +{ + return ToString( m_unIP, m_usConnectionPort ); +} + +inline const char* servernetadr_t::GetQueryAddressString() const +{ + return ToString( m_unIP, m_usQueryPort ); +} + +inline bool servernetadr_t::operator<(const servernetadr_t &netadr) const +{ + return ( m_unIP < netadr.m_unIP ) || ( m_unIP == netadr.m_unIP && m_usQueryPort < netadr.m_usQueryPort ); +} + +//----------------------------------------------------------------------------- +// Purpose: Data describing a single server +//----------------------------------------------------------------------------- +class gameserveritem_t +{ +public: + gameserveritem_t(); + + const char* GetName() const; + void SetName( const char *pName ); + +public: + servernetadr_t m_NetAdr; ///< IP/Query Port/Connection Port for this server + int m_nPing; ///< current ping time in milliseconds + bool m_bHadSuccessfulResponse; ///< server has responded successfully in the past + bool m_bDoNotRefresh; ///< server is marked as not responding and should no longer be refreshed + char m_szGameDir[k_cbMaxGameServerGameDir]; ///< current game directory + char m_szMap[k_cbMaxGameServerMapName]; ///< current map + char m_szGameDescription[k_cbMaxGameServerGameDescription]; ///< game description + uint32 m_nAppID; ///< Steam App ID of this server + int m_nPlayers; ///< total number of players currently on the server. INCLUDES BOTS!! + int m_nMaxPlayers; ///< Maximum players that can join this server + int m_nBotPlayers; ///< Number of bots (i.e simulated players) on this server + bool m_bPassword; ///< true if this server needs a password to join + bool m_bSecure; ///< Is this server protected by VAC + uint32 m_ulTimeLastPlayed; ///< time (in unix time) when this server was last played on (for favorite/history servers) + int m_nServerVersion; ///< server version as reported to Steam + +private: + + /// Game server name + char m_szServerName[k_cbMaxGameServerName]; + + // For data added after SteamMatchMaking001 add it here +public: + /// the tags this server exposes + char m_szGameTags[k_cbMaxGameServerTags]; + + /// steamID of the game server - invalid if it's doesn't have one (old server, or not connected to Steam) + CSteamID m_steamID; +}; + + +inline gameserveritem_t::gameserveritem_t() +{ + m_szGameDir[0] = m_szMap[0] = m_szGameDescription[0] = m_szServerName[0] = 0; + m_bHadSuccessfulResponse = m_bDoNotRefresh = m_bPassword = m_bSecure = false; + m_nPing = m_nAppID = m_nPlayers = m_nMaxPlayers = m_nBotPlayers = m_ulTimeLastPlayed = m_nServerVersion = 0; + m_szGameTags[0] = 0; +} + +inline const char* gameserveritem_t::GetName() const +{ + // Use the IP address as the name if nothing is set yet. + if ( m_szServerName[0] == 0 ) + return m_NetAdr.GetConnectionAddressString(); + else + return m_szServerName; +} + +inline void gameserveritem_t::SetName( const char *pName ) +{ + strncpy( m_szServerName, pName, sizeof( m_szServerName ) ); + m_szServerName[ sizeof( m_szServerName ) - 1 ] = '\0'; +} + + +#endif // MATCHMAKINGTYPES_H diff --git a/lsteamclient/steamworks_sdk_159x/steam_api.h b/lsteamclient/steamworks_sdk_159x/steam_api.h new file mode 100644 index 0000000000..55d90e4635 --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/steam_api.h @@ -0,0 +1,374 @@ +//====== Copyright Valve Corporation, All rights reserved. ==================== +// +// This header includes *all* of the interfaces and callback structures +// in the Steamworks SDK, and some high level functions to control the SDK +// (init, shutdown, etc) that you probably only need in one or two files. +// +// To save your compile times, we recommend that you not include this file +// in header files. Instead, include the specific headers for the interfaces +// and callback structures you need. The one file you might consider including +// in your precompiled header (e.g. stdafx.h) is steam_api_common.h +// +//============================================================================= + +#ifndef STEAM_API_H +#define STEAM_API_H +#ifdef _WIN32 +#pragma once +#endif + +// Basic stuff +#include "steam_api_common.h" + +// All of the interfaces +#include "isteamclient.h" +#include "isteamuser.h" +#include "isteamfriends.h" +#include "isteamutils.h" +#include "isteammatchmaking.h" +#include "isteamuserstats.h" +#include "isteamapps.h" +#include "isteamnetworking.h" +#include "isteamremotestorage.h" +#include "isteamscreenshots.h" +#include "isteammusic.h" +#include "isteammusicremote.h" +#include "isteamhttp.h" +#include "isteamcontroller.h" +#include "isteamugc.h" +#include "isteamhtmlsurface.h" +#include "isteaminventory.h" +#include "isteamvideo.h" +#include "isteamparentalsettings.h" +#include "isteaminput.h" +#include "isteamremoteplay.h" +#include "isteamnetworkingmessages.h" +#include "isteamnetworkingsockets.h" +#include "isteamnetworkingutils.h" + + +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +// Steam API setup & shutdown +// +// These functions manage loading, initializing and shutdown of the steamclient.dll +// +//----------------------------------------------------------------------------------------------------------------------------------------------------------// + +enum ESteamAPIInitResult +{ + k_ESteamAPIInitResult_OK = 0, + k_ESteamAPIInitResult_FailedGeneric = 1, // Some other failure + k_ESteamAPIInitResult_NoSteamClient = 2, // We cannot connect to Steam, steam probably isn't running + k_ESteamAPIInitResult_VersionMismatch = 3, // Steam client appears to be out of date +}; + +// Initializing the Steamworks SDK +// ----------------------------- +// +// There are three different methods you can use to initialize the Steamworks SDK, depending on +// your project's environment. You should only use one method in your project. +// +// If you are able to include this C++ header in your project, we recommend using the following +// initialization methods. They will ensure that all ISteam* interfaces defined in other +// C++ header files have versions that are supported by the user's Steam Client: +// - SteamAPI_InitEx() for new projects so you can show a detailed error message to the user +// - SteamAPI_Init() for existing projects that only display a generic error message +// +// If you are unable to include this C++ header in your project and are dynamically loading +// Steamworks SDK methods from dll/so, you can use the following method: +// - SteamAPI_InitFlat() + + +// See "Initializing the Steamworks SDK" above for how to choose an init method. +// On success k_ESteamAPIInitResult_OK is returned. Otherwise, returns a value that can be used +// to create a localized error message for the user. If pOutErrMsg is non-NULL, +// it will receive an example error message, in English, that explains the reason for the failure. +// +// Example usage: +// +// SteamErrMsg errMsg; +// if ( SteamAPI_Init(&errMsg) != k_ESteamAPIInitResult_OK ) +// FatalError( "Failed to init Steam. %s", errMsg ); +inline ESteamAPIInitResult SteamAPI_InitEx( SteamErrMsg *pOutErrMsg ); + +// See "Initializing the Steamworks SDK" above for how to choose an init method. +// Returns true on success +inline bool SteamAPI_Init() +{ + return SteamAPI_InitEx( NULL ) == k_ESteamAPIInitResult_OK; +} + +// See "Initializing the Steamworks SDK" above for how to choose an init method. +// Same usage as SteamAPI_InitEx(), however does not verify ISteam* interfaces are +// supported by the user's client and is exported from the dll +S_API ESteamAPIInitResult S_CALLTYPE SteamAPI_InitFlat( SteamErrMsg *pOutErrMsg ); + +// SteamAPI_Shutdown should be called during process shutdown if possible. +S_API void S_CALLTYPE SteamAPI_Shutdown(); + +// SteamAPI_RestartAppIfNecessary ensures that your executable was launched through Steam. +// +// Returns true if the current process should terminate. Steam is now re-launching your application. +// +// Returns false if no action needs to be taken. This means that your executable was started through +// the Steam client, or a steam_appid.txt file is present in your game's directory (for development). +// Your current process should continue if false is returned. +// +// NOTE: If you use the Steam DRM wrapper on your primary executable file, this check is unnecessary +// since the DRM wrapper will ensure that your application was launched properly through Steam. +S_API bool S_CALLTYPE SteamAPI_RestartAppIfNecessary( uint32 unOwnAppID ); + +// Many Steam API functions allocate a small amount of thread-local memory for parameter storage. +// SteamAPI_ReleaseCurrentThreadMemory() will free API memory associated with the calling thread. +// This function is also called automatically by SteamAPI_RunCallbacks(), so a single-threaded +// program never needs to explicitly call this function. +S_API void S_CALLTYPE SteamAPI_ReleaseCurrentThreadMemory(); + + +// crash dump recording functions +S_API void S_CALLTYPE SteamAPI_WriteMiniDump( uint32 uStructuredExceptionCode, void* pvExceptionInfo, uint32 uBuildID ); +S_API void S_CALLTYPE SteamAPI_SetMiniDumpComment( const char *pchMsg ); + +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +// steamclient.dll private wrapper functions +// +// The following functions are part of abstracting API access to the steamclient.dll, but should only be used in very specific cases +//----------------------------------------------------------------------------------------------------------------------------------------------------------// + +// SteamAPI_IsSteamRunning() returns true if Steam is currently running +S_API bool S_CALLTYPE SteamAPI_IsSteamRunning(); + +// returns the filename path of the current running Steam process, used if you need to load an explicit steam dll by name. +// DEPRECATED - implementation is Windows only, and the path returned is a UTF-8 string which must be converted to UTF-16 for use with Win32 APIs +S_API const char *SteamAPI_GetSteamInstallPath(); + +// sets whether or not Steam_RunCallbacks() should do a try {} catch (...) {} around calls to issuing callbacks +// This is ignored if you are using the manual callback dispatch method +S_API void SteamAPI_SetTryCatchCallbacks( bool bTryCatchCallbacks ); + +#if defined( VERSION_SAFE_STEAM_API_INTERFACES ) +// exists only for backwards compat with code written against older SDKs +S_API bool S_CALLTYPE SteamAPI_InitSafe(); +#endif + +#if defined(USE_BREAKPAD_HANDLER) || defined(STEAM_API_EXPORTS) +// this should be called before the game initialized the steam APIs +// pchDate should be of the format "Mmm dd yyyy" (such as from the __ DATE __ macro ) +// pchTime should be of the format "hh:mm:ss" (such as from the __ TIME __ macro ) +// bFullMemoryDumps (Win32 only) -- writes out a uuid-full.dmp in the client/dumps folder +// pvContext-- can be NULL, will be the void * context passed into m_pfnPreMinidumpCallback +// PFNPreMinidumpCallback m_pfnPreMinidumpCallback -- optional callback which occurs just before a .dmp file is written during a crash. Applications can hook this to allow adding additional information into the .dmp comment stream. +S_API void S_CALLTYPE SteamAPI_UseBreakpadCrashHandler( char const *pchVersion, char const *pchDate, char const *pchTime, bool bFullMemoryDumps, void *pvContext, PFNPreMinidumpCallback m_pfnPreMinidumpCallback ); +S_API void S_CALLTYPE SteamAPI_SetBreakpadAppID( uint32 unAppID ); +#endif + +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +// +// Manual callback loop +// +// An alternative method for dispatching callbacks. Similar to a windows message loop. +// +// If you use the manual callback dispatch, you must NOT use: +// +// - SteamAPI_RunCallbacks or SteamGameServer_RunCallbacks +// - STEAM_CALLBACK, CCallResult, CCallback, or CCallbackManual +// +// Here is the basic template for replacing SteamAPI_RunCallbacks() with manual dispatch +/* + + HSteamPipe hSteamPipe = SteamAPI_GetHSteamPipe(); // See also SteamGameServer_GetHSteamPipe() + SteamAPI_ManualDispatch_RunFrame( hSteamPipe ) + CallbackMsg_t callback; + while ( SteamAPI_ManualDispatch_GetNextCallback( hSteamPipe, &callback ) ) + { + // Check for dispatching API call results + if ( callback.m_iCallback == SteamAPICallCompleted_t::k_iCallback ) + { + SteamAPICallCompleted_t *pCallCompleted = (SteamAPICallCompleted_t *)callback. + void *pTmpCallResult = malloc( pCallback->m_cubParam ); + bool bFailed; + if ( SteamAPI_ManualDispatch_GetAPICallResult( hSteamPipe, pCallCompleted->m_hAsyncCall, pTmpCallResult, pCallback->m_cubParam, pCallback->m_iCallback, &bFailed ) ) + { + // Dispatch the call result to the registered handler(s) for the + // call identified by pCallCompleted->m_hAsyncCall + } + free( pTmpCallResult ); + } + else + { + // Look at callback.m_iCallback to see what kind of callback it is, + // and dispatch to appropriate handler(s) + } + SteamAPI_ManualDispatch_FreeLastCallback( hSteamPipe ); + } + +*/ +//----------------------------------------------------------------------------------------------------------------------------------------------------------// + +/// Inform the API that you wish to use manual event dispatch. This must be called after SteamAPI_Init, but before +/// you use any of the other manual dispatch functions below. +S_API void S_CALLTYPE SteamAPI_ManualDispatch_Init(); + +/// Perform certain periodic actions that need to be performed. +S_API void S_CALLTYPE SteamAPI_ManualDispatch_RunFrame( HSteamPipe hSteamPipe ); + +/// Fetch the next pending callback on the given pipe, if any. If a callback is available, true is returned +/// and the structure is populated. In this case, you MUST call SteamAPI_ManualDispatch_FreeLastCallback +/// (after dispatching the callback) before calling SteamAPI_ManualDispatch_GetNextCallback again. +S_API bool S_CALLTYPE SteamAPI_ManualDispatch_GetNextCallback( HSteamPipe hSteamPipe, CallbackMsg_t *pCallbackMsg ); + +/// You must call this after dispatching the callback, if SteamAPI_ManualDispatch_GetNextCallback returns true. +S_API void S_CALLTYPE SteamAPI_ManualDispatch_FreeLastCallback( HSteamPipe hSteamPipe ); + +/// Return the call result for the specified call on the specified pipe. You really should +/// only call this in a handler for SteamAPICallCompleted_t callback. +S_API bool S_CALLTYPE SteamAPI_ManualDispatch_GetAPICallResult( HSteamPipe hSteamPipe, SteamAPICall_t hSteamAPICall, void *pCallback, int cubCallback, int iCallbackExpected, bool *pbFailed ); + +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +// +// CSteamAPIContext +// +// Deprecated! This is not necessary any more. Please use the global accessors directly +// +//----------------------------------------------------------------------------------------------------------------------------------------------------------// + +#ifndef STEAM_API_EXPORTS + +inline bool CSteamAPIContext::Init() +{ + m_pSteamClient = ::SteamClient(); + if ( !m_pSteamClient ) + return false; + + m_pSteamUser = ::SteamUser(); + if ( !m_pSteamUser ) + return false; + + m_pSteamFriends = ::SteamFriends(); + if ( !m_pSteamFriends ) + return false; + + m_pSteamUtils = ::SteamUtils(); + if ( !m_pSteamUtils ) + return false; + + m_pSteamMatchmaking = ::SteamMatchmaking(); + if ( !m_pSteamMatchmaking ) + return false; + + m_pSteamGameSearch = ::SteamGameSearch(); + if ( !m_pSteamGameSearch ) + return false; + +#if !defined( IOSALL) // Not yet supported on iOS. + m_pSteamMatchmakingServers = ::SteamMatchmakingServers(); + if ( !m_pSteamMatchmakingServers ) + return false; +#endif + + m_pSteamUserStats = ::SteamUserStats(); + if ( !m_pSteamUserStats ) + return false; + + m_pSteamApps = ::SteamApps(); + if ( !m_pSteamApps ) + return false; + + m_pSteamNetworking = ::SteamNetworking(); + if ( !m_pSteamNetworking ) + return false; + + m_pSteamRemoteStorage = ::SteamRemoteStorage(); + if ( !m_pSteamRemoteStorage ) + return false; + + m_pSteamScreenshots = ::SteamScreenshots(); + if ( !m_pSteamScreenshots ) + return false; + + m_pSteamHTTP = ::SteamHTTP(); + if ( !m_pSteamHTTP ) + return false; + + m_pController = ::SteamController(); + if ( !m_pController ) + return false; + + m_pSteamUGC = ::SteamUGC(); + if ( !m_pSteamUGC ) + return false; + + m_pSteamMusic = ::SteamMusic(); + if ( !m_pSteamMusic ) + return false; + + m_pSteamMusicRemote = ::SteamMusicRemote(); + if ( !m_pSteamMusicRemote ) + return false; + +#if !defined( ANDROID ) && !defined( IOSALL) // Not yet supported on Android or ios. + m_pSteamHTMLSurface = ::SteamHTMLSurface(); + if ( !m_pSteamHTMLSurface ) + return false; +#endif + + m_pSteamInventory = ::SteamInventory(); + if ( !m_pSteamInventory ) + return false; + + m_pSteamVideo = ::SteamVideo(); + if ( !m_pSteamVideo ) + return false; + + m_pSteamParentalSettings = ::SteamParentalSettings(); + if ( !m_pSteamParentalSettings ) + return false; + + m_pSteamInput = ::SteamInput(); + if ( !m_pSteamInput ) + return false; + + return true; +} + +#endif + +// Internal implementation of SteamAPI_InitEx. This is done in a way that checks +// all of the versions of interfaces from headers being compiled into this code. +S_API ESteamAPIInitResult S_CALLTYPE SteamInternal_SteamAPI_Init( const char *pszInternalCheckInterfaceVersions, SteamErrMsg *pOutErrMsg ); +inline ESteamAPIInitResult SteamAPI_InitEx( SteamErrMsg *pOutErrMsg ) +{ + const char *pszInternalCheckInterfaceVersions = + STEAMUTILS_INTERFACE_VERSION "\0" + STEAMNETWORKINGUTILS_INTERFACE_VERSION "\0" + STEAMAPPS_INTERFACE_VERSION "\0" + STEAMCONTROLLER_INTERFACE_VERSION "\0" + STEAMFRIENDS_INTERFACE_VERSION "\0" + STEAMGAMESEARCH_INTERFACE_VERSION "\0" + STEAMHTMLSURFACE_INTERFACE_VERSION "\0" + STEAMHTTP_INTERFACE_VERSION "\0" + STEAMINPUT_INTERFACE_VERSION "\0" + STEAMINVENTORY_INTERFACE_VERSION "\0" + STEAMMATCHMAKINGSERVERS_INTERFACE_VERSION "\0" + STEAMMATCHMAKING_INTERFACE_VERSION "\0" + STEAMMUSICREMOTE_INTERFACE_VERSION "\0" + STEAMMUSIC_INTERFACE_VERSION "\0" + STEAMNETWORKINGMESSAGES_INTERFACE_VERSION "\0" + STEAMNETWORKINGSOCKETS_INTERFACE_VERSION "\0" + STEAMNETWORKING_INTERFACE_VERSION "\0" + STEAMPARENTALSETTINGS_INTERFACE_VERSION "\0" + STEAMPARTIES_INTERFACE_VERSION "\0" + STEAMREMOTEPLAY_INTERFACE_VERSION "\0" + STEAMREMOTESTORAGE_INTERFACE_VERSION "\0" + STEAMSCREENSHOTS_INTERFACE_VERSION "\0" + STEAMUGC_INTERFACE_VERSION "\0" + STEAMUSERSTATS_INTERFACE_VERSION "\0" + STEAMUSER_INTERFACE_VERSION "\0" + STEAMVIDEO_INTERFACE_VERSION "\0" + + "\0"; + + return SteamInternal_SteamAPI_Init( pszInternalCheckInterfaceVersions, pOutErrMsg ); +} + +#endif // STEAM_API_H diff --git a/lsteamclient/steamworks_sdk_159x/steam_api_common.h b/lsteamclient/steamworks_sdk_159x/steam_api_common.h new file mode 100644 index 0000000000..cb8e6b7797 --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/steam_api_common.h @@ -0,0 +1,249 @@ +//====== Copyright Valve Corporation, All rights reserved. ==================== +// +// Steamworks SDK minimal include +// +// Defines the minimal set of things we need to use any single interface +// or register for any callback. +// +//============================================================================= + +#ifndef STEAM_API_COMMON_H +#define STEAM_API_COMMON_H + +#include "steamtypes.h" +#include "steamclientpublic.h" + +// S_API defines the linkage and calling conventions for steam_api.dll exports +#if defined( _WIN32 ) && !defined( _X360 ) + #if defined( STEAM_API_EXPORTS ) + #define S_API extern "C" __declspec( dllexport ) + #elif defined( STEAM_API_NODLL ) + #define S_API extern "C" + #else + #define S_API extern "C" __declspec( dllimport ) + #endif // STEAM_API_EXPORTS +#elif defined( __GNUC__ ) + #if defined( STEAM_API_EXPORTS ) + #define S_API extern "C" __attribute__ ((visibility("default"))) + #else + #define S_API extern "C" + #endif // STEAM_API_EXPORTS +#else // !WIN32 + #if defined( STEAM_API_EXPORTS ) + #define S_API extern "C" + #else + #define S_API extern "C" + #endif // STEAM_API_EXPORTS +#endif + +#if defined( __cplusplus ) && ( __cplusplus >= 201103L ) + #define S_OVERRIDE override +#else + #define S_OVERRIDE +#endif + +#if ( defined(STEAM_API_EXPORTS) || defined(STEAM_API_NODLL) ) && !defined(API_GEN) +#define STEAM_PRIVATE_API( ... ) __VA_ARGS__ +#elif defined(STEAM_API_EXPORTS) && defined(API_GEN) +#define STEAM_PRIVATE_API( ... ) +#else +#define STEAM_PRIVATE_API( ... ) protected: __VA_ARGS__ public: +#endif + +// handle to a communication pipe to the Steam client +typedef int32 HSteamPipe; +// handle to single instance of a steam user +typedef int32 HSteamUser; + +// A fixed size buffer to receive an error message that is returned by some API +// calls. +const int k_cchMaxSteamErrMsg = 1024; +typedef char SteamErrMsg[ k_cchMaxSteamErrMsg ]; + +// #define away __cdecl on posix. +// This is really, really bad. We're sorry. But it's been this way for +// a long time now and it's scary to change it, as there may be others that +// depend on it. +#ifndef _WIN32 + #define __cdecl +#endif + +// function prototype +extern "C" typedef void ( S_CALLTYPE *SteamAPIWarningMessageHook_t )( int, const char * ); +extern "C" typedef uint32 ( S_CALLTYPE *SteamAPI_CheckCallbackRegistered_t )( int iCallbackNum ); +#if defined( __SNC__ ) + #pragma diag_suppress=1700 // warning 1700: class "%s" has virtual functions but non-virtual destructor +#endif + +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +// steam callback and call-result helpers +// +// The following macros and classes are used to register your application for +// callbacks and call-results, which are delivered in a predictable manner. +// +// STEAM_CALLBACK macros are meant for use inside of a C++ class definition. +// They map a Steam notification callback directly to a class member function +// which is automatically prototyped as "void func( callback_type *pParam )". +// +// CCallResult is used with specific Steam APIs that return "result handles". +// The handle can be passed to a CCallResult object's Set function, along with +// an object pointer and member-function pointer. The member function will +// be executed once the results of the Steam API call are available. +// +// CCallback and CCallbackManual classes can be used instead of STEAM_CALLBACK +// macros if you require finer control over registration and unregistration. +// +// Callbacks and call-results are queued automatically and are only +// delivered/executed when your application calls SteamAPI_RunCallbacks(). +// +// Note that there is an alternative, lower level callback dispatch mechanism. +// See SteamAPI_ManualDispatch_Init +//----------------------------------------------------------------------------------------------------------------------------------------------------------// + +// Dispatch all queued Steamworks callbacks. +// +// This is safe to call from multiple threads simultaneously, +// but if you choose to do this, callback code could be executed on any thread. +// One alternative is to call SteamAPI_RunCallbacks from the main thread only, +// and call SteamAPI_ReleaseCurrentThreadMemory regularly on other threads. +S_API void S_CALLTYPE SteamAPI_RunCallbacks(); + +// Declares a callback member function plus a helper member variable which +// registers the callback on object creation and unregisters on destruction. +// The optional fourth 'var' param exists only for backwards-compatibility +// and can be ignored. +#define STEAM_CALLBACK( thisclass, func, .../*callback_type, [deprecated] var*/ ) \ + _STEAM_CALLBACK_SELECT( ( __VA_ARGS__, 4, 3 ), ( /**/, thisclass, func, __VA_ARGS__ ) ) + +// Declares a callback function and a named CCallbackManual variable which +// has Register and Unregister functions instead of automatic registration. +#define STEAM_CALLBACK_MANUAL( thisclass, func, callback_type, var ) \ + CCallbackManual< thisclass, callback_type > var; void func( callback_type *pParam ) + +// Dispatch callbacks relevant to the gameserver client and interfaces. +// To register for these, you need to use STEAM_GAMESERVER_CALLBACK. +// (Or call SetGameserverFlag on your CCallbackBase object.) +S_API void S_CALLTYPE SteamGameServer_RunCallbacks(); + +// Same as STEAM_CALLBACK, but for callbacks on the gameserver interface. +// These will be dispatched during SteamGameServer_RunCallbacks +#define STEAM_GAMESERVER_CALLBACK( thisclass, func, /*callback_type, [deprecated] var*/... ) \ + _STEAM_CALLBACK_SELECT( ( __VA_ARGS__, GS, 3 ), ( this->SetGameserverFlag();, thisclass, func, __VA_ARGS__ ) ) +#define STEAM_GAMESERVER_CALLBACK_MANUAL( thisclass, func, callback_type, var ) \ + CCallbackManual< thisclass, callback_type, true > var; void func( callback_type *pParam ) + +//----------------------------------------------------------------------------- +// Purpose: base for callbacks and call results - internal implementation detail +//----------------------------------------------------------------------------- +class CCallbackBase +{ +public: + CCallbackBase() { m_nCallbackFlags = 0; m_iCallback = 0; } + // don't add a virtual destructor because we export this binary interface across dll's + virtual void Run( void *pvParam ) = 0; + virtual void Run( void *pvParam, bool bIOFailure, SteamAPICall_t hSteamAPICall ) = 0; + int GetICallback() { return m_iCallback; } + virtual int GetCallbackSizeBytes() = 0; + +protected: + enum { k_ECallbackFlagsRegistered = 0x01, k_ECallbackFlagsGameServer = 0x02 }; + uint8 m_nCallbackFlags; + int m_iCallback; + friend class CCallbackMgr; + +private: + CCallbackBase( const CCallbackBase& ); + CCallbackBase& operator=( const CCallbackBase& ); +}; + +//----------------------------------------------------------------------------- +// Purpose: templated base for callbacks - internal implementation detail +//----------------------------------------------------------------------------- +template< int sizeof_P > +class CCallbackImpl : protected CCallbackBase +{ +public: + virtual ~CCallbackImpl() { if ( m_nCallbackFlags & k_ECallbackFlagsRegistered ) SteamAPI_UnregisterCallback( this ); } + void SetGameserverFlag() { m_nCallbackFlags |= k_ECallbackFlagsGameServer; } + +protected: + friend class CCallbackMgr; + virtual void Run( void *pvParam ) S_OVERRIDE = 0; + virtual void Run( void *pvParam, bool /*bIOFailure*/, SteamAPICall_t /*hSteamAPICall*/ ) S_OVERRIDE { Run( pvParam ); } + virtual int GetCallbackSizeBytes() S_OVERRIDE { return sizeof_P; } +}; + + +//----------------------------------------------------------------------------- +// Purpose: maps a steam async call result to a class member function +// template params: T = local class, P = parameter struct +//----------------------------------------------------------------------------- +template< class T, class P > +class CCallResult : private CCallbackBase +{ +public: + typedef void (T::*func_t)( P*, bool ); + + CCallResult(); + ~CCallResult(); + + void Set( SteamAPICall_t hAPICall, T *p, func_t func ); + bool IsActive() const; + void Cancel(); + + void SetGameserverFlag() { m_nCallbackFlags |= k_ECallbackFlagsGameServer; } +private: + virtual void Run( void *pvParam ) S_OVERRIDE; + virtual void Run( void *pvParam, bool bIOFailure, SteamAPICall_t hSteamAPICall ) S_OVERRIDE; + virtual int GetCallbackSizeBytes() S_OVERRIDE { return sizeof( P ); } + + SteamAPICall_t m_hAPICall; + T *m_pObj; + func_t m_Func; +}; + + + +//----------------------------------------------------------------------------- +// Purpose: maps a steam callback to a class member function +// template params: T = local class, P = parameter struct, +// bGameserver = listen for gameserver callbacks instead of client callbacks +//----------------------------------------------------------------------------- +template< class T, class P, bool bGameserver = false > +class CCallback : public CCallbackImpl< sizeof( P ) > +{ +public: + typedef void (T::*func_t)(P*); + + // NOTE: If you can't provide the correct parameters at construction time, you should + // use the CCallbackManual callback object (STEAM_CALLBACK_MANUAL macro) instead. + CCallback( T *pObj, func_t func ); + + void Register( T *pObj, func_t func ); + void Unregister(); + +protected: + virtual void Run( void *pvParam ) S_OVERRIDE; + + T *m_pObj; + func_t m_Func; +}; + + +//----------------------------------------------------------------------------- +// Purpose: subclass of CCallback which allows default-construction in +// an unregistered state; you must call Register manually +//----------------------------------------------------------------------------- +template< class T, class P, bool bGameServer = false > +class CCallbackManual : public CCallback< T, P, bGameServer > +{ +public: + CCallbackManual() : CCallback< T, P, bGameServer >( nullptr, nullptr ) {} + + // Inherits public Register and Unregister functions from base class +}; + +// Internal implementation details for all of the above +#include "steam_api_internal.h" + +#endif // STEAM_API_COMMON_H diff --git a/lsteamclient/steamworks_sdk_159x/steam_api_flat.h b/lsteamclient/steamworks_sdk_159x/steam_api_flat.h new file mode 100644 index 0000000000..a0e7ce43cc --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/steam_api_flat.h @@ -0,0 +1,1268 @@ +//====== Copyright Valve Corporation, All rights reserved. ==================== +// +// Purpose: Header for "flat" SteamAPI. Use this for binding to other languages. +// This file is auto-generated, do not edit it. +// +//============================================================================= + +#ifndef STEAMAPIFLAT_H +#define STEAMAPIFLAT_H + +#include "steam/steam_api.h" +#include "steam/isteamgameserver.h" +#include "steam/isteamgameserverstats.h" + +typedef uint64 uint64_steamid; // Used when passing or returning CSteamID +typedef uint64 uint64_gameid; // Used when passing or return CGameID + + + +// ISteamClient +S_API HSteamPipe SteamAPI_ISteamClient_CreateSteamPipe( ISteamClient* self ); +S_API bool SteamAPI_ISteamClient_BReleaseSteamPipe( ISteamClient* self, HSteamPipe hSteamPipe ); +S_API HSteamUser SteamAPI_ISteamClient_ConnectToGlobalUser( ISteamClient* self, HSteamPipe hSteamPipe ); +S_API HSteamUser SteamAPI_ISteamClient_CreateLocalUser( ISteamClient* self, HSteamPipe * phSteamPipe, EAccountType eAccountType ); +S_API void SteamAPI_ISteamClient_ReleaseUser( ISteamClient* self, HSteamPipe hSteamPipe, HSteamUser hUser ); +S_API ISteamUser * SteamAPI_ISteamClient_GetISteamUser( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamGameServer * SteamAPI_ISteamClient_GetISteamGameServer( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API void SteamAPI_ISteamClient_SetLocalIPBinding( ISteamClient* self, const SteamIPAddress_t & unIP, uint16 usPort ); +S_API ISteamFriends * SteamAPI_ISteamClient_GetISteamFriends( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamUtils * SteamAPI_ISteamClient_GetISteamUtils( ISteamClient* self, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamMatchmaking * SteamAPI_ISteamClient_GetISteamMatchmaking( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamMatchmakingServers * SteamAPI_ISteamClient_GetISteamMatchmakingServers( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API void * SteamAPI_ISteamClient_GetISteamGenericInterface( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamUserStats * SteamAPI_ISteamClient_GetISteamUserStats( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamGameServerStats * SteamAPI_ISteamClient_GetISteamGameServerStats( ISteamClient* self, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamApps * SteamAPI_ISteamClient_GetISteamApps( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamNetworking * SteamAPI_ISteamClient_GetISteamNetworking( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamRemoteStorage * SteamAPI_ISteamClient_GetISteamRemoteStorage( ISteamClient* self, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamScreenshots * SteamAPI_ISteamClient_GetISteamScreenshots( ISteamClient* self, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamGameSearch * SteamAPI_ISteamClient_GetISteamGameSearch( ISteamClient* self, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API uint32 SteamAPI_ISteamClient_GetIPCCallCount( ISteamClient* self ); +S_API void SteamAPI_ISteamClient_SetWarningMessageHook( ISteamClient* self, SteamAPIWarningMessageHook_t pFunction ); +S_API bool SteamAPI_ISteamClient_BShutdownIfAllPipesClosed( ISteamClient* self ); +S_API ISteamHTTP * SteamAPI_ISteamClient_GetISteamHTTP( ISteamClient* self, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamController * SteamAPI_ISteamClient_GetISteamController( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamUGC * SteamAPI_ISteamClient_GetISteamUGC( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamMusic * SteamAPI_ISteamClient_GetISteamMusic( ISteamClient* self, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamMusicRemote * SteamAPI_ISteamClient_GetISteamMusicRemote( ISteamClient* self, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamHTMLSurface * SteamAPI_ISteamClient_GetISteamHTMLSurface( ISteamClient* self, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamInventory * SteamAPI_ISteamClient_GetISteamInventory( ISteamClient* self, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamVideo * SteamAPI_ISteamClient_GetISteamVideo( ISteamClient* self, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamParentalSettings * SteamAPI_ISteamClient_GetISteamParentalSettings( ISteamClient* self, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamInput * SteamAPI_ISteamClient_GetISteamInput( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamParties * SteamAPI_ISteamClient_GetISteamParties( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); +S_API ISteamRemotePlay * SteamAPI_ISteamClient_GetISteamRemotePlay( ISteamClient* self, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion ); + +// ISteamUser + +// A versioned accessor is exported by the library +S_API ISteamUser *SteamAPI_SteamUser_v023(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamUser(), but using this ensures that you are using a matching library. +inline ISteamUser *SteamAPI_SteamUser() { return SteamAPI_SteamUser_v023(); } +S_API HSteamUser SteamAPI_ISteamUser_GetHSteamUser( ISteamUser* self ); +S_API bool SteamAPI_ISteamUser_BLoggedOn( ISteamUser* self ); +S_API uint64_steamid SteamAPI_ISteamUser_GetSteamID( ISteamUser* self ); +S_API int SteamAPI_ISteamUser_InitiateGameConnection_DEPRECATED( ISteamUser* self, void * pAuthBlob, int cbMaxAuthBlob, uint64_steamid steamIDGameServer, uint32 unIPServer, uint16 usPortServer, bool bSecure ); +S_API void SteamAPI_ISteamUser_TerminateGameConnection_DEPRECATED( ISteamUser* self, uint32 unIPServer, uint16 usPortServer ); +S_API void SteamAPI_ISteamUser_TrackAppUsageEvent( ISteamUser* self, uint64_gameid gameID, int eAppUsageEvent, const char * pchExtraInfo ); +S_API bool SteamAPI_ISteamUser_GetUserDataFolder( ISteamUser* self, char * pchBuffer, int cubBuffer ); +S_API void SteamAPI_ISteamUser_StartVoiceRecording( ISteamUser* self ); +S_API void SteamAPI_ISteamUser_StopVoiceRecording( ISteamUser* self ); +S_API EVoiceResult SteamAPI_ISteamUser_GetAvailableVoice( ISteamUser* self, uint32 * pcbCompressed, uint32 * pcbUncompressed_Deprecated, uint32 nUncompressedVoiceDesiredSampleRate_Deprecated ); +S_API EVoiceResult SteamAPI_ISteamUser_GetVoice( ISteamUser* self, bool bWantCompressed, void * pDestBuffer, uint32 cbDestBufferSize, uint32 * nBytesWritten, bool bWantUncompressed_Deprecated, void * pUncompressedDestBuffer_Deprecated, uint32 cbUncompressedDestBufferSize_Deprecated, uint32 * nUncompressBytesWritten_Deprecated, uint32 nUncompressedVoiceDesiredSampleRate_Deprecated ); +S_API EVoiceResult SteamAPI_ISteamUser_DecompressVoice( ISteamUser* self, const void * pCompressed, uint32 cbCompressed, void * pDestBuffer, uint32 cbDestBufferSize, uint32 * nBytesWritten, uint32 nDesiredSampleRate ); +S_API uint32 SteamAPI_ISteamUser_GetVoiceOptimalSampleRate( ISteamUser* self ); +S_API HAuthTicket SteamAPI_ISteamUser_GetAuthSessionTicket( ISteamUser* self, void * pTicket, int cbMaxTicket, uint32 * pcbTicket, const SteamNetworkingIdentity * pSteamNetworkingIdentity ); +S_API HAuthTicket SteamAPI_ISteamUser_GetAuthTicketForWebApi( ISteamUser* self, const char * pchIdentity ); +S_API EBeginAuthSessionResult SteamAPI_ISteamUser_BeginAuthSession( ISteamUser* self, const void * pAuthTicket, int cbAuthTicket, uint64_steamid steamID ); +S_API void SteamAPI_ISteamUser_EndAuthSession( ISteamUser* self, uint64_steamid steamID ); +S_API void SteamAPI_ISteamUser_CancelAuthTicket( ISteamUser* self, HAuthTicket hAuthTicket ); +S_API EUserHasLicenseForAppResult SteamAPI_ISteamUser_UserHasLicenseForApp( ISteamUser* self, uint64_steamid steamID, AppId_t appID ); +S_API bool SteamAPI_ISteamUser_BIsBehindNAT( ISteamUser* self ); +S_API void SteamAPI_ISteamUser_AdvertiseGame( ISteamUser* self, uint64_steamid steamIDGameServer, uint32 unIPServer, uint16 usPortServer ); +S_API SteamAPICall_t SteamAPI_ISteamUser_RequestEncryptedAppTicket( ISteamUser* self, void * pDataToInclude, int cbDataToInclude ); +S_API bool SteamAPI_ISteamUser_GetEncryptedAppTicket( ISteamUser* self, void * pTicket, int cbMaxTicket, uint32 * pcbTicket ); +S_API int SteamAPI_ISteamUser_GetGameBadgeLevel( ISteamUser* self, int nSeries, bool bFoil ); +S_API int SteamAPI_ISteamUser_GetPlayerSteamLevel( ISteamUser* self ); +S_API SteamAPICall_t SteamAPI_ISteamUser_RequestStoreAuthURL( ISteamUser* self, const char * pchRedirectURL ); +S_API bool SteamAPI_ISteamUser_BIsPhoneVerified( ISteamUser* self ); +S_API bool SteamAPI_ISteamUser_BIsTwoFactorEnabled( ISteamUser* self ); +S_API bool SteamAPI_ISteamUser_BIsPhoneIdentifying( ISteamUser* self ); +S_API bool SteamAPI_ISteamUser_BIsPhoneRequiringVerification( ISteamUser* self ); +S_API SteamAPICall_t SteamAPI_ISteamUser_GetMarketEligibility( ISteamUser* self ); +S_API SteamAPICall_t SteamAPI_ISteamUser_GetDurationControl( ISteamUser* self ); +S_API bool SteamAPI_ISteamUser_BSetDurationControlOnlineState( ISteamUser* self, EDurationControlOnlineState eNewState ); + +// ISteamFriends + +// A versioned accessor is exported by the library +S_API ISteamFriends *SteamAPI_SteamFriends_v017(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamFriends(), but using this ensures that you are using a matching library. +inline ISteamFriends *SteamAPI_SteamFriends() { return SteamAPI_SteamFriends_v017(); } +S_API const char * SteamAPI_ISteamFriends_GetPersonaName( ISteamFriends* self ); +S_API SteamAPICall_t SteamAPI_ISteamFriends_SetPersonaName( ISteamFriends* self, const char * pchPersonaName ); +S_API EPersonaState SteamAPI_ISteamFriends_GetPersonaState( ISteamFriends* self ); +S_API int SteamAPI_ISteamFriends_GetFriendCount( ISteamFriends* self, int iFriendFlags ); +S_API uint64_steamid SteamAPI_ISteamFriends_GetFriendByIndex( ISteamFriends* self, int iFriend, int iFriendFlags ); +S_API EFriendRelationship SteamAPI_ISteamFriends_GetFriendRelationship( ISteamFriends* self, uint64_steamid steamIDFriend ); +S_API EPersonaState SteamAPI_ISteamFriends_GetFriendPersonaState( ISteamFriends* self, uint64_steamid steamIDFriend ); +S_API const char * SteamAPI_ISteamFriends_GetFriendPersonaName( ISteamFriends* self, uint64_steamid steamIDFriend ); +S_API bool SteamAPI_ISteamFriends_GetFriendGamePlayed( ISteamFriends* self, uint64_steamid steamIDFriend, FriendGameInfo_t * pFriendGameInfo ); +S_API const char * SteamAPI_ISteamFriends_GetFriendPersonaNameHistory( ISteamFriends* self, uint64_steamid steamIDFriend, int iPersonaName ); +S_API int SteamAPI_ISteamFriends_GetFriendSteamLevel( ISteamFriends* self, uint64_steamid steamIDFriend ); +S_API const char * SteamAPI_ISteamFriends_GetPlayerNickname( ISteamFriends* self, uint64_steamid steamIDPlayer ); +S_API int SteamAPI_ISteamFriends_GetFriendsGroupCount( ISteamFriends* self ); +S_API FriendsGroupID_t SteamAPI_ISteamFriends_GetFriendsGroupIDByIndex( ISteamFriends* self, int iFG ); +S_API const char * SteamAPI_ISteamFriends_GetFriendsGroupName( ISteamFriends* self, FriendsGroupID_t friendsGroupID ); +S_API int SteamAPI_ISteamFriends_GetFriendsGroupMembersCount( ISteamFriends* self, FriendsGroupID_t friendsGroupID ); +S_API void SteamAPI_ISteamFriends_GetFriendsGroupMembersList( ISteamFriends* self, FriendsGroupID_t friendsGroupID, CSteamID * pOutSteamIDMembers, int nMembersCount ); +S_API bool SteamAPI_ISteamFriends_HasFriend( ISteamFriends* self, uint64_steamid steamIDFriend, int iFriendFlags ); +S_API int SteamAPI_ISteamFriends_GetClanCount( ISteamFriends* self ); +S_API uint64_steamid SteamAPI_ISteamFriends_GetClanByIndex( ISteamFriends* self, int iClan ); +S_API const char * SteamAPI_ISteamFriends_GetClanName( ISteamFriends* self, uint64_steamid steamIDClan ); +S_API const char * SteamAPI_ISteamFriends_GetClanTag( ISteamFriends* self, uint64_steamid steamIDClan ); +S_API bool SteamAPI_ISteamFriends_GetClanActivityCounts( ISteamFriends* self, uint64_steamid steamIDClan, int * pnOnline, int * pnInGame, int * pnChatting ); +S_API SteamAPICall_t SteamAPI_ISteamFriends_DownloadClanActivityCounts( ISteamFriends* self, CSteamID * psteamIDClans, int cClansToRequest ); +S_API int SteamAPI_ISteamFriends_GetFriendCountFromSource( ISteamFriends* self, uint64_steamid steamIDSource ); +S_API uint64_steamid SteamAPI_ISteamFriends_GetFriendFromSourceByIndex( ISteamFriends* self, uint64_steamid steamIDSource, int iFriend ); +S_API bool SteamAPI_ISteamFriends_IsUserInSource( ISteamFriends* self, uint64_steamid steamIDUser, uint64_steamid steamIDSource ); +S_API void SteamAPI_ISteamFriends_SetInGameVoiceSpeaking( ISteamFriends* self, uint64_steamid steamIDUser, bool bSpeaking ); +S_API void SteamAPI_ISteamFriends_ActivateGameOverlay( ISteamFriends* self, const char * pchDialog ); +S_API void SteamAPI_ISteamFriends_ActivateGameOverlayToUser( ISteamFriends* self, const char * pchDialog, uint64_steamid steamID ); +S_API void SteamAPI_ISteamFriends_ActivateGameOverlayToWebPage( ISteamFriends* self, const char * pchURL, EActivateGameOverlayToWebPageMode eMode ); +S_API void SteamAPI_ISteamFriends_ActivateGameOverlayToStore( ISteamFriends* self, AppId_t nAppID, EOverlayToStoreFlag eFlag ); +S_API void SteamAPI_ISteamFriends_SetPlayedWith( ISteamFriends* self, uint64_steamid steamIDUserPlayedWith ); +S_API void SteamAPI_ISteamFriends_ActivateGameOverlayInviteDialog( ISteamFriends* self, uint64_steamid steamIDLobby ); +S_API int SteamAPI_ISteamFriends_GetSmallFriendAvatar( ISteamFriends* self, uint64_steamid steamIDFriend ); +S_API int SteamAPI_ISteamFriends_GetMediumFriendAvatar( ISteamFriends* self, uint64_steamid steamIDFriend ); +S_API int SteamAPI_ISteamFriends_GetLargeFriendAvatar( ISteamFriends* self, uint64_steamid steamIDFriend ); +S_API bool SteamAPI_ISteamFriends_RequestUserInformation( ISteamFriends* self, uint64_steamid steamIDUser, bool bRequireNameOnly ); +S_API SteamAPICall_t SteamAPI_ISteamFriends_RequestClanOfficerList( ISteamFriends* self, uint64_steamid steamIDClan ); +S_API uint64_steamid SteamAPI_ISteamFriends_GetClanOwner( ISteamFriends* self, uint64_steamid steamIDClan ); +S_API int SteamAPI_ISteamFriends_GetClanOfficerCount( ISteamFriends* self, uint64_steamid steamIDClan ); +S_API uint64_steamid SteamAPI_ISteamFriends_GetClanOfficerByIndex( ISteamFriends* self, uint64_steamid steamIDClan, int iOfficer ); +S_API uint32 SteamAPI_ISteamFriends_GetUserRestrictions( ISteamFriends* self ); +S_API bool SteamAPI_ISteamFriends_SetRichPresence( ISteamFriends* self, const char * pchKey, const char * pchValue ); +S_API void SteamAPI_ISteamFriends_ClearRichPresence( ISteamFriends* self ); +S_API const char * SteamAPI_ISteamFriends_GetFriendRichPresence( ISteamFriends* self, uint64_steamid steamIDFriend, const char * pchKey ); +S_API int SteamAPI_ISteamFriends_GetFriendRichPresenceKeyCount( ISteamFriends* self, uint64_steamid steamIDFriend ); +S_API const char * SteamAPI_ISteamFriends_GetFriendRichPresenceKeyByIndex( ISteamFriends* self, uint64_steamid steamIDFriend, int iKey ); +S_API void SteamAPI_ISteamFriends_RequestFriendRichPresence( ISteamFriends* self, uint64_steamid steamIDFriend ); +S_API bool SteamAPI_ISteamFriends_InviteUserToGame( ISteamFriends* self, uint64_steamid steamIDFriend, const char * pchConnectString ); +S_API int SteamAPI_ISteamFriends_GetCoplayFriendCount( ISteamFriends* self ); +S_API uint64_steamid SteamAPI_ISteamFriends_GetCoplayFriend( ISteamFriends* self, int iCoplayFriend ); +S_API int SteamAPI_ISteamFriends_GetFriendCoplayTime( ISteamFriends* self, uint64_steamid steamIDFriend ); +S_API AppId_t SteamAPI_ISteamFriends_GetFriendCoplayGame( ISteamFriends* self, uint64_steamid steamIDFriend ); +S_API SteamAPICall_t SteamAPI_ISteamFriends_JoinClanChatRoom( ISteamFriends* self, uint64_steamid steamIDClan ); +S_API bool SteamAPI_ISteamFriends_LeaveClanChatRoom( ISteamFriends* self, uint64_steamid steamIDClan ); +S_API int SteamAPI_ISteamFriends_GetClanChatMemberCount( ISteamFriends* self, uint64_steamid steamIDClan ); +S_API uint64_steamid SteamAPI_ISteamFriends_GetChatMemberByIndex( ISteamFriends* self, uint64_steamid steamIDClan, int iUser ); +S_API bool SteamAPI_ISteamFriends_SendClanChatMessage( ISteamFriends* self, uint64_steamid steamIDClanChat, const char * pchText ); +S_API int SteamAPI_ISteamFriends_GetClanChatMessage( ISteamFriends* self, uint64_steamid steamIDClanChat, int iMessage, void * prgchText, int cchTextMax, EChatEntryType * peChatEntryType, CSteamID * psteamidChatter ); +S_API bool SteamAPI_ISteamFriends_IsClanChatAdmin( ISteamFriends* self, uint64_steamid steamIDClanChat, uint64_steamid steamIDUser ); +S_API bool SteamAPI_ISteamFriends_IsClanChatWindowOpenInSteam( ISteamFriends* self, uint64_steamid steamIDClanChat ); +S_API bool SteamAPI_ISteamFriends_OpenClanChatWindowInSteam( ISteamFriends* self, uint64_steamid steamIDClanChat ); +S_API bool SteamAPI_ISteamFriends_CloseClanChatWindowInSteam( ISteamFriends* self, uint64_steamid steamIDClanChat ); +S_API bool SteamAPI_ISteamFriends_SetListenForFriendsMessages( ISteamFriends* self, bool bInterceptEnabled ); +S_API bool SteamAPI_ISteamFriends_ReplyToFriendMessage( ISteamFriends* self, uint64_steamid steamIDFriend, const char * pchMsgToSend ); +S_API int SteamAPI_ISteamFriends_GetFriendMessage( ISteamFriends* self, uint64_steamid steamIDFriend, int iMessageID, void * pvData, int cubData, EChatEntryType * peChatEntryType ); +S_API SteamAPICall_t SteamAPI_ISteamFriends_GetFollowerCount( ISteamFriends* self, uint64_steamid steamID ); +S_API SteamAPICall_t SteamAPI_ISteamFriends_IsFollowing( ISteamFriends* self, uint64_steamid steamID ); +S_API SteamAPICall_t SteamAPI_ISteamFriends_EnumerateFollowingList( ISteamFriends* self, uint32 unStartIndex ); +S_API bool SteamAPI_ISteamFriends_IsClanPublic( ISteamFriends* self, uint64_steamid steamIDClan ); +S_API bool SteamAPI_ISteamFriends_IsClanOfficialGameGroup( ISteamFriends* self, uint64_steamid steamIDClan ); +S_API int SteamAPI_ISteamFriends_GetNumChatsWithUnreadPriorityMessages( ISteamFriends* self ); +S_API void SteamAPI_ISteamFriends_ActivateGameOverlayRemotePlayTogetherInviteDialog( ISteamFriends* self, uint64_steamid steamIDLobby ); +S_API bool SteamAPI_ISteamFriends_RegisterProtocolInOverlayBrowser( ISteamFriends* self, const char * pchProtocol ); +S_API void SteamAPI_ISteamFriends_ActivateGameOverlayInviteDialogConnectString( ISteamFriends* self, const char * pchConnectString ); +S_API SteamAPICall_t SteamAPI_ISteamFriends_RequestEquippedProfileItems( ISteamFriends* self, uint64_steamid steamID ); +S_API bool SteamAPI_ISteamFriends_BHasEquippedProfileItem( ISteamFriends* self, uint64_steamid steamID, ECommunityProfileItemType itemType ); +S_API const char * SteamAPI_ISteamFriends_GetProfileItemPropertyString( ISteamFriends* self, uint64_steamid steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop ); +S_API uint32 SteamAPI_ISteamFriends_GetProfileItemPropertyUint( ISteamFriends* self, uint64_steamid steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop ); + +// ISteamUtils + +// A versioned accessor is exported by the library +S_API ISteamUtils *SteamAPI_SteamUtils_v010(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamUtils(), but using this ensures that you are using a matching library. +inline ISteamUtils *SteamAPI_SteamUtils() { return SteamAPI_SteamUtils_v010(); } + +// A versioned accessor is exported by the library +S_API ISteamUtils *SteamAPI_SteamGameServerUtils_v010(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServerUtils(), but using this ensures that you are using a matching library. +inline ISteamUtils *SteamAPI_SteamGameServerUtils() { return SteamAPI_SteamGameServerUtils_v010(); } +S_API uint32 SteamAPI_ISteamUtils_GetSecondsSinceAppActive( ISteamUtils* self ); +S_API uint32 SteamAPI_ISteamUtils_GetSecondsSinceComputerActive( ISteamUtils* self ); +S_API EUniverse SteamAPI_ISteamUtils_GetConnectedUniverse( ISteamUtils* self ); +S_API uint32 SteamAPI_ISteamUtils_GetServerRealTime( ISteamUtils* self ); +S_API const char * SteamAPI_ISteamUtils_GetIPCountry( ISteamUtils* self ); +S_API bool SteamAPI_ISteamUtils_GetImageSize( ISteamUtils* self, int iImage, uint32 * pnWidth, uint32 * pnHeight ); +S_API bool SteamAPI_ISteamUtils_GetImageRGBA( ISteamUtils* self, int iImage, uint8 * pubDest, int nDestBufferSize ); +S_API uint8 SteamAPI_ISteamUtils_GetCurrentBatteryPower( ISteamUtils* self ); +S_API uint32 SteamAPI_ISteamUtils_GetAppID( ISteamUtils* self ); +S_API void SteamAPI_ISteamUtils_SetOverlayNotificationPosition( ISteamUtils* self, ENotificationPosition eNotificationPosition ); +S_API bool SteamAPI_ISteamUtils_IsAPICallCompleted( ISteamUtils* self, SteamAPICall_t hSteamAPICall, bool * pbFailed ); +S_API ESteamAPICallFailure SteamAPI_ISteamUtils_GetAPICallFailureReason( ISteamUtils* self, SteamAPICall_t hSteamAPICall ); +S_API bool SteamAPI_ISteamUtils_GetAPICallResult( ISteamUtils* self, SteamAPICall_t hSteamAPICall, void * pCallback, int cubCallback, int iCallbackExpected, bool * pbFailed ); +S_API uint32 SteamAPI_ISteamUtils_GetIPCCallCount( ISteamUtils* self ); +S_API void SteamAPI_ISteamUtils_SetWarningMessageHook( ISteamUtils* self, SteamAPIWarningMessageHook_t pFunction ); +S_API bool SteamAPI_ISteamUtils_IsOverlayEnabled( ISteamUtils* self ); +S_API bool SteamAPI_ISteamUtils_BOverlayNeedsPresent( ISteamUtils* self ); +S_API SteamAPICall_t SteamAPI_ISteamUtils_CheckFileSignature( ISteamUtils* self, const char * szFileName ); +S_API bool SteamAPI_ISteamUtils_ShowGamepadTextInput( ISteamUtils* self, EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char * pchDescription, uint32 unCharMax, const char * pchExistingText ); +S_API uint32 SteamAPI_ISteamUtils_GetEnteredGamepadTextLength( ISteamUtils* self ); +S_API bool SteamAPI_ISteamUtils_GetEnteredGamepadTextInput( ISteamUtils* self, char * pchText, uint32 cchText ); +S_API const char * SteamAPI_ISteamUtils_GetSteamUILanguage( ISteamUtils* self ); +S_API bool SteamAPI_ISteamUtils_IsSteamRunningInVR( ISteamUtils* self ); +S_API void SteamAPI_ISteamUtils_SetOverlayNotificationInset( ISteamUtils* self, int nHorizontalInset, int nVerticalInset ); +S_API bool SteamAPI_ISteamUtils_IsSteamInBigPictureMode( ISteamUtils* self ); +S_API void SteamAPI_ISteamUtils_StartVRDashboard( ISteamUtils* self ); +S_API bool SteamAPI_ISteamUtils_IsVRHeadsetStreamingEnabled( ISteamUtils* self ); +S_API void SteamAPI_ISteamUtils_SetVRHeadsetStreamingEnabled( ISteamUtils* self, bool bEnabled ); +S_API bool SteamAPI_ISteamUtils_IsSteamChinaLauncher( ISteamUtils* self ); +S_API bool SteamAPI_ISteamUtils_InitFilterText( ISteamUtils* self, uint32 unFilterOptions ); +S_API int SteamAPI_ISteamUtils_FilterText( ISteamUtils* self, ETextFilteringContext eContext, uint64_steamid sourceSteamID, const char * pchInputMessage, char * pchOutFilteredText, uint32 nByteSizeOutFilteredText ); +S_API ESteamIPv6ConnectivityState SteamAPI_ISteamUtils_GetIPv6ConnectivityState( ISteamUtils* self, ESteamIPv6ConnectivityProtocol eProtocol ); +S_API bool SteamAPI_ISteamUtils_IsSteamRunningOnSteamDeck( ISteamUtils* self ); +S_API bool SteamAPI_ISteamUtils_ShowFloatingGamepadTextInput( ISteamUtils* self, EFloatingGamepadTextInputMode eKeyboardMode, int nTextFieldXPosition, int nTextFieldYPosition, int nTextFieldWidth, int nTextFieldHeight ); +S_API void SteamAPI_ISteamUtils_SetGameLauncherMode( ISteamUtils* self, bool bLauncherMode ); +S_API bool SteamAPI_ISteamUtils_DismissFloatingGamepadTextInput( ISteamUtils* self ); +S_API bool SteamAPI_ISteamUtils_DismissGamepadTextInput( ISteamUtils* self ); + +// ISteamMatchmaking + +// A versioned accessor is exported by the library +S_API ISteamMatchmaking *SteamAPI_SteamMatchmaking_v009(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamMatchmaking(), but using this ensures that you are using a matching library. +inline ISteamMatchmaking *SteamAPI_SteamMatchmaking() { return SteamAPI_SteamMatchmaking_v009(); } +S_API int SteamAPI_ISteamMatchmaking_GetFavoriteGameCount( ISteamMatchmaking* self ); +S_API bool SteamAPI_ISteamMatchmaking_GetFavoriteGame( ISteamMatchmaking* self, int iGame, AppId_t * pnAppID, uint32 * pnIP, uint16 * pnConnPort, uint16 * pnQueryPort, uint32 * punFlags, uint32 * pRTime32LastPlayedOnServer ); +S_API int SteamAPI_ISteamMatchmaking_AddFavoriteGame( ISteamMatchmaking* self, AppId_t nAppID, uint32 nIP, uint16 nConnPort, uint16 nQueryPort, uint32 unFlags, uint32 rTime32LastPlayedOnServer ); +S_API bool SteamAPI_ISteamMatchmaking_RemoveFavoriteGame( ISteamMatchmaking* self, AppId_t nAppID, uint32 nIP, uint16 nConnPort, uint16 nQueryPort, uint32 unFlags ); +S_API SteamAPICall_t SteamAPI_ISteamMatchmaking_RequestLobbyList( ISteamMatchmaking* self ); +S_API void SteamAPI_ISteamMatchmaking_AddRequestLobbyListStringFilter( ISteamMatchmaking* self, const char * pchKeyToMatch, const char * pchValueToMatch, ELobbyComparison eComparisonType ); +S_API void SteamAPI_ISteamMatchmaking_AddRequestLobbyListNumericalFilter( ISteamMatchmaking* self, const char * pchKeyToMatch, int nValueToMatch, ELobbyComparison eComparisonType ); +S_API void SteamAPI_ISteamMatchmaking_AddRequestLobbyListNearValueFilter( ISteamMatchmaking* self, const char * pchKeyToMatch, int nValueToBeCloseTo ); +S_API void SteamAPI_ISteamMatchmaking_AddRequestLobbyListFilterSlotsAvailable( ISteamMatchmaking* self, int nSlotsAvailable ); +S_API void SteamAPI_ISteamMatchmaking_AddRequestLobbyListDistanceFilter( ISteamMatchmaking* self, ELobbyDistanceFilter eLobbyDistanceFilter ); +S_API void SteamAPI_ISteamMatchmaking_AddRequestLobbyListResultCountFilter( ISteamMatchmaking* self, int cMaxResults ); +S_API void SteamAPI_ISteamMatchmaking_AddRequestLobbyListCompatibleMembersFilter( ISteamMatchmaking* self, uint64_steamid steamIDLobby ); +S_API uint64_steamid SteamAPI_ISteamMatchmaking_GetLobbyByIndex( ISteamMatchmaking* self, int iLobby ); +S_API SteamAPICall_t SteamAPI_ISteamMatchmaking_CreateLobby( ISteamMatchmaking* self, ELobbyType eLobbyType, int cMaxMembers ); +S_API SteamAPICall_t SteamAPI_ISteamMatchmaking_JoinLobby( ISteamMatchmaking* self, uint64_steamid steamIDLobby ); +S_API void SteamAPI_ISteamMatchmaking_LeaveLobby( ISteamMatchmaking* self, uint64_steamid steamIDLobby ); +S_API bool SteamAPI_ISteamMatchmaking_InviteUserToLobby( ISteamMatchmaking* self, uint64_steamid steamIDLobby, uint64_steamid steamIDInvitee ); +S_API int SteamAPI_ISteamMatchmaking_GetNumLobbyMembers( ISteamMatchmaking* self, uint64_steamid steamIDLobby ); +S_API uint64_steamid SteamAPI_ISteamMatchmaking_GetLobbyMemberByIndex( ISteamMatchmaking* self, uint64_steamid steamIDLobby, int iMember ); +S_API const char * SteamAPI_ISteamMatchmaking_GetLobbyData( ISteamMatchmaking* self, uint64_steamid steamIDLobby, const char * pchKey ); +S_API bool SteamAPI_ISteamMatchmaking_SetLobbyData( ISteamMatchmaking* self, uint64_steamid steamIDLobby, const char * pchKey, const char * pchValue ); +S_API int SteamAPI_ISteamMatchmaking_GetLobbyDataCount( ISteamMatchmaking* self, uint64_steamid steamIDLobby ); +S_API bool SteamAPI_ISteamMatchmaking_GetLobbyDataByIndex( ISteamMatchmaking* self, uint64_steamid steamIDLobby, int iLobbyData, char * pchKey, int cchKeyBufferSize, char * pchValue, int cchValueBufferSize ); +S_API bool SteamAPI_ISteamMatchmaking_DeleteLobbyData( ISteamMatchmaking* self, uint64_steamid steamIDLobby, const char * pchKey ); +S_API const char * SteamAPI_ISteamMatchmaking_GetLobbyMemberData( ISteamMatchmaking* self, uint64_steamid steamIDLobby, uint64_steamid steamIDUser, const char * pchKey ); +S_API void SteamAPI_ISteamMatchmaking_SetLobbyMemberData( ISteamMatchmaking* self, uint64_steamid steamIDLobby, const char * pchKey, const char * pchValue ); +S_API bool SteamAPI_ISteamMatchmaking_SendLobbyChatMsg( ISteamMatchmaking* self, uint64_steamid steamIDLobby, const void * pvMsgBody, int cubMsgBody ); +S_API int SteamAPI_ISteamMatchmaking_GetLobbyChatEntry( ISteamMatchmaking* self, uint64_steamid steamIDLobby, int iChatID, CSteamID * pSteamIDUser, void * pvData, int cubData, EChatEntryType * peChatEntryType ); +S_API bool SteamAPI_ISteamMatchmaking_RequestLobbyData( ISteamMatchmaking* self, uint64_steamid steamIDLobby ); +S_API void SteamAPI_ISteamMatchmaking_SetLobbyGameServer( ISteamMatchmaking* self, uint64_steamid steamIDLobby, uint32 unGameServerIP, uint16 unGameServerPort, uint64_steamid steamIDGameServer ); +S_API bool SteamAPI_ISteamMatchmaking_GetLobbyGameServer( ISteamMatchmaking* self, uint64_steamid steamIDLobby, uint32 * punGameServerIP, uint16 * punGameServerPort, CSteamID * psteamIDGameServer ); +S_API bool SteamAPI_ISteamMatchmaking_SetLobbyMemberLimit( ISteamMatchmaking* self, uint64_steamid steamIDLobby, int cMaxMembers ); +S_API int SteamAPI_ISteamMatchmaking_GetLobbyMemberLimit( ISteamMatchmaking* self, uint64_steamid steamIDLobby ); +S_API bool SteamAPI_ISteamMatchmaking_SetLobbyType( ISteamMatchmaking* self, uint64_steamid steamIDLobby, ELobbyType eLobbyType ); +S_API bool SteamAPI_ISteamMatchmaking_SetLobbyJoinable( ISteamMatchmaking* self, uint64_steamid steamIDLobby, bool bLobbyJoinable ); +S_API uint64_steamid SteamAPI_ISteamMatchmaking_GetLobbyOwner( ISteamMatchmaking* self, uint64_steamid steamIDLobby ); +S_API bool SteamAPI_ISteamMatchmaking_SetLobbyOwner( ISteamMatchmaking* self, uint64_steamid steamIDLobby, uint64_steamid steamIDNewOwner ); +S_API bool SteamAPI_ISteamMatchmaking_SetLinkedLobby( ISteamMatchmaking* self, uint64_steamid steamIDLobby, uint64_steamid steamIDLobbyDependent ); + +// ISteamMatchmakingServerListResponse +S_API void SteamAPI_ISteamMatchmakingServerListResponse_ServerResponded( ISteamMatchmakingServerListResponse* self, HServerListRequest hRequest, int iServer ); +S_API void SteamAPI_ISteamMatchmakingServerListResponse_ServerFailedToRespond( ISteamMatchmakingServerListResponse* self, HServerListRequest hRequest, int iServer ); +S_API void SteamAPI_ISteamMatchmakingServerListResponse_RefreshComplete( ISteamMatchmakingServerListResponse* self, HServerListRequest hRequest, EMatchMakingServerResponse response ); + +// ISteamMatchmakingPingResponse +S_API void SteamAPI_ISteamMatchmakingPingResponse_ServerResponded( ISteamMatchmakingPingResponse* self, gameserveritem_t & server ); +S_API void SteamAPI_ISteamMatchmakingPingResponse_ServerFailedToRespond( ISteamMatchmakingPingResponse* self ); + +// ISteamMatchmakingPlayersResponse +S_API void SteamAPI_ISteamMatchmakingPlayersResponse_AddPlayerToList( ISteamMatchmakingPlayersResponse* self, const char * pchName, int nScore, float flTimePlayed ); +S_API void SteamAPI_ISteamMatchmakingPlayersResponse_PlayersFailedToRespond( ISteamMatchmakingPlayersResponse* self ); +S_API void SteamAPI_ISteamMatchmakingPlayersResponse_PlayersRefreshComplete( ISteamMatchmakingPlayersResponse* self ); + +// ISteamMatchmakingRulesResponse +S_API void SteamAPI_ISteamMatchmakingRulesResponse_RulesResponded( ISteamMatchmakingRulesResponse* self, const char * pchRule, const char * pchValue ); +S_API void SteamAPI_ISteamMatchmakingRulesResponse_RulesFailedToRespond( ISteamMatchmakingRulesResponse* self ); +S_API void SteamAPI_ISteamMatchmakingRulesResponse_RulesRefreshComplete( ISteamMatchmakingRulesResponse* self ); + +// ISteamMatchmakingServers + +// A versioned accessor is exported by the library +S_API ISteamMatchmakingServers *SteamAPI_SteamMatchmakingServers_v002(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamMatchmakingServers(), but using this ensures that you are using a matching library. +inline ISteamMatchmakingServers *SteamAPI_SteamMatchmakingServers() { return SteamAPI_SteamMatchmakingServers_v002(); } +S_API HServerListRequest SteamAPI_ISteamMatchmakingServers_RequestInternetServerList( ISteamMatchmakingServers* self, AppId_t iApp, MatchMakingKeyValuePair_t ** ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse * pRequestServersResponse ); +S_API HServerListRequest SteamAPI_ISteamMatchmakingServers_RequestLANServerList( ISteamMatchmakingServers* self, AppId_t iApp, ISteamMatchmakingServerListResponse * pRequestServersResponse ); +S_API HServerListRequest SteamAPI_ISteamMatchmakingServers_RequestFriendsServerList( ISteamMatchmakingServers* self, AppId_t iApp, MatchMakingKeyValuePair_t ** ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse * pRequestServersResponse ); +S_API HServerListRequest SteamAPI_ISteamMatchmakingServers_RequestFavoritesServerList( ISteamMatchmakingServers* self, AppId_t iApp, MatchMakingKeyValuePair_t ** ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse * pRequestServersResponse ); +S_API HServerListRequest SteamAPI_ISteamMatchmakingServers_RequestHistoryServerList( ISteamMatchmakingServers* self, AppId_t iApp, MatchMakingKeyValuePair_t ** ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse * pRequestServersResponse ); +S_API HServerListRequest SteamAPI_ISteamMatchmakingServers_RequestSpectatorServerList( ISteamMatchmakingServers* self, AppId_t iApp, MatchMakingKeyValuePair_t ** ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse * pRequestServersResponse ); +S_API void SteamAPI_ISteamMatchmakingServers_ReleaseRequest( ISteamMatchmakingServers* self, HServerListRequest hServerListRequest ); +S_API gameserveritem_t * SteamAPI_ISteamMatchmakingServers_GetServerDetails( ISteamMatchmakingServers* self, HServerListRequest hRequest, int iServer ); +S_API void SteamAPI_ISteamMatchmakingServers_CancelQuery( ISteamMatchmakingServers* self, HServerListRequest hRequest ); +S_API void SteamAPI_ISteamMatchmakingServers_RefreshQuery( ISteamMatchmakingServers* self, HServerListRequest hRequest ); +S_API bool SteamAPI_ISteamMatchmakingServers_IsRefreshing( ISteamMatchmakingServers* self, HServerListRequest hRequest ); +S_API int SteamAPI_ISteamMatchmakingServers_GetServerCount( ISteamMatchmakingServers* self, HServerListRequest hRequest ); +S_API void SteamAPI_ISteamMatchmakingServers_RefreshServer( ISteamMatchmakingServers* self, HServerListRequest hRequest, int iServer ); +S_API HServerQuery SteamAPI_ISteamMatchmakingServers_PingServer( ISteamMatchmakingServers* self, uint32 unIP, uint16 usPort, ISteamMatchmakingPingResponse * pRequestServersResponse ); +S_API HServerQuery SteamAPI_ISteamMatchmakingServers_PlayerDetails( ISteamMatchmakingServers* self, uint32 unIP, uint16 usPort, ISteamMatchmakingPlayersResponse * pRequestServersResponse ); +S_API HServerQuery SteamAPI_ISteamMatchmakingServers_ServerRules( ISteamMatchmakingServers* self, uint32 unIP, uint16 usPort, ISteamMatchmakingRulesResponse * pRequestServersResponse ); +S_API void SteamAPI_ISteamMatchmakingServers_CancelServerQuery( ISteamMatchmakingServers* self, HServerQuery hServerQuery ); + +// ISteamGameSearch + +// A versioned accessor is exported by the library +S_API ISteamGameSearch *SteamAPI_SteamGameSearch_v001(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamGameSearch(), but using this ensures that you are using a matching library. +inline ISteamGameSearch *SteamAPI_SteamGameSearch() { return SteamAPI_SteamGameSearch_v001(); } +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_AddGameSearchParams( ISteamGameSearch* self, const char * pchKeyToFind, const char * pchValuesToFind ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_SearchForGameWithLobby( ISteamGameSearch* self, uint64_steamid steamIDLobby, int nPlayerMin, int nPlayerMax ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_SearchForGameSolo( ISteamGameSearch* self, int nPlayerMin, int nPlayerMax ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_AcceptGame( ISteamGameSearch* self ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_DeclineGame( ISteamGameSearch* self ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_RetrieveConnectionDetails( ISteamGameSearch* self, uint64_steamid steamIDHost, char * pchConnectionDetails, int cubConnectionDetails ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_EndGameSearch( ISteamGameSearch* self ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_SetGameHostParams( ISteamGameSearch* self, const char * pchKey, const char * pchValue ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_SetConnectionDetails( ISteamGameSearch* self, const char * pchConnectionDetails, int cubConnectionDetails ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_RequestPlayersForGame( ISteamGameSearch* self, int nPlayerMin, int nPlayerMax, int nMaxTeamSize ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_HostConfirmGameStart( ISteamGameSearch* self, uint64 ullUniqueGameID ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_CancelRequestPlayersForGame( ISteamGameSearch* self ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_SubmitPlayerResult( ISteamGameSearch* self, uint64 ullUniqueGameID, uint64_steamid steamIDPlayer, EPlayerResult_t EPlayerResult ); +S_API EGameSearchErrorCode_t SteamAPI_ISteamGameSearch_EndGame( ISteamGameSearch* self, uint64 ullUniqueGameID ); + +// ISteamParties + +// A versioned accessor is exported by the library +S_API ISteamParties *SteamAPI_SteamParties_v002(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamParties(), but using this ensures that you are using a matching library. +inline ISteamParties *SteamAPI_SteamParties() { return SteamAPI_SteamParties_v002(); } +S_API uint32 SteamAPI_ISteamParties_GetNumActiveBeacons( ISteamParties* self ); +S_API PartyBeaconID_t SteamAPI_ISteamParties_GetBeaconByIndex( ISteamParties* self, uint32 unIndex ); +S_API bool SteamAPI_ISteamParties_GetBeaconDetails( ISteamParties* self, PartyBeaconID_t ulBeaconID, CSteamID * pSteamIDBeaconOwner, SteamPartyBeaconLocation_t * pLocation, char * pchMetadata, int cchMetadata ); +S_API SteamAPICall_t SteamAPI_ISteamParties_JoinParty( ISteamParties* self, PartyBeaconID_t ulBeaconID ); +S_API bool SteamAPI_ISteamParties_GetNumAvailableBeaconLocations( ISteamParties* self, uint32 * puNumLocations ); +S_API bool SteamAPI_ISteamParties_GetAvailableBeaconLocations( ISteamParties* self, SteamPartyBeaconLocation_t * pLocationList, uint32 uMaxNumLocations ); +S_API SteamAPICall_t SteamAPI_ISteamParties_CreateBeacon( ISteamParties* self, uint32 unOpenSlots, SteamPartyBeaconLocation_t * pBeaconLocation, const char * pchConnectString, const char * pchMetadata ); +S_API void SteamAPI_ISteamParties_OnReservationCompleted( ISteamParties* self, PartyBeaconID_t ulBeacon, uint64_steamid steamIDUser ); +S_API void SteamAPI_ISteamParties_CancelReservation( ISteamParties* self, PartyBeaconID_t ulBeacon, uint64_steamid steamIDUser ); +S_API SteamAPICall_t SteamAPI_ISteamParties_ChangeNumOpenSlots( ISteamParties* self, PartyBeaconID_t ulBeacon, uint32 unOpenSlots ); +S_API bool SteamAPI_ISteamParties_DestroyBeacon( ISteamParties* self, PartyBeaconID_t ulBeacon ); +S_API bool SteamAPI_ISteamParties_GetBeaconLocationData( ISteamParties* self, SteamPartyBeaconLocation_t BeaconLocation, ESteamPartyBeaconLocationData eData, char * pchDataStringOut, int cchDataStringOut ); + +// ISteamRemoteStorage + +// A versioned accessor is exported by the library +S_API ISteamRemoteStorage *SteamAPI_SteamRemoteStorage_v016(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamRemoteStorage(), but using this ensures that you are using a matching library. +inline ISteamRemoteStorage *SteamAPI_SteamRemoteStorage() { return SteamAPI_SteamRemoteStorage_v016(); } +S_API bool SteamAPI_ISteamRemoteStorage_FileWrite( ISteamRemoteStorage* self, const char * pchFile, const void * pvData, int32 cubData ); +S_API int32 SteamAPI_ISteamRemoteStorage_FileRead( ISteamRemoteStorage* self, const char * pchFile, void * pvData, int32 cubDataToRead ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_FileWriteAsync( ISteamRemoteStorage* self, const char * pchFile, const void * pvData, uint32 cubData ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_FileReadAsync( ISteamRemoteStorage* self, const char * pchFile, uint32 nOffset, uint32 cubToRead ); +S_API bool SteamAPI_ISteamRemoteStorage_FileReadAsyncComplete( ISteamRemoteStorage* self, SteamAPICall_t hReadCall, void * pvBuffer, uint32 cubToRead ); +S_API bool SteamAPI_ISteamRemoteStorage_FileForget( ISteamRemoteStorage* self, const char * pchFile ); +S_API bool SteamAPI_ISteamRemoteStorage_FileDelete( ISteamRemoteStorage* self, const char * pchFile ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_FileShare( ISteamRemoteStorage* self, const char * pchFile ); +S_API bool SteamAPI_ISteamRemoteStorage_SetSyncPlatforms( ISteamRemoteStorage* self, const char * pchFile, ERemoteStoragePlatform eRemoteStoragePlatform ); +S_API UGCFileWriteStreamHandle_t SteamAPI_ISteamRemoteStorage_FileWriteStreamOpen( ISteamRemoteStorage* self, const char * pchFile ); +S_API bool SteamAPI_ISteamRemoteStorage_FileWriteStreamWriteChunk( ISteamRemoteStorage* self, UGCFileWriteStreamHandle_t writeHandle, const void * pvData, int32 cubData ); +S_API bool SteamAPI_ISteamRemoteStorage_FileWriteStreamClose( ISteamRemoteStorage* self, UGCFileWriteStreamHandle_t writeHandle ); +S_API bool SteamAPI_ISteamRemoteStorage_FileWriteStreamCancel( ISteamRemoteStorage* self, UGCFileWriteStreamHandle_t writeHandle ); +S_API bool SteamAPI_ISteamRemoteStorage_FileExists( ISteamRemoteStorage* self, const char * pchFile ); +S_API bool SteamAPI_ISteamRemoteStorage_FilePersisted( ISteamRemoteStorage* self, const char * pchFile ); +S_API int32 SteamAPI_ISteamRemoteStorage_GetFileSize( ISteamRemoteStorage* self, const char * pchFile ); +S_API int64 SteamAPI_ISteamRemoteStorage_GetFileTimestamp( ISteamRemoteStorage* self, const char * pchFile ); +S_API ERemoteStoragePlatform SteamAPI_ISteamRemoteStorage_GetSyncPlatforms( ISteamRemoteStorage* self, const char * pchFile ); +S_API int32 SteamAPI_ISteamRemoteStorage_GetFileCount( ISteamRemoteStorage* self ); +S_API const char * SteamAPI_ISteamRemoteStorage_GetFileNameAndSize( ISteamRemoteStorage* self, int iFile, int32 * pnFileSizeInBytes ); +S_API bool SteamAPI_ISteamRemoteStorage_GetQuota( ISteamRemoteStorage* self, uint64 * pnTotalBytes, uint64 * puAvailableBytes ); +S_API bool SteamAPI_ISteamRemoteStorage_IsCloudEnabledForAccount( ISteamRemoteStorage* self ); +S_API bool SteamAPI_ISteamRemoteStorage_IsCloudEnabledForApp( ISteamRemoteStorage* self ); +S_API void SteamAPI_ISteamRemoteStorage_SetCloudEnabledForApp( ISteamRemoteStorage* self, bool bEnabled ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_UGCDownload( ISteamRemoteStorage* self, UGCHandle_t hContent, uint32 unPriority ); +S_API bool SteamAPI_ISteamRemoteStorage_GetUGCDownloadProgress( ISteamRemoteStorage* self, UGCHandle_t hContent, int32 * pnBytesDownloaded, int32 * pnBytesExpected ); +S_API bool SteamAPI_ISteamRemoteStorage_GetUGCDetails( ISteamRemoteStorage* self, UGCHandle_t hContent, AppId_t * pnAppID, char ** ppchName, int32 * pnFileSizeInBytes, CSteamID * pSteamIDOwner ); +S_API int32 SteamAPI_ISteamRemoteStorage_UGCRead( ISteamRemoteStorage* self, UGCHandle_t hContent, void * pvData, int32 cubDataToRead, uint32 cOffset, EUGCReadAction eAction ); +S_API int32 SteamAPI_ISteamRemoteStorage_GetCachedUGCCount( ISteamRemoteStorage* self ); +S_API UGCHandle_t SteamAPI_ISteamRemoteStorage_GetCachedUGCHandle( ISteamRemoteStorage* self, int32 iCachedContent ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_PublishWorkshopFile( ISteamRemoteStorage* self, const char * pchFile, const char * pchPreviewFile, AppId_t nConsumerAppId, const char * pchTitle, const char * pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t * pTags, EWorkshopFileType eWorkshopFileType ); +S_API PublishedFileUpdateHandle_t SteamAPI_ISteamRemoteStorage_CreatePublishedFileUpdateRequest( ISteamRemoteStorage* self, PublishedFileId_t unPublishedFileId ); +S_API bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileFile( ISteamRemoteStorage* self, PublishedFileUpdateHandle_t updateHandle, const char * pchFile ); +S_API bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFilePreviewFile( ISteamRemoteStorage* self, PublishedFileUpdateHandle_t updateHandle, const char * pchPreviewFile ); +S_API bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileTitle( ISteamRemoteStorage* self, PublishedFileUpdateHandle_t updateHandle, const char * pchTitle ); +S_API bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileDescription( ISteamRemoteStorage* self, PublishedFileUpdateHandle_t updateHandle, const char * pchDescription ); +S_API bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileVisibility( ISteamRemoteStorage* self, PublishedFileUpdateHandle_t updateHandle, ERemoteStoragePublishedFileVisibility eVisibility ); +S_API bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileTags( ISteamRemoteStorage* self, PublishedFileUpdateHandle_t updateHandle, SteamParamStringArray_t * pTags ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_CommitPublishedFileUpdate( ISteamRemoteStorage* self, PublishedFileUpdateHandle_t updateHandle ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_GetPublishedFileDetails( ISteamRemoteStorage* self, PublishedFileId_t unPublishedFileId, uint32 unMaxSecondsOld ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_DeletePublishedFile( ISteamRemoteStorage* self, PublishedFileId_t unPublishedFileId ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_EnumerateUserPublishedFiles( ISteamRemoteStorage* self, uint32 unStartIndex ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_SubscribePublishedFile( ISteamRemoteStorage* self, PublishedFileId_t unPublishedFileId ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_EnumerateUserSubscribedFiles( ISteamRemoteStorage* self, uint32 unStartIndex ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_UnsubscribePublishedFile( ISteamRemoteStorage* self, PublishedFileId_t unPublishedFileId ); +S_API bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileSetChangeDescription( ISteamRemoteStorage* self, PublishedFileUpdateHandle_t updateHandle, const char * pchChangeDescription ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_GetPublishedItemVoteDetails( ISteamRemoteStorage* self, PublishedFileId_t unPublishedFileId ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_UpdateUserPublishedItemVote( ISteamRemoteStorage* self, PublishedFileId_t unPublishedFileId, bool bVoteUp ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_GetUserPublishedItemVoteDetails( ISteamRemoteStorage* self, PublishedFileId_t unPublishedFileId ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_EnumerateUserSharedWorkshopFiles( ISteamRemoteStorage* self, uint64_steamid steamId, uint32 unStartIndex, SteamParamStringArray_t * pRequiredTags, SteamParamStringArray_t * pExcludedTags ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_PublishVideo( ISteamRemoteStorage* self, EWorkshopVideoProvider eVideoProvider, const char * pchVideoAccount, const char * pchVideoIdentifier, const char * pchPreviewFile, AppId_t nConsumerAppId, const char * pchTitle, const char * pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t * pTags ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_SetUserPublishedFileAction( ISteamRemoteStorage* self, PublishedFileId_t unPublishedFileId, EWorkshopFileAction eAction ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_EnumeratePublishedFilesByUserAction( ISteamRemoteStorage* self, EWorkshopFileAction eAction, uint32 unStartIndex ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_EnumeratePublishedWorkshopFiles( ISteamRemoteStorage* self, EWorkshopEnumerationType eEnumerationType, uint32 unStartIndex, uint32 unCount, uint32 unDays, SteamParamStringArray_t * pTags, SteamParamStringArray_t * pUserTags ); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_UGCDownloadToLocation( ISteamRemoteStorage* self, UGCHandle_t hContent, const char * pchLocation, uint32 unPriority ); +S_API int32 SteamAPI_ISteamRemoteStorage_GetLocalFileChangeCount( ISteamRemoteStorage* self ); +S_API const char * SteamAPI_ISteamRemoteStorage_GetLocalFileChange( ISteamRemoteStorage* self, int iFile, ERemoteStorageLocalFileChange * pEChangeType, ERemoteStorageFilePathType * pEFilePathType ); +S_API bool SteamAPI_ISteamRemoteStorage_BeginFileWriteBatch( ISteamRemoteStorage* self ); +S_API bool SteamAPI_ISteamRemoteStorage_EndFileWriteBatch( ISteamRemoteStorage* self ); + +// ISteamUserStats + +// A versioned accessor is exported by the library +S_API ISteamUserStats *SteamAPI_SteamUserStats_v012(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamUserStats(), but using this ensures that you are using a matching library. +inline ISteamUserStats *SteamAPI_SteamUserStats() { return SteamAPI_SteamUserStats_v012(); } +S_API bool SteamAPI_ISteamUserStats_RequestCurrentStats( ISteamUserStats* self ); +S_API bool SteamAPI_ISteamUserStats_GetStatInt32( ISteamUserStats* self, const char * pchName, int32 * pData ); +S_API bool SteamAPI_ISteamUserStats_GetStatFloat( ISteamUserStats* self, const char * pchName, float * pData ); +S_API bool SteamAPI_ISteamUserStats_SetStatInt32( ISteamUserStats* self, const char * pchName, int32 nData ); +S_API bool SteamAPI_ISteamUserStats_SetStatFloat( ISteamUserStats* self, const char * pchName, float fData ); +S_API bool SteamAPI_ISteamUserStats_UpdateAvgRateStat( ISteamUserStats* self, const char * pchName, float flCountThisSession, double dSessionLength ); +S_API bool SteamAPI_ISteamUserStats_GetAchievement( ISteamUserStats* self, const char * pchName, bool * pbAchieved ); +S_API bool SteamAPI_ISteamUserStats_SetAchievement( ISteamUserStats* self, const char * pchName ); +S_API bool SteamAPI_ISteamUserStats_ClearAchievement( ISteamUserStats* self, const char * pchName ); +S_API bool SteamAPI_ISteamUserStats_GetAchievementAndUnlockTime( ISteamUserStats* self, const char * pchName, bool * pbAchieved, uint32 * punUnlockTime ); +S_API bool SteamAPI_ISteamUserStats_StoreStats( ISteamUserStats* self ); +S_API int SteamAPI_ISteamUserStats_GetAchievementIcon( ISteamUserStats* self, const char * pchName ); +S_API const char * SteamAPI_ISteamUserStats_GetAchievementDisplayAttribute( ISteamUserStats* self, const char * pchName, const char * pchKey ); +S_API bool SteamAPI_ISteamUserStats_IndicateAchievementProgress( ISteamUserStats* self, const char * pchName, uint32 nCurProgress, uint32 nMaxProgress ); +S_API uint32 SteamAPI_ISteamUserStats_GetNumAchievements( ISteamUserStats* self ); +S_API const char * SteamAPI_ISteamUserStats_GetAchievementName( ISteamUserStats* self, uint32 iAchievement ); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_RequestUserStats( ISteamUserStats* self, uint64_steamid steamIDUser ); +S_API bool SteamAPI_ISteamUserStats_GetUserStatInt32( ISteamUserStats* self, uint64_steamid steamIDUser, const char * pchName, int32 * pData ); +S_API bool SteamAPI_ISteamUserStats_GetUserStatFloat( ISteamUserStats* self, uint64_steamid steamIDUser, const char * pchName, float * pData ); +S_API bool SteamAPI_ISteamUserStats_GetUserAchievement( ISteamUserStats* self, uint64_steamid steamIDUser, const char * pchName, bool * pbAchieved ); +S_API bool SteamAPI_ISteamUserStats_GetUserAchievementAndUnlockTime( ISteamUserStats* self, uint64_steamid steamIDUser, const char * pchName, bool * pbAchieved, uint32 * punUnlockTime ); +S_API bool SteamAPI_ISteamUserStats_ResetAllStats( ISteamUserStats* self, bool bAchievementsToo ); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_FindOrCreateLeaderboard( ISteamUserStats* self, const char * pchLeaderboardName, ELeaderboardSortMethod eLeaderboardSortMethod, ELeaderboardDisplayType eLeaderboardDisplayType ); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_FindLeaderboard( ISteamUserStats* self, const char * pchLeaderboardName ); +S_API const char * SteamAPI_ISteamUserStats_GetLeaderboardName( ISteamUserStats* self, SteamLeaderboard_t hSteamLeaderboard ); +S_API int SteamAPI_ISteamUserStats_GetLeaderboardEntryCount( ISteamUserStats* self, SteamLeaderboard_t hSteamLeaderboard ); +S_API ELeaderboardSortMethod SteamAPI_ISteamUserStats_GetLeaderboardSortMethod( ISteamUserStats* self, SteamLeaderboard_t hSteamLeaderboard ); +S_API ELeaderboardDisplayType SteamAPI_ISteamUserStats_GetLeaderboardDisplayType( ISteamUserStats* self, SteamLeaderboard_t hSteamLeaderboard ); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_DownloadLeaderboardEntries( ISteamUserStats* self, SteamLeaderboard_t hSteamLeaderboard, ELeaderboardDataRequest eLeaderboardDataRequest, int nRangeStart, int nRangeEnd ); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_DownloadLeaderboardEntriesForUsers( ISteamUserStats* self, SteamLeaderboard_t hSteamLeaderboard, CSteamID * prgUsers, int cUsers ); +S_API bool SteamAPI_ISteamUserStats_GetDownloadedLeaderboardEntry( ISteamUserStats* self, SteamLeaderboardEntries_t hSteamLeaderboardEntries, int index, LeaderboardEntry_t * pLeaderboardEntry, int32 * pDetails, int cDetailsMax ); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_UploadLeaderboardScore( ISteamUserStats* self, SteamLeaderboard_t hSteamLeaderboard, ELeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, int32 nScore, const int32 * pScoreDetails, int cScoreDetailsCount ); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_AttachLeaderboardUGC( ISteamUserStats* self, SteamLeaderboard_t hSteamLeaderboard, UGCHandle_t hUGC ); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_GetNumberOfCurrentPlayers( ISteamUserStats* self ); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_RequestGlobalAchievementPercentages( ISteamUserStats* self ); +S_API int SteamAPI_ISteamUserStats_GetMostAchievedAchievementInfo( ISteamUserStats* self, char * pchName, uint32 unNameBufLen, float * pflPercent, bool * pbAchieved ); +S_API int SteamAPI_ISteamUserStats_GetNextMostAchievedAchievementInfo( ISteamUserStats* self, int iIteratorPrevious, char * pchName, uint32 unNameBufLen, float * pflPercent, bool * pbAchieved ); +S_API bool SteamAPI_ISteamUserStats_GetAchievementAchievedPercent( ISteamUserStats* self, const char * pchName, float * pflPercent ); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_RequestGlobalStats( ISteamUserStats* self, int nHistoryDays ); +S_API bool SteamAPI_ISteamUserStats_GetGlobalStatInt64( ISteamUserStats* self, const char * pchStatName, int64 * pData ); +S_API bool SteamAPI_ISteamUserStats_GetGlobalStatDouble( ISteamUserStats* self, const char * pchStatName, double * pData ); +S_API int32 SteamAPI_ISteamUserStats_GetGlobalStatHistoryInt64( ISteamUserStats* self, const char * pchStatName, int64 * pData, uint32 cubData ); +S_API int32 SteamAPI_ISteamUserStats_GetGlobalStatHistoryDouble( ISteamUserStats* self, const char * pchStatName, double * pData, uint32 cubData ); +S_API bool SteamAPI_ISteamUserStats_GetAchievementProgressLimitsInt32( ISteamUserStats* self, const char * pchName, int32 * pnMinProgress, int32 * pnMaxProgress ); +S_API bool SteamAPI_ISteamUserStats_GetAchievementProgressLimitsFloat( ISteamUserStats* self, const char * pchName, float * pfMinProgress, float * pfMaxProgress ); + +// ISteamApps + +// A versioned accessor is exported by the library +S_API ISteamApps *SteamAPI_SteamApps_v008(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamApps(), but using this ensures that you are using a matching library. +inline ISteamApps *SteamAPI_SteamApps() { return SteamAPI_SteamApps_v008(); } +S_API bool SteamAPI_ISteamApps_BIsSubscribed( ISteamApps* self ); +S_API bool SteamAPI_ISteamApps_BIsLowViolence( ISteamApps* self ); +S_API bool SteamAPI_ISteamApps_BIsCybercafe( ISteamApps* self ); +S_API bool SteamAPI_ISteamApps_BIsVACBanned( ISteamApps* self ); +S_API const char * SteamAPI_ISteamApps_GetCurrentGameLanguage( ISteamApps* self ); +S_API const char * SteamAPI_ISteamApps_GetAvailableGameLanguages( ISteamApps* self ); +S_API bool SteamAPI_ISteamApps_BIsSubscribedApp( ISteamApps* self, AppId_t appID ); +S_API bool SteamAPI_ISteamApps_BIsDlcInstalled( ISteamApps* self, AppId_t appID ); +S_API uint32 SteamAPI_ISteamApps_GetEarliestPurchaseUnixTime( ISteamApps* self, AppId_t nAppID ); +S_API bool SteamAPI_ISteamApps_BIsSubscribedFromFreeWeekend( ISteamApps* self ); +S_API int SteamAPI_ISteamApps_GetDLCCount( ISteamApps* self ); +S_API bool SteamAPI_ISteamApps_BGetDLCDataByIndex( ISteamApps* self, int iDLC, AppId_t * pAppID, bool * pbAvailable, char * pchName, int cchNameBufferSize ); +S_API void SteamAPI_ISteamApps_InstallDLC( ISteamApps* self, AppId_t nAppID ); +S_API void SteamAPI_ISteamApps_UninstallDLC( ISteamApps* self, AppId_t nAppID ); +S_API void SteamAPI_ISteamApps_RequestAppProofOfPurchaseKey( ISteamApps* self, AppId_t nAppID ); +S_API bool SteamAPI_ISteamApps_GetCurrentBetaName( ISteamApps* self, char * pchName, int cchNameBufferSize ); +S_API bool SteamAPI_ISteamApps_MarkContentCorrupt( ISteamApps* self, bool bMissingFilesOnly ); +S_API uint32 SteamAPI_ISteamApps_GetInstalledDepots( ISteamApps* self, AppId_t appID, DepotId_t * pvecDepots, uint32 cMaxDepots ); +S_API uint32 SteamAPI_ISteamApps_GetAppInstallDir( ISteamApps* self, AppId_t appID, char * pchFolder, uint32 cchFolderBufferSize ); +S_API bool SteamAPI_ISteamApps_BIsAppInstalled( ISteamApps* self, AppId_t appID ); +S_API uint64_steamid SteamAPI_ISteamApps_GetAppOwner( ISteamApps* self ); +S_API const char * SteamAPI_ISteamApps_GetLaunchQueryParam( ISteamApps* self, const char * pchKey ); +S_API bool SteamAPI_ISteamApps_GetDlcDownloadProgress( ISteamApps* self, AppId_t nAppID, uint64 * punBytesDownloaded, uint64 * punBytesTotal ); +S_API int SteamAPI_ISteamApps_GetAppBuildId( ISteamApps* self ); +S_API void SteamAPI_ISteamApps_RequestAllProofOfPurchaseKeys( ISteamApps* self ); +S_API SteamAPICall_t SteamAPI_ISteamApps_GetFileDetails( ISteamApps* self, const char * pszFileName ); +S_API int SteamAPI_ISteamApps_GetLaunchCommandLine( ISteamApps* self, char * pszCommandLine, int cubCommandLine ); +S_API bool SteamAPI_ISteamApps_BIsSubscribedFromFamilySharing( ISteamApps* self ); +S_API bool SteamAPI_ISteamApps_BIsTimedTrial( ISteamApps* self, uint32 * punSecondsAllowed, uint32 * punSecondsPlayed ); +S_API bool SteamAPI_ISteamApps_SetDlcContext( ISteamApps* self, AppId_t nAppID ); + +// ISteamNetworking + +// A versioned accessor is exported by the library +S_API ISteamNetworking *SteamAPI_SteamNetworking_v006(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamNetworking(), but using this ensures that you are using a matching library. +inline ISteamNetworking *SteamAPI_SteamNetworking() { return SteamAPI_SteamNetworking_v006(); } + +// A versioned accessor is exported by the library +S_API ISteamNetworking *SteamAPI_SteamGameServerNetworking_v006(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServerNetworking(), but using this ensures that you are using a matching library. +inline ISteamNetworking *SteamAPI_SteamGameServerNetworking() { return SteamAPI_SteamGameServerNetworking_v006(); } +S_API bool SteamAPI_ISteamNetworking_SendP2PPacket( ISteamNetworking* self, uint64_steamid steamIDRemote, const void * pubData, uint32 cubData, EP2PSend eP2PSendType, int nChannel ); +S_API bool SteamAPI_ISteamNetworking_IsP2PPacketAvailable( ISteamNetworking* self, uint32 * pcubMsgSize, int nChannel ); +S_API bool SteamAPI_ISteamNetworking_ReadP2PPacket( ISteamNetworking* self, void * pubDest, uint32 cubDest, uint32 * pcubMsgSize, CSteamID * psteamIDRemote, int nChannel ); +S_API bool SteamAPI_ISteamNetworking_AcceptP2PSessionWithUser( ISteamNetworking* self, uint64_steamid steamIDRemote ); +S_API bool SteamAPI_ISteamNetworking_CloseP2PSessionWithUser( ISteamNetworking* self, uint64_steamid steamIDRemote ); +S_API bool SteamAPI_ISteamNetworking_CloseP2PChannelWithUser( ISteamNetworking* self, uint64_steamid steamIDRemote, int nChannel ); +S_API bool SteamAPI_ISteamNetworking_GetP2PSessionState( ISteamNetworking* self, uint64_steamid steamIDRemote, P2PSessionState_t * pConnectionState ); +S_API bool SteamAPI_ISteamNetworking_AllowP2PPacketRelay( ISteamNetworking* self, bool bAllow ); +S_API SNetListenSocket_t SteamAPI_ISteamNetworking_CreateListenSocket( ISteamNetworking* self, int nVirtualP2PPort, SteamIPAddress_t nIP, uint16 nPort, bool bAllowUseOfPacketRelay ); +S_API SNetSocket_t SteamAPI_ISteamNetworking_CreateP2PConnectionSocket( ISteamNetworking* self, uint64_steamid steamIDTarget, int nVirtualPort, int nTimeoutSec, bool bAllowUseOfPacketRelay ); +S_API SNetSocket_t SteamAPI_ISteamNetworking_CreateConnectionSocket( ISteamNetworking* self, SteamIPAddress_t nIP, uint16 nPort, int nTimeoutSec ); +S_API bool SteamAPI_ISteamNetworking_DestroySocket( ISteamNetworking* self, SNetSocket_t hSocket, bool bNotifyRemoteEnd ); +S_API bool SteamAPI_ISteamNetworking_DestroyListenSocket( ISteamNetworking* self, SNetListenSocket_t hSocket, bool bNotifyRemoteEnd ); +S_API bool SteamAPI_ISteamNetworking_SendDataOnSocket( ISteamNetworking* self, SNetSocket_t hSocket, void * pubData, uint32 cubData, bool bReliable ); +S_API bool SteamAPI_ISteamNetworking_IsDataAvailableOnSocket( ISteamNetworking* self, SNetSocket_t hSocket, uint32 * pcubMsgSize ); +S_API bool SteamAPI_ISteamNetworking_RetrieveDataFromSocket( ISteamNetworking* self, SNetSocket_t hSocket, void * pubDest, uint32 cubDest, uint32 * pcubMsgSize ); +S_API bool SteamAPI_ISteamNetworking_IsDataAvailable( ISteamNetworking* self, SNetListenSocket_t hListenSocket, uint32 * pcubMsgSize, SNetSocket_t * phSocket ); +S_API bool SteamAPI_ISteamNetworking_RetrieveData( ISteamNetworking* self, SNetListenSocket_t hListenSocket, void * pubDest, uint32 cubDest, uint32 * pcubMsgSize, SNetSocket_t * phSocket ); +S_API bool SteamAPI_ISteamNetworking_GetSocketInfo( ISteamNetworking* self, SNetSocket_t hSocket, CSteamID * pSteamIDRemote, int * peSocketStatus, SteamIPAddress_t * punIPRemote, uint16 * punPortRemote ); +S_API bool SteamAPI_ISteamNetworking_GetListenSocketInfo( ISteamNetworking* self, SNetListenSocket_t hListenSocket, SteamIPAddress_t * pnIP, uint16 * pnPort ); +S_API ESNetSocketConnectionType SteamAPI_ISteamNetworking_GetSocketConnectionType( ISteamNetworking* self, SNetSocket_t hSocket ); +S_API int SteamAPI_ISteamNetworking_GetMaxPacketSize( ISteamNetworking* self, SNetSocket_t hSocket ); + +// ISteamScreenshots + +// A versioned accessor is exported by the library +S_API ISteamScreenshots *SteamAPI_SteamScreenshots_v003(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamScreenshots(), but using this ensures that you are using a matching library. +inline ISteamScreenshots *SteamAPI_SteamScreenshots() { return SteamAPI_SteamScreenshots_v003(); } +S_API ScreenshotHandle SteamAPI_ISteamScreenshots_WriteScreenshot( ISteamScreenshots* self, void * pubRGB, uint32 cubRGB, int nWidth, int nHeight ); +S_API ScreenshotHandle SteamAPI_ISteamScreenshots_AddScreenshotToLibrary( ISteamScreenshots* self, const char * pchFilename, const char * pchThumbnailFilename, int nWidth, int nHeight ); +S_API void SteamAPI_ISteamScreenshots_TriggerScreenshot( ISteamScreenshots* self ); +S_API void SteamAPI_ISteamScreenshots_HookScreenshots( ISteamScreenshots* self, bool bHook ); +S_API bool SteamAPI_ISteamScreenshots_SetLocation( ISteamScreenshots* self, ScreenshotHandle hScreenshot, const char * pchLocation ); +S_API bool SteamAPI_ISteamScreenshots_TagUser( ISteamScreenshots* self, ScreenshotHandle hScreenshot, uint64_steamid steamID ); +S_API bool SteamAPI_ISteamScreenshots_TagPublishedFile( ISteamScreenshots* self, ScreenshotHandle hScreenshot, PublishedFileId_t unPublishedFileID ); +S_API bool SteamAPI_ISteamScreenshots_IsScreenshotsHooked( ISteamScreenshots* self ); +S_API ScreenshotHandle SteamAPI_ISteamScreenshots_AddVRScreenshotToLibrary( ISteamScreenshots* self, EVRScreenshotType eType, const char * pchFilename, const char * pchVRFilename ); + +// ISteamMusic + +// A versioned accessor is exported by the library +S_API ISteamMusic *SteamAPI_SteamMusic_v001(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamMusic(), but using this ensures that you are using a matching library. +inline ISteamMusic *SteamAPI_SteamMusic() { return SteamAPI_SteamMusic_v001(); } +S_API bool SteamAPI_ISteamMusic_BIsEnabled( ISteamMusic* self ); +S_API bool SteamAPI_ISteamMusic_BIsPlaying( ISteamMusic* self ); +S_API AudioPlayback_Status SteamAPI_ISteamMusic_GetPlaybackStatus( ISteamMusic* self ); +S_API void SteamAPI_ISteamMusic_Play( ISteamMusic* self ); +S_API void SteamAPI_ISteamMusic_Pause( ISteamMusic* self ); +S_API void SteamAPI_ISteamMusic_PlayPrevious( ISteamMusic* self ); +S_API void SteamAPI_ISteamMusic_PlayNext( ISteamMusic* self ); +S_API void SteamAPI_ISteamMusic_SetVolume( ISteamMusic* self, float flVolume ); +S_API float SteamAPI_ISteamMusic_GetVolume( ISteamMusic* self ); + +// ISteamMusicRemote + +// A versioned accessor is exported by the library +S_API ISteamMusicRemote *SteamAPI_SteamMusicRemote_v001(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamMusicRemote(), but using this ensures that you are using a matching library. +inline ISteamMusicRemote *SteamAPI_SteamMusicRemote() { return SteamAPI_SteamMusicRemote_v001(); } +S_API bool SteamAPI_ISteamMusicRemote_RegisterSteamMusicRemote( ISteamMusicRemote* self, const char * pchName ); +S_API bool SteamAPI_ISteamMusicRemote_DeregisterSteamMusicRemote( ISteamMusicRemote* self ); +S_API bool SteamAPI_ISteamMusicRemote_BIsCurrentMusicRemote( ISteamMusicRemote* self ); +S_API bool SteamAPI_ISteamMusicRemote_BActivationSuccess( ISteamMusicRemote* self, bool bValue ); +S_API bool SteamAPI_ISteamMusicRemote_SetDisplayName( ISteamMusicRemote* self, const char * pchDisplayName ); +S_API bool SteamAPI_ISteamMusicRemote_SetPNGIcon_64x64( ISteamMusicRemote* self, void * pvBuffer, uint32 cbBufferLength ); +S_API bool SteamAPI_ISteamMusicRemote_EnablePlayPrevious( ISteamMusicRemote* self, bool bValue ); +S_API bool SteamAPI_ISteamMusicRemote_EnablePlayNext( ISteamMusicRemote* self, bool bValue ); +S_API bool SteamAPI_ISteamMusicRemote_EnableShuffled( ISteamMusicRemote* self, bool bValue ); +S_API bool SteamAPI_ISteamMusicRemote_EnableLooped( ISteamMusicRemote* self, bool bValue ); +S_API bool SteamAPI_ISteamMusicRemote_EnableQueue( ISteamMusicRemote* self, bool bValue ); +S_API bool SteamAPI_ISteamMusicRemote_EnablePlaylists( ISteamMusicRemote* self, bool bValue ); +S_API bool SteamAPI_ISteamMusicRemote_UpdatePlaybackStatus( ISteamMusicRemote* self, AudioPlayback_Status nStatus ); +S_API bool SteamAPI_ISteamMusicRemote_UpdateShuffled( ISteamMusicRemote* self, bool bValue ); +S_API bool SteamAPI_ISteamMusicRemote_UpdateLooped( ISteamMusicRemote* self, bool bValue ); +S_API bool SteamAPI_ISteamMusicRemote_UpdateVolume( ISteamMusicRemote* self, float flValue ); +S_API bool SteamAPI_ISteamMusicRemote_CurrentEntryWillChange( ISteamMusicRemote* self ); +S_API bool SteamAPI_ISteamMusicRemote_CurrentEntryIsAvailable( ISteamMusicRemote* self, bool bAvailable ); +S_API bool SteamAPI_ISteamMusicRemote_UpdateCurrentEntryText( ISteamMusicRemote* self, const char * pchText ); +S_API bool SteamAPI_ISteamMusicRemote_UpdateCurrentEntryElapsedSeconds( ISteamMusicRemote* self, int nValue ); +S_API bool SteamAPI_ISteamMusicRemote_UpdateCurrentEntryCoverArt( ISteamMusicRemote* self, void * pvBuffer, uint32 cbBufferLength ); +S_API bool SteamAPI_ISteamMusicRemote_CurrentEntryDidChange( ISteamMusicRemote* self ); +S_API bool SteamAPI_ISteamMusicRemote_QueueWillChange( ISteamMusicRemote* self ); +S_API bool SteamAPI_ISteamMusicRemote_ResetQueueEntries( ISteamMusicRemote* self ); +S_API bool SteamAPI_ISteamMusicRemote_SetQueueEntry( ISteamMusicRemote* self, int nID, int nPosition, const char * pchEntryText ); +S_API bool SteamAPI_ISteamMusicRemote_SetCurrentQueueEntry( ISteamMusicRemote* self, int nID ); +S_API bool SteamAPI_ISteamMusicRemote_QueueDidChange( ISteamMusicRemote* self ); +S_API bool SteamAPI_ISteamMusicRemote_PlaylistWillChange( ISteamMusicRemote* self ); +S_API bool SteamAPI_ISteamMusicRemote_ResetPlaylistEntries( ISteamMusicRemote* self ); +S_API bool SteamAPI_ISteamMusicRemote_SetPlaylistEntry( ISteamMusicRemote* self, int nID, int nPosition, const char * pchEntryText ); +S_API bool SteamAPI_ISteamMusicRemote_SetCurrentPlaylistEntry( ISteamMusicRemote* self, int nID ); +S_API bool SteamAPI_ISteamMusicRemote_PlaylistDidChange( ISteamMusicRemote* self ); + +// ISteamHTTP + +// A versioned accessor is exported by the library +S_API ISteamHTTP *SteamAPI_SteamHTTP_v003(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamHTTP(), but using this ensures that you are using a matching library. +inline ISteamHTTP *SteamAPI_SteamHTTP() { return SteamAPI_SteamHTTP_v003(); } + +// A versioned accessor is exported by the library +S_API ISteamHTTP *SteamAPI_SteamGameServerHTTP_v003(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServerHTTP(), but using this ensures that you are using a matching library. +inline ISteamHTTP *SteamAPI_SteamGameServerHTTP() { return SteamAPI_SteamGameServerHTTP_v003(); } +S_API HTTPRequestHandle SteamAPI_ISteamHTTP_CreateHTTPRequest( ISteamHTTP* self, EHTTPMethod eHTTPRequestMethod, const char * pchAbsoluteURL ); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestContextValue( ISteamHTTP* self, HTTPRequestHandle hRequest, uint64 ulContextValue ); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestNetworkActivityTimeout( ISteamHTTP* self, HTTPRequestHandle hRequest, uint32 unTimeoutSeconds ); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestHeaderValue( ISteamHTTP* self, HTTPRequestHandle hRequest, const char * pchHeaderName, const char * pchHeaderValue ); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestGetOrPostParameter( ISteamHTTP* self, HTTPRequestHandle hRequest, const char * pchParamName, const char * pchParamValue ); +S_API bool SteamAPI_ISteamHTTP_SendHTTPRequest( ISteamHTTP* self, HTTPRequestHandle hRequest, SteamAPICall_t * pCallHandle ); +S_API bool SteamAPI_ISteamHTTP_SendHTTPRequestAndStreamResponse( ISteamHTTP* self, HTTPRequestHandle hRequest, SteamAPICall_t * pCallHandle ); +S_API bool SteamAPI_ISteamHTTP_DeferHTTPRequest( ISteamHTTP* self, HTTPRequestHandle hRequest ); +S_API bool SteamAPI_ISteamHTTP_PrioritizeHTTPRequest( ISteamHTTP* self, HTTPRequestHandle hRequest ); +S_API bool SteamAPI_ISteamHTTP_GetHTTPResponseHeaderSize( ISteamHTTP* self, HTTPRequestHandle hRequest, const char * pchHeaderName, uint32 * unResponseHeaderSize ); +S_API bool SteamAPI_ISteamHTTP_GetHTTPResponseHeaderValue( ISteamHTTP* self, HTTPRequestHandle hRequest, const char * pchHeaderName, uint8 * pHeaderValueBuffer, uint32 unBufferSize ); +S_API bool SteamAPI_ISteamHTTP_GetHTTPResponseBodySize( ISteamHTTP* self, HTTPRequestHandle hRequest, uint32 * unBodySize ); +S_API bool SteamAPI_ISteamHTTP_GetHTTPResponseBodyData( ISteamHTTP* self, HTTPRequestHandle hRequest, uint8 * pBodyDataBuffer, uint32 unBufferSize ); +S_API bool SteamAPI_ISteamHTTP_GetHTTPStreamingResponseBodyData( ISteamHTTP* self, HTTPRequestHandle hRequest, uint32 cOffset, uint8 * pBodyDataBuffer, uint32 unBufferSize ); +S_API bool SteamAPI_ISteamHTTP_ReleaseHTTPRequest( ISteamHTTP* self, HTTPRequestHandle hRequest ); +S_API bool SteamAPI_ISteamHTTP_GetHTTPDownloadProgressPct( ISteamHTTP* self, HTTPRequestHandle hRequest, float * pflPercentOut ); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestRawPostBody( ISteamHTTP* self, HTTPRequestHandle hRequest, const char * pchContentType, uint8 * pubBody, uint32 unBodyLen ); +S_API HTTPCookieContainerHandle SteamAPI_ISteamHTTP_CreateCookieContainer( ISteamHTTP* self, bool bAllowResponsesToModify ); +S_API bool SteamAPI_ISteamHTTP_ReleaseCookieContainer( ISteamHTTP* self, HTTPCookieContainerHandle hCookieContainer ); +S_API bool SteamAPI_ISteamHTTP_SetCookie( ISteamHTTP* self, HTTPCookieContainerHandle hCookieContainer, const char * pchHost, const char * pchUrl, const char * pchCookie ); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestCookieContainer( ISteamHTTP* self, HTTPRequestHandle hRequest, HTTPCookieContainerHandle hCookieContainer ); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestUserAgentInfo( ISteamHTTP* self, HTTPRequestHandle hRequest, const char * pchUserAgentInfo ); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestRequiresVerifiedCertificate( ISteamHTTP* self, HTTPRequestHandle hRequest, bool bRequireVerifiedCertificate ); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestAbsoluteTimeoutMS( ISteamHTTP* self, HTTPRequestHandle hRequest, uint32 unMilliseconds ); +S_API bool SteamAPI_ISteamHTTP_GetHTTPRequestWasTimedOut( ISteamHTTP* self, HTTPRequestHandle hRequest, bool * pbWasTimedOut ); + +// ISteamInput + +// A versioned accessor is exported by the library +S_API ISteamInput *SteamAPI_SteamInput_v006(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamInput(), but using this ensures that you are using a matching library. +inline ISteamInput *SteamAPI_SteamInput() { return SteamAPI_SteamInput_v006(); } +S_API bool SteamAPI_ISteamInput_Init( ISteamInput* self, bool bExplicitlyCallRunFrame ); +S_API bool SteamAPI_ISteamInput_Shutdown( ISteamInput* self ); +S_API bool SteamAPI_ISteamInput_SetInputActionManifestFilePath( ISteamInput* self, const char * pchInputActionManifestAbsolutePath ); +S_API void SteamAPI_ISteamInput_RunFrame( ISteamInput* self, bool bReservedValue ); +S_API bool SteamAPI_ISteamInput_BWaitForData( ISteamInput* self, bool bWaitForever, uint32 unTimeout ); +S_API bool SteamAPI_ISteamInput_BNewDataAvailable( ISteamInput* self ); +S_API int SteamAPI_ISteamInput_GetConnectedControllers( ISteamInput* self, InputHandle_t * handlesOut ); +S_API void SteamAPI_ISteamInput_EnableDeviceCallbacks( ISteamInput* self ); +S_API void SteamAPI_ISteamInput_EnableActionEventCallbacks( ISteamInput* self, SteamInputActionEventCallbackPointer pCallback ); +S_API InputActionSetHandle_t SteamAPI_ISteamInput_GetActionSetHandle( ISteamInput* self, const char * pszActionSetName ); +S_API void SteamAPI_ISteamInput_ActivateActionSet( ISteamInput* self, InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle ); +S_API InputActionSetHandle_t SteamAPI_ISteamInput_GetCurrentActionSet( ISteamInput* self, InputHandle_t inputHandle ); +S_API void SteamAPI_ISteamInput_ActivateActionSetLayer( ISteamInput* self, InputHandle_t inputHandle, InputActionSetHandle_t actionSetLayerHandle ); +S_API void SteamAPI_ISteamInput_DeactivateActionSetLayer( ISteamInput* self, InputHandle_t inputHandle, InputActionSetHandle_t actionSetLayerHandle ); +S_API void SteamAPI_ISteamInput_DeactivateAllActionSetLayers( ISteamInput* self, InputHandle_t inputHandle ); +S_API int SteamAPI_ISteamInput_GetActiveActionSetLayers( ISteamInput* self, InputHandle_t inputHandle, InputActionSetHandle_t * handlesOut ); +S_API InputDigitalActionHandle_t SteamAPI_ISteamInput_GetDigitalActionHandle( ISteamInput* self, const char * pszActionName ); +S_API InputDigitalActionData_t SteamAPI_ISteamInput_GetDigitalActionData( ISteamInput* self, InputHandle_t inputHandle, InputDigitalActionHandle_t digitalActionHandle ); +S_API int SteamAPI_ISteamInput_GetDigitalActionOrigins( ISteamInput* self, InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle, InputDigitalActionHandle_t digitalActionHandle, EInputActionOrigin * originsOut ); +S_API const char * SteamAPI_ISteamInput_GetStringForDigitalActionName( ISteamInput* self, InputDigitalActionHandle_t eActionHandle ); +S_API InputAnalogActionHandle_t SteamAPI_ISteamInput_GetAnalogActionHandle( ISteamInput* self, const char * pszActionName ); +S_API InputAnalogActionData_t SteamAPI_ISteamInput_GetAnalogActionData( ISteamInput* self, InputHandle_t inputHandle, InputAnalogActionHandle_t analogActionHandle ); +S_API int SteamAPI_ISteamInput_GetAnalogActionOrigins( ISteamInput* self, InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle, InputAnalogActionHandle_t analogActionHandle, EInputActionOrigin * originsOut ); +S_API const char * SteamAPI_ISteamInput_GetGlyphPNGForActionOrigin( ISteamInput* self, EInputActionOrigin eOrigin, ESteamInputGlyphSize eSize, uint32 unFlags ); +S_API const char * SteamAPI_ISteamInput_GetGlyphSVGForActionOrigin( ISteamInput* self, EInputActionOrigin eOrigin, uint32 unFlags ); +S_API const char * SteamAPI_ISteamInput_GetGlyphForActionOrigin_Legacy( ISteamInput* self, EInputActionOrigin eOrigin ); +S_API const char * SteamAPI_ISteamInput_GetStringForActionOrigin( ISteamInput* self, EInputActionOrigin eOrigin ); +S_API const char * SteamAPI_ISteamInput_GetStringForAnalogActionName( ISteamInput* self, InputAnalogActionHandle_t eActionHandle ); +S_API void SteamAPI_ISteamInput_StopAnalogActionMomentum( ISteamInput* self, InputHandle_t inputHandle, InputAnalogActionHandle_t eAction ); +S_API InputMotionData_t SteamAPI_ISteamInput_GetMotionData( ISteamInput* self, InputHandle_t inputHandle ); +S_API void SteamAPI_ISteamInput_TriggerVibration( ISteamInput* self, InputHandle_t inputHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed ); +S_API void SteamAPI_ISteamInput_TriggerVibrationExtended( ISteamInput* self, InputHandle_t inputHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed, unsigned short usLeftTriggerSpeed, unsigned short usRightTriggerSpeed ); +S_API void SteamAPI_ISteamInput_TriggerSimpleHapticEvent( ISteamInput* self, InputHandle_t inputHandle, EControllerHapticLocation eHapticLocation, uint8 nIntensity, char nGainDB, uint8 nOtherIntensity, char nOtherGainDB ); +S_API void SteamAPI_ISteamInput_SetLEDColor( ISteamInput* self, InputHandle_t inputHandle, uint8 nColorR, uint8 nColorG, uint8 nColorB, unsigned int nFlags ); +S_API void SteamAPI_ISteamInput_Legacy_TriggerHapticPulse( ISteamInput* self, InputHandle_t inputHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec ); +S_API void SteamAPI_ISteamInput_Legacy_TriggerRepeatedHapticPulse( ISteamInput* self, InputHandle_t inputHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec, unsigned short usOffMicroSec, unsigned short unRepeat, unsigned int nFlags ); +S_API bool SteamAPI_ISteamInput_ShowBindingPanel( ISteamInput* self, InputHandle_t inputHandle ); +S_API ESteamInputType SteamAPI_ISteamInput_GetInputTypeForHandle( ISteamInput* self, InputHandle_t inputHandle ); +S_API InputHandle_t SteamAPI_ISteamInput_GetControllerForGamepadIndex( ISteamInput* self, int nIndex ); +S_API int SteamAPI_ISteamInput_GetGamepadIndexForController( ISteamInput* self, InputHandle_t ulinputHandle ); +S_API const char * SteamAPI_ISteamInput_GetStringForXboxOrigin( ISteamInput* self, EXboxOrigin eOrigin ); +S_API const char * SteamAPI_ISteamInput_GetGlyphForXboxOrigin( ISteamInput* self, EXboxOrigin eOrigin ); +S_API EInputActionOrigin SteamAPI_ISteamInput_GetActionOriginFromXboxOrigin( ISteamInput* self, InputHandle_t inputHandle, EXboxOrigin eOrigin ); +S_API EInputActionOrigin SteamAPI_ISteamInput_TranslateActionOrigin( ISteamInput* self, ESteamInputType eDestinationInputType, EInputActionOrigin eSourceOrigin ); +S_API bool SteamAPI_ISteamInput_GetDeviceBindingRevision( ISteamInput* self, InputHandle_t inputHandle, int * pMajor, int * pMinor ); +S_API uint32 SteamAPI_ISteamInput_GetRemotePlaySessionID( ISteamInput* self, InputHandle_t inputHandle ); +S_API uint16 SteamAPI_ISteamInput_GetSessionInputConfigurationSettings( ISteamInput* self ); +S_API void SteamAPI_ISteamInput_SetDualSenseTriggerEffect( ISteamInput* self, InputHandle_t inputHandle, const ScePadTriggerEffectParam * pParam ); + +// ISteamController + +// A versioned accessor is exported by the library +S_API ISteamController *SteamAPI_SteamController_v008(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamController(), but using this ensures that you are using a matching library. +inline ISteamController *SteamAPI_SteamController() { return SteamAPI_SteamController_v008(); } +S_API bool SteamAPI_ISteamController_Init( ISteamController* self ); +S_API bool SteamAPI_ISteamController_Shutdown( ISteamController* self ); +S_API void SteamAPI_ISteamController_RunFrame( ISteamController* self ); +S_API int SteamAPI_ISteamController_GetConnectedControllers( ISteamController* self, ControllerHandle_t * handlesOut ); +S_API ControllerActionSetHandle_t SteamAPI_ISteamController_GetActionSetHandle( ISteamController* self, const char * pszActionSetName ); +S_API void SteamAPI_ISteamController_ActivateActionSet( ISteamController* self, ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle ); +S_API ControllerActionSetHandle_t SteamAPI_ISteamController_GetCurrentActionSet( ISteamController* self, ControllerHandle_t controllerHandle ); +S_API void SteamAPI_ISteamController_ActivateActionSetLayer( ISteamController* self, ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetLayerHandle ); +S_API void SteamAPI_ISteamController_DeactivateActionSetLayer( ISteamController* self, ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetLayerHandle ); +S_API void SteamAPI_ISteamController_DeactivateAllActionSetLayers( ISteamController* self, ControllerHandle_t controllerHandle ); +S_API int SteamAPI_ISteamController_GetActiveActionSetLayers( ISteamController* self, ControllerHandle_t controllerHandle, ControllerActionSetHandle_t * handlesOut ); +S_API ControllerDigitalActionHandle_t SteamAPI_ISteamController_GetDigitalActionHandle( ISteamController* self, const char * pszActionName ); +S_API InputDigitalActionData_t SteamAPI_ISteamController_GetDigitalActionData( ISteamController* self, ControllerHandle_t controllerHandle, ControllerDigitalActionHandle_t digitalActionHandle ); +S_API int SteamAPI_ISteamController_GetDigitalActionOrigins( ISteamController* self, ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle, ControllerDigitalActionHandle_t digitalActionHandle, EControllerActionOrigin * originsOut ); +S_API ControllerAnalogActionHandle_t SteamAPI_ISteamController_GetAnalogActionHandle( ISteamController* self, const char * pszActionName ); +S_API InputAnalogActionData_t SteamAPI_ISteamController_GetAnalogActionData( ISteamController* self, ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t analogActionHandle ); +S_API int SteamAPI_ISteamController_GetAnalogActionOrigins( ISteamController* self, ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle, ControllerAnalogActionHandle_t analogActionHandle, EControllerActionOrigin * originsOut ); +S_API const char * SteamAPI_ISteamController_GetGlyphForActionOrigin( ISteamController* self, EControllerActionOrigin eOrigin ); +S_API const char * SteamAPI_ISteamController_GetStringForActionOrigin( ISteamController* self, EControllerActionOrigin eOrigin ); +S_API void SteamAPI_ISteamController_StopAnalogActionMomentum( ISteamController* self, ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t eAction ); +S_API InputMotionData_t SteamAPI_ISteamController_GetMotionData( ISteamController* self, ControllerHandle_t controllerHandle ); +S_API void SteamAPI_ISteamController_TriggerHapticPulse( ISteamController* self, ControllerHandle_t controllerHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec ); +S_API void SteamAPI_ISteamController_TriggerRepeatedHapticPulse( ISteamController* self, ControllerHandle_t controllerHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec, unsigned short usOffMicroSec, unsigned short unRepeat, unsigned int nFlags ); +S_API void SteamAPI_ISteamController_TriggerVibration( ISteamController* self, ControllerHandle_t controllerHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed ); +S_API void SteamAPI_ISteamController_SetLEDColor( ISteamController* self, ControllerHandle_t controllerHandle, uint8 nColorR, uint8 nColorG, uint8 nColorB, unsigned int nFlags ); +S_API bool SteamAPI_ISteamController_ShowBindingPanel( ISteamController* self, ControllerHandle_t controllerHandle ); +S_API ESteamInputType SteamAPI_ISteamController_GetInputTypeForHandle( ISteamController* self, ControllerHandle_t controllerHandle ); +S_API ControllerHandle_t SteamAPI_ISteamController_GetControllerForGamepadIndex( ISteamController* self, int nIndex ); +S_API int SteamAPI_ISteamController_GetGamepadIndexForController( ISteamController* self, ControllerHandle_t ulControllerHandle ); +S_API const char * SteamAPI_ISteamController_GetStringForXboxOrigin( ISteamController* self, EXboxOrigin eOrigin ); +S_API const char * SteamAPI_ISteamController_GetGlyphForXboxOrigin( ISteamController* self, EXboxOrigin eOrigin ); +S_API EControllerActionOrigin SteamAPI_ISteamController_GetActionOriginFromXboxOrigin( ISteamController* self, ControllerHandle_t controllerHandle, EXboxOrigin eOrigin ); +S_API EControllerActionOrigin SteamAPI_ISteamController_TranslateActionOrigin( ISteamController* self, ESteamInputType eDestinationInputType, EControllerActionOrigin eSourceOrigin ); +S_API bool SteamAPI_ISteamController_GetControllerBindingRevision( ISteamController* self, ControllerHandle_t controllerHandle, int * pMajor, int * pMinor ); + +// ISteamUGC + +// A versioned accessor is exported by the library +S_API ISteamUGC *SteamAPI_SteamUGC_v018(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamUGC(), but using this ensures that you are using a matching library. +inline ISteamUGC *SteamAPI_SteamUGC() { return SteamAPI_SteamUGC_v018(); } + +// A versioned accessor is exported by the library +S_API ISteamUGC *SteamAPI_SteamGameServerUGC_v018(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServerUGC(), but using this ensures that you are using a matching library. +inline ISteamUGC *SteamAPI_SteamGameServerUGC() { return SteamAPI_SteamGameServerUGC_v018(); } +S_API UGCQueryHandle_t SteamAPI_ISteamUGC_CreateQueryUserUGCRequest( ISteamUGC* self, AccountID_t unAccountID, EUserUGCList eListType, EUGCMatchingUGCType eMatchingUGCType, EUserUGCListSortOrder eSortOrder, AppId_t nCreatorAppID, AppId_t nConsumerAppID, uint32 unPage ); +S_API UGCQueryHandle_t SteamAPI_ISteamUGC_CreateQueryAllUGCRequestPage( ISteamUGC* self, EUGCQuery eQueryType, EUGCMatchingUGCType eMatchingeMatchingUGCTypeFileType, AppId_t nCreatorAppID, AppId_t nConsumerAppID, uint32 unPage ); +S_API UGCQueryHandle_t SteamAPI_ISteamUGC_CreateQueryAllUGCRequestCursor( ISteamUGC* self, EUGCQuery eQueryType, EUGCMatchingUGCType eMatchingeMatchingUGCTypeFileType, AppId_t nCreatorAppID, AppId_t nConsumerAppID, const char * pchCursor ); +S_API UGCQueryHandle_t SteamAPI_ISteamUGC_CreateQueryUGCDetailsRequest( ISteamUGC* self, PublishedFileId_t * pvecPublishedFileID, uint32 unNumPublishedFileIDs ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_SendQueryUGCRequest( ISteamUGC* self, UGCQueryHandle_t handle ); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCResult( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t * pDetails ); +S_API uint32 SteamAPI_ISteamUGC_GetQueryUGCNumTags( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index ); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCTag( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, uint32 indexTag, char * pchValue, uint32 cchValueSize ); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCTagDisplayName( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, uint32 indexTag, char * pchValue, uint32 cchValueSize ); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCPreviewURL( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, char * pchURL, uint32 cchURLSize ); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCMetadata( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, char * pchMetadata, uint32 cchMetadatasize ); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCChildren( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, PublishedFileId_t * pvecPublishedFileID, uint32 cMaxEntries ); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCStatistic( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, EItemStatistic eStatType, uint64 * pStatValue ); +S_API uint32 SteamAPI_ISteamUGC_GetQueryUGCNumAdditionalPreviews( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index ); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCAdditionalPreview( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, uint32 previewIndex, char * pchURLOrVideoID, uint32 cchURLSize, char * pchOriginalFileName, uint32 cchOriginalFileNameSize, EItemPreviewType * pPreviewType ); +S_API uint32 SteamAPI_ISteamUGC_GetQueryUGCNumKeyValueTags( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index ); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCKeyValueTag( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, uint32 keyValueTagIndex, char * pchKey, uint32 cchKeySize, char * pchValue, uint32 cchValueSize ); +S_API bool SteamAPI_ISteamUGC_GetQueryFirstUGCKeyValueTag( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, const char * pchKey, char * pchValue, uint32 cchValueSize ); +S_API uint32 SteamAPI_ISteamUGC_GetQueryUGCContentDescriptors( ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, EUGCContentDescriptorID * pvecDescriptors, uint32 cMaxEntries ); +S_API bool SteamAPI_ISteamUGC_ReleaseQueryUGCRequest( ISteamUGC* self, UGCQueryHandle_t handle ); +S_API bool SteamAPI_ISteamUGC_AddRequiredTag( ISteamUGC* self, UGCQueryHandle_t handle, const char * pTagName ); +S_API bool SteamAPI_ISteamUGC_AddRequiredTagGroup( ISteamUGC* self, UGCQueryHandle_t handle, const SteamParamStringArray_t * pTagGroups ); +S_API bool SteamAPI_ISteamUGC_AddExcludedTag( ISteamUGC* self, UGCQueryHandle_t handle, const char * pTagName ); +S_API bool SteamAPI_ISteamUGC_SetReturnOnlyIDs( ISteamUGC* self, UGCQueryHandle_t handle, bool bReturnOnlyIDs ); +S_API bool SteamAPI_ISteamUGC_SetReturnKeyValueTags( ISteamUGC* self, UGCQueryHandle_t handle, bool bReturnKeyValueTags ); +S_API bool SteamAPI_ISteamUGC_SetReturnLongDescription( ISteamUGC* self, UGCQueryHandle_t handle, bool bReturnLongDescription ); +S_API bool SteamAPI_ISteamUGC_SetReturnMetadata( ISteamUGC* self, UGCQueryHandle_t handle, bool bReturnMetadata ); +S_API bool SteamAPI_ISteamUGC_SetReturnChildren( ISteamUGC* self, UGCQueryHandle_t handle, bool bReturnChildren ); +S_API bool SteamAPI_ISteamUGC_SetReturnAdditionalPreviews( ISteamUGC* self, UGCQueryHandle_t handle, bool bReturnAdditionalPreviews ); +S_API bool SteamAPI_ISteamUGC_SetReturnTotalOnly( ISteamUGC* self, UGCQueryHandle_t handle, bool bReturnTotalOnly ); +S_API bool SteamAPI_ISteamUGC_SetReturnPlaytimeStats( ISteamUGC* self, UGCQueryHandle_t handle, uint32 unDays ); +S_API bool SteamAPI_ISteamUGC_SetLanguage( ISteamUGC* self, UGCQueryHandle_t handle, const char * pchLanguage ); +S_API bool SteamAPI_ISteamUGC_SetAllowCachedResponse( ISteamUGC* self, UGCQueryHandle_t handle, uint32 unMaxAgeSeconds ); +S_API bool SteamAPI_ISteamUGC_SetCloudFileNameFilter( ISteamUGC* self, UGCQueryHandle_t handle, const char * pMatchCloudFileName ); +S_API bool SteamAPI_ISteamUGC_SetMatchAnyTag( ISteamUGC* self, UGCQueryHandle_t handle, bool bMatchAnyTag ); +S_API bool SteamAPI_ISteamUGC_SetSearchText( ISteamUGC* self, UGCQueryHandle_t handle, const char * pSearchText ); +S_API bool SteamAPI_ISteamUGC_SetRankedByTrendDays( ISteamUGC* self, UGCQueryHandle_t handle, uint32 unDays ); +S_API bool SteamAPI_ISteamUGC_SetTimeCreatedDateRange( ISteamUGC* self, UGCQueryHandle_t handle, RTime32 rtStart, RTime32 rtEnd ); +S_API bool SteamAPI_ISteamUGC_SetTimeUpdatedDateRange( ISteamUGC* self, UGCQueryHandle_t handle, RTime32 rtStart, RTime32 rtEnd ); +S_API bool SteamAPI_ISteamUGC_AddRequiredKeyValueTag( ISteamUGC* self, UGCQueryHandle_t handle, const char * pKey, const char * pValue ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_RequestUGCDetails( ISteamUGC* self, PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_CreateItem( ISteamUGC* self, AppId_t nConsumerAppId, EWorkshopFileType eFileType ); +S_API UGCUpdateHandle_t SteamAPI_ISteamUGC_StartItemUpdate( ISteamUGC* self, AppId_t nConsumerAppId, PublishedFileId_t nPublishedFileID ); +S_API bool SteamAPI_ISteamUGC_SetItemTitle( ISteamUGC* self, UGCUpdateHandle_t handle, const char * pchTitle ); +S_API bool SteamAPI_ISteamUGC_SetItemDescription( ISteamUGC* self, UGCUpdateHandle_t handle, const char * pchDescription ); +S_API bool SteamAPI_ISteamUGC_SetItemUpdateLanguage( ISteamUGC* self, UGCUpdateHandle_t handle, const char * pchLanguage ); +S_API bool SteamAPI_ISteamUGC_SetItemMetadata( ISteamUGC* self, UGCUpdateHandle_t handle, const char * pchMetaData ); +S_API bool SteamAPI_ISteamUGC_SetItemVisibility( ISteamUGC* self, UGCUpdateHandle_t handle, ERemoteStoragePublishedFileVisibility eVisibility ); +S_API bool SteamAPI_ISteamUGC_SetItemTags( ISteamUGC* self, UGCUpdateHandle_t updateHandle, const SteamParamStringArray_t * pTags, bool bAllowAdminTags ); +S_API bool SteamAPI_ISteamUGC_SetItemContent( ISteamUGC* self, UGCUpdateHandle_t handle, const char * pszContentFolder ); +S_API bool SteamAPI_ISteamUGC_SetItemPreview( ISteamUGC* self, UGCUpdateHandle_t handle, const char * pszPreviewFile ); +S_API bool SteamAPI_ISteamUGC_SetAllowLegacyUpload( ISteamUGC* self, UGCUpdateHandle_t handle, bool bAllowLegacyUpload ); +S_API bool SteamAPI_ISteamUGC_RemoveAllItemKeyValueTags( ISteamUGC* self, UGCUpdateHandle_t handle ); +S_API bool SteamAPI_ISteamUGC_RemoveItemKeyValueTags( ISteamUGC* self, UGCUpdateHandle_t handle, const char * pchKey ); +S_API bool SteamAPI_ISteamUGC_AddItemKeyValueTag( ISteamUGC* self, UGCUpdateHandle_t handle, const char * pchKey, const char * pchValue ); +S_API bool SteamAPI_ISteamUGC_AddItemPreviewFile( ISteamUGC* self, UGCUpdateHandle_t handle, const char * pszPreviewFile, EItemPreviewType type ); +S_API bool SteamAPI_ISteamUGC_AddItemPreviewVideo( ISteamUGC* self, UGCUpdateHandle_t handle, const char * pszVideoID ); +S_API bool SteamAPI_ISteamUGC_UpdateItemPreviewFile( ISteamUGC* self, UGCUpdateHandle_t handle, uint32 index, const char * pszPreviewFile ); +S_API bool SteamAPI_ISteamUGC_UpdateItemPreviewVideo( ISteamUGC* self, UGCUpdateHandle_t handle, uint32 index, const char * pszVideoID ); +S_API bool SteamAPI_ISteamUGC_RemoveItemPreview( ISteamUGC* self, UGCUpdateHandle_t handle, uint32 index ); +S_API bool SteamAPI_ISteamUGC_AddContentDescriptor( ISteamUGC* self, UGCUpdateHandle_t handle, EUGCContentDescriptorID descid ); +S_API bool SteamAPI_ISteamUGC_RemoveContentDescriptor( ISteamUGC* self, UGCUpdateHandle_t handle, EUGCContentDescriptorID descid ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_SubmitItemUpdate( ISteamUGC* self, UGCUpdateHandle_t handle, const char * pchChangeNote ); +S_API EItemUpdateStatus SteamAPI_ISteamUGC_GetItemUpdateProgress( ISteamUGC* self, UGCUpdateHandle_t handle, uint64 * punBytesProcessed, uint64 * punBytesTotal ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_SetUserItemVote( ISteamUGC* self, PublishedFileId_t nPublishedFileID, bool bVoteUp ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_GetUserItemVote( ISteamUGC* self, PublishedFileId_t nPublishedFileID ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_AddItemToFavorites( ISteamUGC* self, AppId_t nAppId, PublishedFileId_t nPublishedFileID ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_RemoveItemFromFavorites( ISteamUGC* self, AppId_t nAppId, PublishedFileId_t nPublishedFileID ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_SubscribeItem( ISteamUGC* self, PublishedFileId_t nPublishedFileID ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_UnsubscribeItem( ISteamUGC* self, PublishedFileId_t nPublishedFileID ); +S_API uint32 SteamAPI_ISteamUGC_GetNumSubscribedItems( ISteamUGC* self ); +S_API uint32 SteamAPI_ISteamUGC_GetSubscribedItems( ISteamUGC* self, PublishedFileId_t * pvecPublishedFileID, uint32 cMaxEntries ); +S_API uint32 SteamAPI_ISteamUGC_GetItemState( ISteamUGC* self, PublishedFileId_t nPublishedFileID ); +S_API bool SteamAPI_ISteamUGC_GetItemInstallInfo( ISteamUGC* self, PublishedFileId_t nPublishedFileID, uint64 * punSizeOnDisk, char * pchFolder, uint32 cchFolderSize, uint32 * punTimeStamp ); +S_API bool SteamAPI_ISteamUGC_GetItemDownloadInfo( ISteamUGC* self, PublishedFileId_t nPublishedFileID, uint64 * punBytesDownloaded, uint64 * punBytesTotal ); +S_API bool SteamAPI_ISteamUGC_DownloadItem( ISteamUGC* self, PublishedFileId_t nPublishedFileID, bool bHighPriority ); +S_API bool SteamAPI_ISteamUGC_BInitWorkshopForGameServer( ISteamUGC* self, DepotId_t unWorkshopDepotID, const char * pszFolder ); +S_API void SteamAPI_ISteamUGC_SuspendDownloads( ISteamUGC* self, bool bSuspend ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_StartPlaytimeTracking( ISteamUGC* self, PublishedFileId_t * pvecPublishedFileID, uint32 unNumPublishedFileIDs ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_StopPlaytimeTracking( ISteamUGC* self, PublishedFileId_t * pvecPublishedFileID, uint32 unNumPublishedFileIDs ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_StopPlaytimeTrackingForAllItems( ISteamUGC* self ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_AddDependency( ISteamUGC* self, PublishedFileId_t nParentPublishedFileID, PublishedFileId_t nChildPublishedFileID ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_RemoveDependency( ISteamUGC* self, PublishedFileId_t nParentPublishedFileID, PublishedFileId_t nChildPublishedFileID ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_AddAppDependency( ISteamUGC* self, PublishedFileId_t nPublishedFileID, AppId_t nAppID ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_RemoveAppDependency( ISteamUGC* self, PublishedFileId_t nPublishedFileID, AppId_t nAppID ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_GetAppDependencies( ISteamUGC* self, PublishedFileId_t nPublishedFileID ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_DeleteItem( ISteamUGC* self, PublishedFileId_t nPublishedFileID ); +S_API bool SteamAPI_ISteamUGC_ShowWorkshopEULA( ISteamUGC* self ); +S_API SteamAPICall_t SteamAPI_ISteamUGC_GetWorkshopEULAStatus( ISteamUGC* self ); +S_API uint32 SteamAPI_ISteamUGC_GetUserContentDescriptorPreferences( ISteamUGC* self, EUGCContentDescriptorID * pvecDescriptors, uint32 cMaxEntries ); + +// ISteamHTMLSurface + +// A versioned accessor is exported by the library +S_API ISteamHTMLSurface *SteamAPI_SteamHTMLSurface_v005(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamHTMLSurface(), but using this ensures that you are using a matching library. +inline ISteamHTMLSurface *SteamAPI_SteamHTMLSurface() { return SteamAPI_SteamHTMLSurface_v005(); } +S_API bool SteamAPI_ISteamHTMLSurface_Init( ISteamHTMLSurface* self ); +S_API bool SteamAPI_ISteamHTMLSurface_Shutdown( ISteamHTMLSurface* self ); +S_API SteamAPICall_t SteamAPI_ISteamHTMLSurface_CreateBrowser( ISteamHTMLSurface* self, const char * pchUserAgent, const char * pchUserCSS ); +S_API void SteamAPI_ISteamHTMLSurface_RemoveBrowser( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle ); +S_API void SteamAPI_ISteamHTMLSurface_LoadURL( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, const char * pchURL, const char * pchPostData ); +S_API void SteamAPI_ISteamHTMLSurface_SetSize( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, uint32 unWidth, uint32 unHeight ); +S_API void SteamAPI_ISteamHTMLSurface_StopLoad( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle ); +S_API void SteamAPI_ISteamHTMLSurface_Reload( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle ); +S_API void SteamAPI_ISteamHTMLSurface_GoBack( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle ); +S_API void SteamAPI_ISteamHTMLSurface_GoForward( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle ); +S_API void SteamAPI_ISteamHTMLSurface_AddHeader( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, const char * pchKey, const char * pchValue ); +S_API void SteamAPI_ISteamHTMLSurface_ExecuteJavascript( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, const char * pchScript ); +S_API void SteamAPI_ISteamHTMLSurface_MouseUp( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, ISteamHTMLSurface::EHTMLMouseButton eMouseButton ); +S_API void SteamAPI_ISteamHTMLSurface_MouseDown( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, ISteamHTMLSurface::EHTMLMouseButton eMouseButton ); +S_API void SteamAPI_ISteamHTMLSurface_MouseDoubleClick( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, ISteamHTMLSurface::EHTMLMouseButton eMouseButton ); +S_API void SteamAPI_ISteamHTMLSurface_MouseMove( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, int x, int y ); +S_API void SteamAPI_ISteamHTMLSurface_MouseWheel( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, int32 nDelta ); +S_API void SteamAPI_ISteamHTMLSurface_KeyDown( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, uint32 nNativeKeyCode, ISteamHTMLSurface::EHTMLKeyModifiers eHTMLKeyModifiers, bool bIsSystemKey ); +S_API void SteamAPI_ISteamHTMLSurface_KeyUp( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, uint32 nNativeKeyCode, ISteamHTMLSurface::EHTMLKeyModifiers eHTMLKeyModifiers ); +S_API void SteamAPI_ISteamHTMLSurface_KeyChar( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, uint32 cUnicodeChar, ISteamHTMLSurface::EHTMLKeyModifiers eHTMLKeyModifiers ); +S_API void SteamAPI_ISteamHTMLSurface_SetHorizontalScroll( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, uint32 nAbsolutePixelScroll ); +S_API void SteamAPI_ISteamHTMLSurface_SetVerticalScroll( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, uint32 nAbsolutePixelScroll ); +S_API void SteamAPI_ISteamHTMLSurface_SetKeyFocus( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, bool bHasKeyFocus ); +S_API void SteamAPI_ISteamHTMLSurface_ViewSource( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle ); +S_API void SteamAPI_ISteamHTMLSurface_CopyToClipboard( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle ); +S_API void SteamAPI_ISteamHTMLSurface_PasteFromClipboard( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle ); +S_API void SteamAPI_ISteamHTMLSurface_Find( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, const char * pchSearchStr, bool bCurrentlyInFind, bool bReverse ); +S_API void SteamAPI_ISteamHTMLSurface_StopFind( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle ); +S_API void SteamAPI_ISteamHTMLSurface_GetLinkAtPosition( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, int x, int y ); +S_API void SteamAPI_ISteamHTMLSurface_SetCookie( ISteamHTMLSurface* self, const char * pchHostname, const char * pchKey, const char * pchValue, const char * pchPath, RTime32 nExpires, bool bSecure, bool bHTTPOnly ); +S_API void SteamAPI_ISteamHTMLSurface_SetPageScaleFactor( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, float flZoom, int nPointX, int nPointY ); +S_API void SteamAPI_ISteamHTMLSurface_SetBackgroundMode( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, bool bBackgroundMode ); +S_API void SteamAPI_ISteamHTMLSurface_SetDPIScalingFactor( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, float flDPIScaling ); +S_API void SteamAPI_ISteamHTMLSurface_OpenDeveloperTools( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle ); +S_API void SteamAPI_ISteamHTMLSurface_AllowStartRequest( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, bool bAllowed ); +S_API void SteamAPI_ISteamHTMLSurface_JSDialogResponse( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, bool bResult ); +S_API void SteamAPI_ISteamHTMLSurface_FileLoadDialogResponse( ISteamHTMLSurface* self, HHTMLBrowser unBrowserHandle, const char ** pchSelectedFiles ); + +// ISteamInventory + +// A versioned accessor is exported by the library +S_API ISteamInventory *SteamAPI_SteamInventory_v003(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamInventory(), but using this ensures that you are using a matching library. +inline ISteamInventory *SteamAPI_SteamInventory() { return SteamAPI_SteamInventory_v003(); } + +// A versioned accessor is exported by the library +S_API ISteamInventory *SteamAPI_SteamGameServerInventory_v003(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServerInventory(), but using this ensures that you are using a matching library. +inline ISteamInventory *SteamAPI_SteamGameServerInventory() { return SteamAPI_SteamGameServerInventory_v003(); } +S_API EResult SteamAPI_ISteamInventory_GetResultStatus( ISteamInventory* self, SteamInventoryResult_t resultHandle ); +S_API bool SteamAPI_ISteamInventory_GetResultItems( ISteamInventory* self, SteamInventoryResult_t resultHandle, SteamItemDetails_t * pOutItemsArray, uint32 * punOutItemsArraySize ); +S_API bool SteamAPI_ISteamInventory_GetResultItemProperty( ISteamInventory* self, SteamInventoryResult_t resultHandle, uint32 unItemIndex, const char * pchPropertyName, char * pchValueBuffer, uint32 * punValueBufferSizeOut ); +S_API uint32 SteamAPI_ISteamInventory_GetResultTimestamp( ISteamInventory* self, SteamInventoryResult_t resultHandle ); +S_API bool SteamAPI_ISteamInventory_CheckResultSteamID( ISteamInventory* self, SteamInventoryResult_t resultHandle, uint64_steamid steamIDExpected ); +S_API void SteamAPI_ISteamInventory_DestroyResult( ISteamInventory* self, SteamInventoryResult_t resultHandle ); +S_API bool SteamAPI_ISteamInventory_GetAllItems( ISteamInventory* self, SteamInventoryResult_t * pResultHandle ); +S_API bool SteamAPI_ISteamInventory_GetItemsByID( ISteamInventory* self, SteamInventoryResult_t * pResultHandle, const SteamItemInstanceID_t * pInstanceIDs, uint32 unCountInstanceIDs ); +S_API bool SteamAPI_ISteamInventory_SerializeResult( ISteamInventory* self, SteamInventoryResult_t resultHandle, void * pOutBuffer, uint32 * punOutBufferSize ); +S_API bool SteamAPI_ISteamInventory_DeserializeResult( ISteamInventory* self, SteamInventoryResult_t * pOutResultHandle, const void * pBuffer, uint32 unBufferSize, bool bRESERVED_MUST_BE_FALSE ); +S_API bool SteamAPI_ISteamInventory_GenerateItems( ISteamInventory* self, SteamInventoryResult_t * pResultHandle, const SteamItemDef_t * pArrayItemDefs, const uint32 * punArrayQuantity, uint32 unArrayLength ); +S_API bool SteamAPI_ISteamInventory_GrantPromoItems( ISteamInventory* self, SteamInventoryResult_t * pResultHandle ); +S_API bool SteamAPI_ISteamInventory_AddPromoItem( ISteamInventory* self, SteamInventoryResult_t * pResultHandle, SteamItemDef_t itemDef ); +S_API bool SteamAPI_ISteamInventory_AddPromoItems( ISteamInventory* self, SteamInventoryResult_t * pResultHandle, const SteamItemDef_t * pArrayItemDefs, uint32 unArrayLength ); +S_API bool SteamAPI_ISteamInventory_ConsumeItem( ISteamInventory* self, SteamInventoryResult_t * pResultHandle, SteamItemInstanceID_t itemConsume, uint32 unQuantity ); +S_API bool SteamAPI_ISteamInventory_ExchangeItems( ISteamInventory* self, SteamInventoryResult_t * pResultHandle, const SteamItemDef_t * pArrayGenerate, const uint32 * punArrayGenerateQuantity, uint32 unArrayGenerateLength, const SteamItemInstanceID_t * pArrayDestroy, const uint32 * punArrayDestroyQuantity, uint32 unArrayDestroyLength ); +S_API bool SteamAPI_ISteamInventory_TransferItemQuantity( ISteamInventory* self, SteamInventoryResult_t * pResultHandle, SteamItemInstanceID_t itemIdSource, uint32 unQuantity, SteamItemInstanceID_t itemIdDest ); +S_API void SteamAPI_ISteamInventory_SendItemDropHeartbeat( ISteamInventory* self ); +S_API bool SteamAPI_ISteamInventory_TriggerItemDrop( ISteamInventory* self, SteamInventoryResult_t * pResultHandle, SteamItemDef_t dropListDefinition ); +S_API bool SteamAPI_ISteamInventory_TradeItems( ISteamInventory* self, SteamInventoryResult_t * pResultHandle, uint64_steamid steamIDTradePartner, const SteamItemInstanceID_t * pArrayGive, const uint32 * pArrayGiveQuantity, uint32 nArrayGiveLength, const SteamItemInstanceID_t * pArrayGet, const uint32 * pArrayGetQuantity, uint32 nArrayGetLength ); +S_API bool SteamAPI_ISteamInventory_LoadItemDefinitions( ISteamInventory* self ); +S_API bool SteamAPI_ISteamInventory_GetItemDefinitionIDs( ISteamInventory* self, SteamItemDef_t * pItemDefIDs, uint32 * punItemDefIDsArraySize ); +S_API bool SteamAPI_ISteamInventory_GetItemDefinitionProperty( ISteamInventory* self, SteamItemDef_t iDefinition, const char * pchPropertyName, char * pchValueBuffer, uint32 * punValueBufferSizeOut ); +S_API SteamAPICall_t SteamAPI_ISteamInventory_RequestEligiblePromoItemDefinitionsIDs( ISteamInventory* self, uint64_steamid steamID ); +S_API bool SteamAPI_ISteamInventory_GetEligiblePromoItemDefinitionIDs( ISteamInventory* self, uint64_steamid steamID, SteamItemDef_t * pItemDefIDs, uint32 * punItemDefIDsArraySize ); +S_API SteamAPICall_t SteamAPI_ISteamInventory_StartPurchase( ISteamInventory* self, const SteamItemDef_t * pArrayItemDefs, const uint32 * punArrayQuantity, uint32 unArrayLength ); +S_API SteamAPICall_t SteamAPI_ISteamInventory_RequestPrices( ISteamInventory* self ); +S_API uint32 SteamAPI_ISteamInventory_GetNumItemsWithPrices( ISteamInventory* self ); +S_API bool SteamAPI_ISteamInventory_GetItemsWithPrices( ISteamInventory* self, SteamItemDef_t * pArrayItemDefs, uint64 * pCurrentPrices, uint64 * pBasePrices, uint32 unArrayLength ); +S_API bool SteamAPI_ISteamInventory_GetItemPrice( ISteamInventory* self, SteamItemDef_t iDefinition, uint64 * pCurrentPrice, uint64 * pBasePrice ); +S_API SteamInventoryUpdateHandle_t SteamAPI_ISteamInventory_StartUpdateProperties( ISteamInventory* self ); +S_API bool SteamAPI_ISteamInventory_RemoveProperty( ISteamInventory* self, SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char * pchPropertyName ); +S_API bool SteamAPI_ISteamInventory_SetPropertyString( ISteamInventory* self, SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char * pchPropertyName, const char * pchPropertyValue ); +S_API bool SteamAPI_ISteamInventory_SetPropertyBool( ISteamInventory* self, SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char * pchPropertyName, bool bValue ); +S_API bool SteamAPI_ISteamInventory_SetPropertyInt64( ISteamInventory* self, SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char * pchPropertyName, int64 nValue ); +S_API bool SteamAPI_ISteamInventory_SetPropertyFloat( ISteamInventory* self, SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char * pchPropertyName, float flValue ); +S_API bool SteamAPI_ISteamInventory_SubmitUpdateProperties( ISteamInventory* self, SteamInventoryUpdateHandle_t handle, SteamInventoryResult_t * pResultHandle ); +S_API bool SteamAPI_ISteamInventory_InspectItem( ISteamInventory* self, SteamInventoryResult_t * pResultHandle, const char * pchItemToken ); + +// ISteamVideo + +// A versioned accessor is exported by the library +S_API ISteamVideo *SteamAPI_SteamVideo_v002(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamVideo(), but using this ensures that you are using a matching library. +inline ISteamVideo *SteamAPI_SteamVideo() { return SteamAPI_SteamVideo_v002(); } +S_API void SteamAPI_ISteamVideo_GetVideoURL( ISteamVideo* self, AppId_t unVideoAppID ); +S_API bool SteamAPI_ISteamVideo_IsBroadcasting( ISteamVideo* self, int * pnNumViewers ); +S_API void SteamAPI_ISteamVideo_GetOPFSettings( ISteamVideo* self, AppId_t unVideoAppID ); +S_API bool SteamAPI_ISteamVideo_GetOPFStringForApp( ISteamVideo* self, AppId_t unVideoAppID, char * pchBuffer, int32 * pnBufferSize ); + +// ISteamParentalSettings + +// A versioned accessor is exported by the library +S_API ISteamParentalSettings *SteamAPI_SteamParentalSettings_v001(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamParentalSettings(), but using this ensures that you are using a matching library. +inline ISteamParentalSettings *SteamAPI_SteamParentalSettings() { return SteamAPI_SteamParentalSettings_v001(); } +S_API bool SteamAPI_ISteamParentalSettings_BIsParentalLockEnabled( ISteamParentalSettings* self ); +S_API bool SteamAPI_ISteamParentalSettings_BIsParentalLockLocked( ISteamParentalSettings* self ); +S_API bool SteamAPI_ISteamParentalSettings_BIsAppBlocked( ISteamParentalSettings* self, AppId_t nAppID ); +S_API bool SteamAPI_ISteamParentalSettings_BIsAppInBlockList( ISteamParentalSettings* self, AppId_t nAppID ); +S_API bool SteamAPI_ISteamParentalSettings_BIsFeatureBlocked( ISteamParentalSettings* self, EParentalFeature eFeature ); +S_API bool SteamAPI_ISteamParentalSettings_BIsFeatureInBlockList( ISteamParentalSettings* self, EParentalFeature eFeature ); + +// ISteamRemotePlay + +// A versioned accessor is exported by the library +S_API ISteamRemotePlay *SteamAPI_SteamRemotePlay_v002(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamRemotePlay(), but using this ensures that you are using a matching library. +inline ISteamRemotePlay *SteamAPI_SteamRemotePlay() { return SteamAPI_SteamRemotePlay_v002(); } +S_API uint32 SteamAPI_ISteamRemotePlay_GetSessionCount( ISteamRemotePlay* self ); +S_API RemotePlaySessionID_t SteamAPI_ISteamRemotePlay_GetSessionID( ISteamRemotePlay* self, int iSessionIndex ); +S_API uint64_steamid SteamAPI_ISteamRemotePlay_GetSessionSteamID( ISteamRemotePlay* self, RemotePlaySessionID_t unSessionID ); +S_API const char * SteamAPI_ISteamRemotePlay_GetSessionClientName( ISteamRemotePlay* self, RemotePlaySessionID_t unSessionID ); +S_API ESteamDeviceFormFactor SteamAPI_ISteamRemotePlay_GetSessionClientFormFactor( ISteamRemotePlay* self, RemotePlaySessionID_t unSessionID ); +S_API bool SteamAPI_ISteamRemotePlay_BGetSessionClientResolution( ISteamRemotePlay* self, RemotePlaySessionID_t unSessionID, int * pnResolutionX, int * pnResolutionY ); +S_API bool SteamAPI_ISteamRemotePlay_BStartRemotePlayTogether( ISteamRemotePlay* self, bool bShowOverlay ); +S_API bool SteamAPI_ISteamRemotePlay_BSendRemotePlayTogetherInvite( ISteamRemotePlay* self, uint64_steamid steamIDFriend ); + +// ISteamNetworkingMessages + +// A versioned accessor is exported by the library +S_API ISteamNetworkingMessages *SteamAPI_SteamNetworkingMessages_SteamAPI_v002(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamNetworkingMessages_SteamAPI(), but using this ensures that you are using a matching library. +inline ISteamNetworkingMessages *SteamAPI_SteamNetworkingMessages_SteamAPI() { return SteamAPI_SteamNetworkingMessages_SteamAPI_v002(); } + +// A versioned accessor is exported by the library +S_API ISteamNetworkingMessages *SteamAPI_SteamGameServerNetworkingMessages_SteamAPI_v002(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServerNetworkingMessages_SteamAPI(), but using this ensures that you are using a matching library. +inline ISteamNetworkingMessages *SteamAPI_SteamGameServerNetworkingMessages_SteamAPI() { return SteamAPI_SteamGameServerNetworkingMessages_SteamAPI_v002(); } +S_API EResult SteamAPI_ISteamNetworkingMessages_SendMessageToUser( ISteamNetworkingMessages* self, const SteamNetworkingIdentity & identityRemote, const void * pubData, uint32 cubData, int nSendFlags, int nRemoteChannel ); +S_API int SteamAPI_ISteamNetworkingMessages_ReceiveMessagesOnChannel( ISteamNetworkingMessages* self, int nLocalChannel, SteamNetworkingMessage_t ** ppOutMessages, int nMaxMessages ); +S_API bool SteamAPI_ISteamNetworkingMessages_AcceptSessionWithUser( ISteamNetworkingMessages* self, const SteamNetworkingIdentity & identityRemote ); +S_API bool SteamAPI_ISteamNetworkingMessages_CloseSessionWithUser( ISteamNetworkingMessages* self, const SteamNetworkingIdentity & identityRemote ); +S_API bool SteamAPI_ISteamNetworkingMessages_CloseChannelWithUser( ISteamNetworkingMessages* self, const SteamNetworkingIdentity & identityRemote, int nLocalChannel ); +S_API ESteamNetworkingConnectionState SteamAPI_ISteamNetworkingMessages_GetSessionConnectionInfo( ISteamNetworkingMessages* self, const SteamNetworkingIdentity & identityRemote, SteamNetConnectionInfo_t * pConnectionInfo, SteamNetConnectionRealTimeStatus_t * pQuickStatus ); + +// ISteamNetworkingSockets + +// A versioned accessor is exported by the library +S_API ISteamNetworkingSockets *SteamAPI_SteamNetworkingSockets_SteamAPI_v012(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamNetworkingSockets_SteamAPI(), but using this ensures that you are using a matching library. +inline ISteamNetworkingSockets *SteamAPI_SteamNetworkingSockets_SteamAPI() { return SteamAPI_SteamNetworkingSockets_SteamAPI_v012(); } + +// A versioned accessor is exported by the library +S_API ISteamNetworkingSockets *SteamAPI_SteamGameServerNetworkingSockets_SteamAPI_v012(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServerNetworkingSockets_SteamAPI(), but using this ensures that you are using a matching library. +inline ISteamNetworkingSockets *SteamAPI_SteamGameServerNetworkingSockets_SteamAPI() { return SteamAPI_SteamGameServerNetworkingSockets_SteamAPI_v012(); } +S_API HSteamListenSocket SteamAPI_ISteamNetworkingSockets_CreateListenSocketIP( ISteamNetworkingSockets* self, const SteamNetworkingIPAddr & localAddress, int nOptions, const SteamNetworkingConfigValue_t * pOptions ); +S_API HSteamNetConnection SteamAPI_ISteamNetworkingSockets_ConnectByIPAddress( ISteamNetworkingSockets* self, const SteamNetworkingIPAddr & address, int nOptions, const SteamNetworkingConfigValue_t * pOptions ); +S_API HSteamListenSocket SteamAPI_ISteamNetworkingSockets_CreateListenSocketP2P( ISteamNetworkingSockets* self, int nLocalVirtualPort, int nOptions, const SteamNetworkingConfigValue_t * pOptions ); +S_API HSteamNetConnection SteamAPI_ISteamNetworkingSockets_ConnectP2P( ISteamNetworkingSockets* self, const SteamNetworkingIdentity & identityRemote, int nRemoteVirtualPort, int nOptions, const SteamNetworkingConfigValue_t * pOptions ); +S_API EResult SteamAPI_ISteamNetworkingSockets_AcceptConnection( ISteamNetworkingSockets* self, HSteamNetConnection hConn ); +S_API bool SteamAPI_ISteamNetworkingSockets_CloseConnection( ISteamNetworkingSockets* self, HSteamNetConnection hPeer, int nReason, const char * pszDebug, bool bEnableLinger ); +S_API bool SteamAPI_ISteamNetworkingSockets_CloseListenSocket( ISteamNetworkingSockets* self, HSteamListenSocket hSocket ); +S_API bool SteamAPI_ISteamNetworkingSockets_SetConnectionUserData( ISteamNetworkingSockets* self, HSteamNetConnection hPeer, int64 nUserData ); +S_API int64 SteamAPI_ISteamNetworkingSockets_GetConnectionUserData( ISteamNetworkingSockets* self, HSteamNetConnection hPeer ); +S_API void SteamAPI_ISteamNetworkingSockets_SetConnectionName( ISteamNetworkingSockets* self, HSteamNetConnection hPeer, const char * pszName ); +S_API bool SteamAPI_ISteamNetworkingSockets_GetConnectionName( ISteamNetworkingSockets* self, HSteamNetConnection hPeer, char * pszName, int nMaxLen ); +S_API EResult SteamAPI_ISteamNetworkingSockets_SendMessageToConnection( ISteamNetworkingSockets* self, HSteamNetConnection hConn, const void * pData, uint32 cbData, int nSendFlags, int64 * pOutMessageNumber ); +S_API void SteamAPI_ISteamNetworkingSockets_SendMessages( ISteamNetworkingSockets* self, int nMessages, SteamNetworkingMessage_t *const * pMessages, int64 * pOutMessageNumberOrResult ); +S_API EResult SteamAPI_ISteamNetworkingSockets_FlushMessagesOnConnection( ISteamNetworkingSockets* self, HSteamNetConnection hConn ); +S_API int SteamAPI_ISteamNetworkingSockets_ReceiveMessagesOnConnection( ISteamNetworkingSockets* self, HSteamNetConnection hConn, SteamNetworkingMessage_t ** ppOutMessages, int nMaxMessages ); +S_API bool SteamAPI_ISteamNetworkingSockets_GetConnectionInfo( ISteamNetworkingSockets* self, HSteamNetConnection hConn, SteamNetConnectionInfo_t * pInfo ); +S_API EResult SteamAPI_ISteamNetworkingSockets_GetConnectionRealTimeStatus( ISteamNetworkingSockets* self, HSteamNetConnection hConn, SteamNetConnectionRealTimeStatus_t * pStatus, int nLanes, SteamNetConnectionRealTimeLaneStatus_t * pLanes ); +S_API int SteamAPI_ISteamNetworkingSockets_GetDetailedConnectionStatus( ISteamNetworkingSockets* self, HSteamNetConnection hConn, char * pszBuf, int cbBuf ); +S_API bool SteamAPI_ISteamNetworkingSockets_GetListenSocketAddress( ISteamNetworkingSockets* self, HSteamListenSocket hSocket, SteamNetworkingIPAddr * address ); +S_API bool SteamAPI_ISteamNetworkingSockets_CreateSocketPair( ISteamNetworkingSockets* self, HSteamNetConnection * pOutConnection1, HSteamNetConnection * pOutConnection2, bool bUseNetworkLoopback, const SteamNetworkingIdentity * pIdentity1, const SteamNetworkingIdentity * pIdentity2 ); +S_API EResult SteamAPI_ISteamNetworkingSockets_ConfigureConnectionLanes( ISteamNetworkingSockets* self, HSteamNetConnection hConn, int nNumLanes, const int * pLanePriorities, const uint16 * pLaneWeights ); +S_API bool SteamAPI_ISteamNetworkingSockets_GetIdentity( ISteamNetworkingSockets* self, SteamNetworkingIdentity * pIdentity ); +S_API ESteamNetworkingAvailability SteamAPI_ISteamNetworkingSockets_InitAuthentication( ISteamNetworkingSockets* self ); +S_API ESteamNetworkingAvailability SteamAPI_ISteamNetworkingSockets_GetAuthenticationStatus( ISteamNetworkingSockets* self, SteamNetAuthenticationStatus_t * pDetails ); +S_API HSteamNetPollGroup SteamAPI_ISteamNetworkingSockets_CreatePollGroup( ISteamNetworkingSockets* self ); +S_API bool SteamAPI_ISteamNetworkingSockets_DestroyPollGroup( ISteamNetworkingSockets* self, HSteamNetPollGroup hPollGroup ); +S_API bool SteamAPI_ISteamNetworkingSockets_SetConnectionPollGroup( ISteamNetworkingSockets* self, HSteamNetConnection hConn, HSteamNetPollGroup hPollGroup ); +S_API int SteamAPI_ISteamNetworkingSockets_ReceiveMessagesOnPollGroup( ISteamNetworkingSockets* self, HSteamNetPollGroup hPollGroup, SteamNetworkingMessage_t ** ppOutMessages, int nMaxMessages ); +S_API bool SteamAPI_ISteamNetworkingSockets_ReceivedRelayAuthTicket( ISteamNetworkingSockets* self, const void * pvTicket, int cbTicket, SteamDatagramRelayAuthTicket * pOutParsedTicket ); +S_API int SteamAPI_ISteamNetworkingSockets_FindRelayAuthTicketForServer( ISteamNetworkingSockets* self, const SteamNetworkingIdentity & identityGameServer, int nRemoteVirtualPort, SteamDatagramRelayAuthTicket * pOutParsedTicket ); +S_API HSteamNetConnection SteamAPI_ISteamNetworkingSockets_ConnectToHostedDedicatedServer( ISteamNetworkingSockets* self, const SteamNetworkingIdentity & identityTarget, int nRemoteVirtualPort, int nOptions, const SteamNetworkingConfigValue_t * pOptions ); +S_API uint16 SteamAPI_ISteamNetworkingSockets_GetHostedDedicatedServerPort( ISteamNetworkingSockets* self ); +S_API SteamNetworkingPOPID SteamAPI_ISteamNetworkingSockets_GetHostedDedicatedServerPOPID( ISteamNetworkingSockets* self ); +S_API EResult SteamAPI_ISteamNetworkingSockets_GetHostedDedicatedServerAddress( ISteamNetworkingSockets* self, SteamDatagramHostedAddress * pRouting ); +S_API HSteamListenSocket SteamAPI_ISteamNetworkingSockets_CreateHostedDedicatedServerListenSocket( ISteamNetworkingSockets* self, int nLocalVirtualPort, int nOptions, const SteamNetworkingConfigValue_t * pOptions ); +S_API EResult SteamAPI_ISteamNetworkingSockets_GetGameCoordinatorServerLogin( ISteamNetworkingSockets* self, SteamDatagramGameCoordinatorServerLogin * pLoginInfo, int * pcbSignedBlob, void * pBlob ); +S_API HSteamNetConnection SteamAPI_ISteamNetworkingSockets_ConnectP2PCustomSignaling( ISteamNetworkingSockets* self, ISteamNetworkingConnectionSignaling * pSignaling, const SteamNetworkingIdentity * pPeerIdentity, int nRemoteVirtualPort, int nOptions, const SteamNetworkingConfigValue_t * pOptions ); +S_API bool SteamAPI_ISteamNetworkingSockets_ReceivedP2PCustomSignal( ISteamNetworkingSockets* self, const void * pMsg, int cbMsg, ISteamNetworkingSignalingRecvContext * pContext ); +S_API bool SteamAPI_ISteamNetworkingSockets_GetCertificateRequest( ISteamNetworkingSockets* self, int * pcbBlob, void * pBlob, SteamNetworkingErrMsg & errMsg ); +S_API bool SteamAPI_ISteamNetworkingSockets_SetCertificate( ISteamNetworkingSockets* self, const void * pCertificate, int cbCertificate, SteamNetworkingErrMsg & errMsg ); +S_API void SteamAPI_ISteamNetworkingSockets_ResetIdentity( ISteamNetworkingSockets* self, const SteamNetworkingIdentity * pIdentity ); +S_API void SteamAPI_ISteamNetworkingSockets_RunCallbacks( ISteamNetworkingSockets* self ); +S_API bool SteamAPI_ISteamNetworkingSockets_BeginAsyncRequestFakeIP( ISteamNetworkingSockets* self, int nNumPorts ); +S_API void SteamAPI_ISteamNetworkingSockets_GetFakeIP( ISteamNetworkingSockets* self, int idxFirstPort, SteamNetworkingFakeIPResult_t * pInfo ); +S_API HSteamListenSocket SteamAPI_ISteamNetworkingSockets_CreateListenSocketP2PFakeIP( ISteamNetworkingSockets* self, int idxFakePort, int nOptions, const SteamNetworkingConfigValue_t * pOptions ); +S_API EResult SteamAPI_ISteamNetworkingSockets_GetRemoteFakeIPForConnection( ISteamNetworkingSockets* self, HSteamNetConnection hConn, SteamNetworkingIPAddr * pOutAddr ); +S_API ISteamNetworkingFakeUDPPort * SteamAPI_ISteamNetworkingSockets_CreateFakeUDPPort( ISteamNetworkingSockets* self, int idxFakeServerPort ); + +// ISteamNetworkingUtils + +// A versioned accessor is exported by the library +S_API ISteamNetworkingUtils *SteamAPI_SteamNetworkingUtils_SteamAPI_v004(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamNetworkingUtils_SteamAPI(), but using this ensures that you are using a matching library. +inline ISteamNetworkingUtils *SteamAPI_SteamNetworkingUtils_SteamAPI() { return SteamAPI_SteamNetworkingUtils_SteamAPI_v004(); } +S_API SteamNetworkingMessage_t * SteamAPI_ISteamNetworkingUtils_AllocateMessage( ISteamNetworkingUtils* self, int cbAllocateBuffer ); +S_API void SteamAPI_ISteamNetworkingUtils_InitRelayNetworkAccess( ISteamNetworkingUtils* self ); +S_API ESteamNetworkingAvailability SteamAPI_ISteamNetworkingUtils_GetRelayNetworkStatus( ISteamNetworkingUtils* self, SteamRelayNetworkStatus_t * pDetails ); +S_API float SteamAPI_ISteamNetworkingUtils_GetLocalPingLocation( ISteamNetworkingUtils* self, SteamNetworkPingLocation_t & result ); +S_API int SteamAPI_ISteamNetworkingUtils_EstimatePingTimeBetweenTwoLocations( ISteamNetworkingUtils* self, const SteamNetworkPingLocation_t & location1, const SteamNetworkPingLocation_t & location2 ); +S_API int SteamAPI_ISteamNetworkingUtils_EstimatePingTimeFromLocalHost( ISteamNetworkingUtils* self, const SteamNetworkPingLocation_t & remoteLocation ); +S_API void SteamAPI_ISteamNetworkingUtils_ConvertPingLocationToString( ISteamNetworkingUtils* self, const SteamNetworkPingLocation_t & location, char * pszBuf, int cchBufSize ); +S_API bool SteamAPI_ISteamNetworkingUtils_ParsePingLocationString( ISteamNetworkingUtils* self, const char * pszString, SteamNetworkPingLocation_t & result ); +S_API bool SteamAPI_ISteamNetworkingUtils_CheckPingDataUpToDate( ISteamNetworkingUtils* self, float flMaxAgeSeconds ); +S_API int SteamAPI_ISteamNetworkingUtils_GetPingToDataCenter( ISteamNetworkingUtils* self, SteamNetworkingPOPID popID, SteamNetworkingPOPID * pViaRelayPoP ); +S_API int SteamAPI_ISteamNetworkingUtils_GetDirectPingToPOP( ISteamNetworkingUtils* self, SteamNetworkingPOPID popID ); +S_API int SteamAPI_ISteamNetworkingUtils_GetPOPCount( ISteamNetworkingUtils* self ); +S_API int SteamAPI_ISteamNetworkingUtils_GetPOPList( ISteamNetworkingUtils* self, SteamNetworkingPOPID * list, int nListSz ); +S_API SteamNetworkingMicroseconds SteamAPI_ISteamNetworkingUtils_GetLocalTimestamp( ISteamNetworkingUtils* self ); +S_API void SteamAPI_ISteamNetworkingUtils_SetDebugOutputFunction( ISteamNetworkingUtils* self, ESteamNetworkingSocketsDebugOutputType eDetailLevel, FSteamNetworkingSocketsDebugOutput pfnFunc ); +S_API bool SteamAPI_ISteamNetworkingUtils_IsFakeIPv4( ISteamNetworkingUtils* self, uint32 nIPv4 ); +S_API ESteamNetworkingFakeIPType SteamAPI_ISteamNetworkingUtils_GetIPv4FakeIPType( ISteamNetworkingUtils* self, uint32 nIPv4 ); +S_API EResult SteamAPI_ISteamNetworkingUtils_GetRealIdentityForFakeIP( ISteamNetworkingUtils* self, const SteamNetworkingIPAddr & fakeIP, SteamNetworkingIdentity * pOutRealIdentity ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetGlobalConfigValueInt32( ISteamNetworkingUtils* self, ESteamNetworkingConfigValue eValue, int32 val ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetGlobalConfigValueFloat( ISteamNetworkingUtils* self, ESteamNetworkingConfigValue eValue, float val ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetGlobalConfigValueString( ISteamNetworkingUtils* self, ESteamNetworkingConfigValue eValue, const char * val ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetGlobalConfigValuePtr( ISteamNetworkingUtils* self, ESteamNetworkingConfigValue eValue, void * val ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetConnectionConfigValueInt32( ISteamNetworkingUtils* self, HSteamNetConnection hConn, ESteamNetworkingConfigValue eValue, int32 val ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetConnectionConfigValueFloat( ISteamNetworkingUtils* self, HSteamNetConnection hConn, ESteamNetworkingConfigValue eValue, float val ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetConnectionConfigValueString( ISteamNetworkingUtils* self, HSteamNetConnection hConn, ESteamNetworkingConfigValue eValue, const char * val ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetGlobalCallback_SteamNetConnectionStatusChanged( ISteamNetworkingUtils* self, FnSteamNetConnectionStatusChanged fnCallback ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetGlobalCallback_SteamNetAuthenticationStatusChanged( ISteamNetworkingUtils* self, FnSteamNetAuthenticationStatusChanged fnCallback ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetGlobalCallback_SteamRelayNetworkStatusChanged( ISteamNetworkingUtils* self, FnSteamRelayNetworkStatusChanged fnCallback ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetGlobalCallback_FakeIPResult( ISteamNetworkingUtils* self, FnSteamNetworkingFakeIPResult fnCallback ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetGlobalCallback_MessagesSessionRequest( ISteamNetworkingUtils* self, FnSteamNetworkingMessagesSessionRequest fnCallback ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetGlobalCallback_MessagesSessionFailed( ISteamNetworkingUtils* self, FnSteamNetworkingMessagesSessionFailed fnCallback ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetConfigValue( ISteamNetworkingUtils* self, ESteamNetworkingConfigValue eValue, ESteamNetworkingConfigScope eScopeType, intptr_t scopeObj, ESteamNetworkingConfigDataType eDataType, const void * pArg ); +S_API bool SteamAPI_ISteamNetworkingUtils_SetConfigValueStruct( ISteamNetworkingUtils* self, const SteamNetworkingConfigValue_t & opt, ESteamNetworkingConfigScope eScopeType, intptr_t scopeObj ); +S_API ESteamNetworkingGetConfigValueResult SteamAPI_ISteamNetworkingUtils_GetConfigValue( ISteamNetworkingUtils* self, ESteamNetworkingConfigValue eValue, ESteamNetworkingConfigScope eScopeType, intptr_t scopeObj, ESteamNetworkingConfigDataType * pOutDataType, void * pResult, size_t * cbResult ); +S_API const char * SteamAPI_ISteamNetworkingUtils_GetConfigValueInfo( ISteamNetworkingUtils* self, ESteamNetworkingConfigValue eValue, ESteamNetworkingConfigDataType * pOutDataType, ESteamNetworkingConfigScope * pOutScope ); +S_API ESteamNetworkingConfigValue SteamAPI_ISteamNetworkingUtils_IterateGenericEditableConfigValues( ISteamNetworkingUtils* self, ESteamNetworkingConfigValue eCurrent, bool bEnumerateDevVars ); +S_API void SteamAPI_ISteamNetworkingUtils_SteamNetworkingIPAddr_ToString( ISteamNetworkingUtils* self, const SteamNetworkingIPAddr & addr, char * buf, uint32 cbBuf, bool bWithPort ); +S_API bool SteamAPI_ISteamNetworkingUtils_SteamNetworkingIPAddr_ParseString( ISteamNetworkingUtils* self, SteamNetworkingIPAddr * pAddr, const char * pszStr ); +S_API ESteamNetworkingFakeIPType SteamAPI_ISteamNetworkingUtils_SteamNetworkingIPAddr_GetFakeIPType( ISteamNetworkingUtils* self, const SteamNetworkingIPAddr & addr ); +S_API void SteamAPI_ISteamNetworkingUtils_SteamNetworkingIdentity_ToString( ISteamNetworkingUtils* self, const SteamNetworkingIdentity & identity, char * buf, uint32 cbBuf ); +S_API bool SteamAPI_ISteamNetworkingUtils_SteamNetworkingIdentity_ParseString( ISteamNetworkingUtils* self, SteamNetworkingIdentity * pIdentity, const char * pszStr ); + +// ISteamGameServer + +// A versioned accessor is exported by the library +S_API ISteamGameServer *SteamAPI_SteamGameServer_v015(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServer(), but using this ensures that you are using a matching library. +inline ISteamGameServer *SteamAPI_SteamGameServer() { return SteamAPI_SteamGameServer_v015(); } +S_API void SteamAPI_ISteamGameServer_SetProduct( ISteamGameServer* self, const char * pszProduct ); +S_API void SteamAPI_ISteamGameServer_SetGameDescription( ISteamGameServer* self, const char * pszGameDescription ); +S_API void SteamAPI_ISteamGameServer_SetModDir( ISteamGameServer* self, const char * pszModDir ); +S_API void SteamAPI_ISteamGameServer_SetDedicatedServer( ISteamGameServer* self, bool bDedicated ); +S_API void SteamAPI_ISteamGameServer_LogOn( ISteamGameServer* self, const char * pszToken ); +S_API void SteamAPI_ISteamGameServer_LogOnAnonymous( ISteamGameServer* self ); +S_API void SteamAPI_ISteamGameServer_LogOff( ISteamGameServer* self ); +S_API bool SteamAPI_ISteamGameServer_BLoggedOn( ISteamGameServer* self ); +S_API bool SteamAPI_ISteamGameServer_BSecure( ISteamGameServer* self ); +S_API uint64_steamid SteamAPI_ISteamGameServer_GetSteamID( ISteamGameServer* self ); +S_API bool SteamAPI_ISteamGameServer_WasRestartRequested( ISteamGameServer* self ); +S_API void SteamAPI_ISteamGameServer_SetMaxPlayerCount( ISteamGameServer* self, int cPlayersMax ); +S_API void SteamAPI_ISteamGameServer_SetBotPlayerCount( ISteamGameServer* self, int cBotplayers ); +S_API void SteamAPI_ISteamGameServer_SetServerName( ISteamGameServer* self, const char * pszServerName ); +S_API void SteamAPI_ISteamGameServer_SetMapName( ISteamGameServer* self, const char * pszMapName ); +S_API void SteamAPI_ISteamGameServer_SetPasswordProtected( ISteamGameServer* self, bool bPasswordProtected ); +S_API void SteamAPI_ISteamGameServer_SetSpectatorPort( ISteamGameServer* self, uint16 unSpectatorPort ); +S_API void SteamAPI_ISteamGameServer_SetSpectatorServerName( ISteamGameServer* self, const char * pszSpectatorServerName ); +S_API void SteamAPI_ISteamGameServer_ClearAllKeyValues( ISteamGameServer* self ); +S_API void SteamAPI_ISteamGameServer_SetKeyValue( ISteamGameServer* self, const char * pKey, const char * pValue ); +S_API void SteamAPI_ISteamGameServer_SetGameTags( ISteamGameServer* self, const char * pchGameTags ); +S_API void SteamAPI_ISteamGameServer_SetGameData( ISteamGameServer* self, const char * pchGameData ); +S_API void SteamAPI_ISteamGameServer_SetRegion( ISteamGameServer* self, const char * pszRegion ); +S_API void SteamAPI_ISteamGameServer_SetAdvertiseServerActive( ISteamGameServer* self, bool bActive ); +S_API HAuthTicket SteamAPI_ISteamGameServer_GetAuthSessionTicket( ISteamGameServer* self, void * pTicket, int cbMaxTicket, uint32 * pcbTicket, const SteamNetworkingIdentity * pSnid ); +S_API EBeginAuthSessionResult SteamAPI_ISteamGameServer_BeginAuthSession( ISteamGameServer* self, const void * pAuthTicket, int cbAuthTicket, uint64_steamid steamID ); +S_API void SteamAPI_ISteamGameServer_EndAuthSession( ISteamGameServer* self, uint64_steamid steamID ); +S_API void SteamAPI_ISteamGameServer_CancelAuthTicket( ISteamGameServer* self, HAuthTicket hAuthTicket ); +S_API EUserHasLicenseForAppResult SteamAPI_ISteamGameServer_UserHasLicenseForApp( ISteamGameServer* self, uint64_steamid steamID, AppId_t appID ); +S_API bool SteamAPI_ISteamGameServer_RequestUserGroupStatus( ISteamGameServer* self, uint64_steamid steamIDUser, uint64_steamid steamIDGroup ); +S_API void SteamAPI_ISteamGameServer_GetGameplayStats( ISteamGameServer* self ); +S_API SteamAPICall_t SteamAPI_ISteamGameServer_GetServerReputation( ISteamGameServer* self ); +S_API SteamIPAddress_t SteamAPI_ISteamGameServer_GetPublicIP( ISteamGameServer* self ); +S_API bool SteamAPI_ISteamGameServer_HandleIncomingPacket( ISteamGameServer* self, const void * pData, int cbData, uint32 srcIP, uint16 srcPort ); +S_API int SteamAPI_ISteamGameServer_GetNextOutgoingPacket( ISteamGameServer* self, void * pOut, int cbMaxOut, uint32 * pNetAdr, uint16 * pPort ); +S_API SteamAPICall_t SteamAPI_ISteamGameServer_AssociateWithClan( ISteamGameServer* self, uint64_steamid steamIDClan ); +S_API SteamAPICall_t SteamAPI_ISteamGameServer_ComputeNewPlayerCompatibility( ISteamGameServer* self, uint64_steamid steamIDNewPlayer ); +S_API bool SteamAPI_ISteamGameServer_SendUserConnectAndAuthenticate_DEPRECATED( ISteamGameServer* self, uint32 unIPClient, const void * pvAuthBlob, uint32 cubAuthBlobSize, CSteamID * pSteamIDUser ); +S_API uint64_steamid SteamAPI_ISteamGameServer_CreateUnauthenticatedUserConnection( ISteamGameServer* self ); +S_API void SteamAPI_ISteamGameServer_SendUserDisconnect_DEPRECATED( ISteamGameServer* self, uint64_steamid steamIDUser ); +S_API bool SteamAPI_ISteamGameServer_BUpdateUserData( ISteamGameServer* self, uint64_steamid steamIDUser, const char * pchPlayerName, uint32 uScore ); + +// ISteamGameServerStats + +// A versioned accessor is exported by the library +S_API ISteamGameServerStats *SteamAPI_SteamGameServerStats_v001(); +// Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServerStats(), but using this ensures that you are using a matching library. +inline ISteamGameServerStats *SteamAPI_SteamGameServerStats() { return SteamAPI_SteamGameServerStats_v001(); } +S_API SteamAPICall_t SteamAPI_ISteamGameServerStats_RequestUserStats( ISteamGameServerStats* self, uint64_steamid steamIDUser ); +S_API bool SteamAPI_ISteamGameServerStats_GetUserStatInt32( ISteamGameServerStats* self, uint64_steamid steamIDUser, const char * pchName, int32 * pData ); +S_API bool SteamAPI_ISteamGameServerStats_GetUserStatFloat( ISteamGameServerStats* self, uint64_steamid steamIDUser, const char * pchName, float * pData ); +S_API bool SteamAPI_ISteamGameServerStats_GetUserAchievement( ISteamGameServerStats* self, uint64_steamid steamIDUser, const char * pchName, bool * pbAchieved ); +S_API bool SteamAPI_ISteamGameServerStats_SetUserStatInt32( ISteamGameServerStats* self, uint64_steamid steamIDUser, const char * pchName, int32 nData ); +S_API bool SteamAPI_ISteamGameServerStats_SetUserStatFloat( ISteamGameServerStats* self, uint64_steamid steamIDUser, const char * pchName, float fData ); +S_API bool SteamAPI_ISteamGameServerStats_UpdateUserAvgRateStat( ISteamGameServerStats* self, uint64_steamid steamIDUser, const char * pchName, float flCountThisSession, double dSessionLength ); +S_API bool SteamAPI_ISteamGameServerStats_SetUserAchievement( ISteamGameServerStats* self, uint64_steamid steamIDUser, const char * pchName ); +S_API bool SteamAPI_ISteamGameServerStats_ClearUserAchievement( ISteamGameServerStats* self, uint64_steamid steamIDUser, const char * pchName ); +S_API SteamAPICall_t SteamAPI_ISteamGameServerStats_StoreUserStats( ISteamGameServerStats* self, uint64_steamid steamIDUser ); + +// ISteamNetworkingFakeUDPPort +S_API void SteamAPI_ISteamNetworkingFakeUDPPort_DestroyFakeUDPPort( ISteamNetworkingFakeUDPPort* self ); +S_API EResult SteamAPI_ISteamNetworkingFakeUDPPort_SendMessageToFakeIP( ISteamNetworkingFakeUDPPort* self, const SteamNetworkingIPAddr & remoteAddress, const void * pData, uint32 cbData, int nSendFlags ); +S_API int SteamAPI_ISteamNetworkingFakeUDPPort_ReceiveMessages( ISteamNetworkingFakeUDPPort* self, SteamNetworkingMessage_t ** ppOutMessages, int nMaxMessages ); +S_API void SteamAPI_ISteamNetworkingFakeUDPPort_ScheduleCleanup( ISteamNetworkingFakeUDPPort* self, const SteamNetworkingIPAddr & remoteAddress ); + +// SteamIPAddress_t +S_API bool SteamAPI_SteamIPAddress_t_IsSet( SteamIPAddress_t* self ); + +// MatchMakingKeyValuePair_t +S_API void SteamAPI_MatchMakingKeyValuePair_t_Construct( MatchMakingKeyValuePair_t* self ); + +// servernetadr_t +S_API void SteamAPI_servernetadr_t_Construct( servernetadr_t* self ); +S_API void SteamAPI_servernetadr_t_Init( servernetadr_t* self, unsigned int ip, uint16 usQueryPort, uint16 usConnectionPort ); +S_API uint16 SteamAPI_servernetadr_t_GetQueryPort( servernetadr_t* self ); +S_API void SteamAPI_servernetadr_t_SetQueryPort( servernetadr_t* self, uint16 usPort ); +S_API uint16 SteamAPI_servernetadr_t_GetConnectionPort( servernetadr_t* self ); +S_API void SteamAPI_servernetadr_t_SetConnectionPort( servernetadr_t* self, uint16 usPort ); +S_API uint32 SteamAPI_servernetadr_t_GetIP( servernetadr_t* self ); +S_API void SteamAPI_servernetadr_t_SetIP( servernetadr_t* self, uint32 unIP ); +S_API const char * SteamAPI_servernetadr_t_GetConnectionAddressString( servernetadr_t* self ); +S_API const char * SteamAPI_servernetadr_t_GetQueryAddressString( servernetadr_t* self ); +S_API bool SteamAPI_servernetadr_t_IsLessThan( servernetadr_t* self, const servernetadr_t & netadr ); +S_API void SteamAPI_servernetadr_t_Assign( servernetadr_t* self, const servernetadr_t & that ); + +// gameserveritem_t +S_API void SteamAPI_gameserveritem_t_Construct( gameserveritem_t* self ); +S_API const char * SteamAPI_gameserveritem_t_GetName( gameserveritem_t* self ); +S_API void SteamAPI_gameserveritem_t_SetName( gameserveritem_t* self, const char * pName ); + +// SteamNetworkingIPAddr +S_API void SteamAPI_SteamNetworkingIPAddr_Clear( SteamNetworkingIPAddr* self ); +S_API bool SteamAPI_SteamNetworkingIPAddr_IsIPv6AllZeros( SteamNetworkingIPAddr* self ); +S_API void SteamAPI_SteamNetworkingIPAddr_SetIPv6( SteamNetworkingIPAddr* self, const uint8 * ipv6, uint16 nPort ); +S_API void SteamAPI_SteamNetworkingIPAddr_SetIPv4( SteamNetworkingIPAddr* self, uint32 nIP, uint16 nPort ); +S_API bool SteamAPI_SteamNetworkingIPAddr_IsIPv4( SteamNetworkingIPAddr* self ); +S_API uint32 SteamAPI_SteamNetworkingIPAddr_GetIPv4( SteamNetworkingIPAddr* self ); +S_API void SteamAPI_SteamNetworkingIPAddr_SetIPv6LocalHost( SteamNetworkingIPAddr* self, uint16 nPort ); +S_API bool SteamAPI_SteamNetworkingIPAddr_IsLocalHost( SteamNetworkingIPAddr* self ); +S_API void SteamAPI_SteamNetworkingIPAddr_ToString( SteamNetworkingIPAddr* self, char * buf, uint32 cbBuf, bool bWithPort ); +S_API bool SteamAPI_SteamNetworkingIPAddr_ParseString( SteamNetworkingIPAddr* self, const char * pszStr ); +S_API bool SteamAPI_SteamNetworkingIPAddr_IsEqualTo( SteamNetworkingIPAddr* self, const SteamNetworkingIPAddr & x ); +S_API ESteamNetworkingFakeIPType SteamAPI_SteamNetworkingIPAddr_GetFakeIPType( SteamNetworkingIPAddr* self ); +S_API bool SteamAPI_SteamNetworkingIPAddr_IsFakeIP( SteamNetworkingIPAddr* self ); + +// SteamNetworkingIdentity +S_API void SteamAPI_SteamNetworkingIdentity_Clear( SteamNetworkingIdentity* self ); +S_API bool SteamAPI_SteamNetworkingIdentity_IsInvalid( SteamNetworkingIdentity* self ); +S_API void SteamAPI_SteamNetworkingIdentity_SetSteamID( SteamNetworkingIdentity* self, uint64_steamid steamID ); +S_API uint64_steamid SteamAPI_SteamNetworkingIdentity_GetSteamID( SteamNetworkingIdentity* self ); +S_API void SteamAPI_SteamNetworkingIdentity_SetSteamID64( SteamNetworkingIdentity* self, uint64 steamID ); +S_API uint64 SteamAPI_SteamNetworkingIdentity_GetSteamID64( SteamNetworkingIdentity* self ); +S_API bool SteamAPI_SteamNetworkingIdentity_SetXboxPairwiseID( SteamNetworkingIdentity* self, const char * pszString ); +S_API const char * SteamAPI_SteamNetworkingIdentity_GetXboxPairwiseID( SteamNetworkingIdentity* self ); +S_API void SteamAPI_SteamNetworkingIdentity_SetPSNID( SteamNetworkingIdentity* self, uint64 id ); +S_API uint64 SteamAPI_SteamNetworkingIdentity_GetPSNID( SteamNetworkingIdentity* self ); +S_API void SteamAPI_SteamNetworkingIdentity_SetStadiaID( SteamNetworkingIdentity* self, uint64 id ); +S_API uint64 SteamAPI_SteamNetworkingIdentity_GetStadiaID( SteamNetworkingIdentity* self ); +S_API void SteamAPI_SteamNetworkingIdentity_SetIPAddr( SteamNetworkingIdentity* self, const SteamNetworkingIPAddr & addr ); +S_API const SteamNetworkingIPAddr * SteamAPI_SteamNetworkingIdentity_GetIPAddr( SteamNetworkingIdentity* self ); +S_API void SteamAPI_SteamNetworkingIdentity_SetIPv4Addr( SteamNetworkingIdentity* self, uint32 nIPv4, uint16 nPort ); +S_API uint32 SteamAPI_SteamNetworkingIdentity_GetIPv4( SteamNetworkingIdentity* self ); +S_API ESteamNetworkingFakeIPType SteamAPI_SteamNetworkingIdentity_GetFakeIPType( SteamNetworkingIdentity* self ); +S_API bool SteamAPI_SteamNetworkingIdentity_IsFakeIP( SteamNetworkingIdentity* self ); +S_API void SteamAPI_SteamNetworkingIdentity_SetLocalHost( SteamNetworkingIdentity* self ); +S_API bool SteamAPI_SteamNetworkingIdentity_IsLocalHost( SteamNetworkingIdentity* self ); +S_API bool SteamAPI_SteamNetworkingIdentity_SetGenericString( SteamNetworkingIdentity* self, const char * pszString ); +S_API const char * SteamAPI_SteamNetworkingIdentity_GetGenericString( SteamNetworkingIdentity* self ); +S_API bool SteamAPI_SteamNetworkingIdentity_SetGenericBytes( SteamNetworkingIdentity* self, const void * data, uint32 cbLen ); +S_API const uint8 * SteamAPI_SteamNetworkingIdentity_GetGenericBytes( SteamNetworkingIdentity* self, int & cbLen ); +S_API bool SteamAPI_SteamNetworkingIdentity_IsEqualTo( SteamNetworkingIdentity* self, const SteamNetworkingIdentity & x ); +S_API void SteamAPI_SteamNetworkingIdentity_ToString( SteamNetworkingIdentity* self, char * buf, uint32 cbBuf ); +S_API bool SteamAPI_SteamNetworkingIdentity_ParseString( SteamNetworkingIdentity* self, const char * pszStr ); + +// SteamNetworkingMessage_t +S_API void SteamAPI_SteamNetworkingMessage_t_Release( SteamNetworkingMessage_t* self ); + +// SteamNetworkingConfigValue_t +S_API void SteamAPI_SteamNetworkingConfigValue_t_SetInt32( SteamNetworkingConfigValue_t* self, ESteamNetworkingConfigValue eVal, int32_t data ); +S_API void SteamAPI_SteamNetworkingConfigValue_t_SetInt64( SteamNetworkingConfigValue_t* self, ESteamNetworkingConfigValue eVal, int64_t data ); +S_API void SteamAPI_SteamNetworkingConfigValue_t_SetFloat( SteamNetworkingConfigValue_t* self, ESteamNetworkingConfigValue eVal, float data ); +S_API void SteamAPI_SteamNetworkingConfigValue_t_SetPtr( SteamNetworkingConfigValue_t* self, ESteamNetworkingConfigValue eVal, void * data ); +S_API void SteamAPI_SteamNetworkingConfigValue_t_SetString( SteamNetworkingConfigValue_t* self, ESteamNetworkingConfigValue eVal, const char * data ); + +// SteamDatagramHostedAddress +S_API void SteamAPI_SteamDatagramHostedAddress_Clear( SteamDatagramHostedAddress* self ); +S_API SteamNetworkingPOPID SteamAPI_SteamDatagramHostedAddress_GetPopID( SteamDatagramHostedAddress* self ); +S_API void SteamAPI_SteamDatagramHostedAddress_SetDevAddress( SteamDatagramHostedAddress* self, uint32 nIP, uint16 nPort, SteamNetworkingPOPID popid ); +#endif // STEAMAPIFLAT_H diff --git a/lsteamclient/steamworks_sdk_159x/steam_api_internal.h b/lsteamclient/steamworks_sdk_159x/steam_api_internal.h new file mode 100644 index 0000000000..e3aa18f546 --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/steam_api_internal.h @@ -0,0 +1,396 @@ +//====== Copyright Valve Corporation, All rights reserved. ==================== +// +// Internal implementation details of the steamworks SDK. +// +// You should be able to figure out how to use the SDK by reading +// steam_api_common.h, and should not need to understand anything in here. +// +//----------------------------------------------------------------------------- + +#ifdef STEAM_CALLBACK_BEGIN +#error "This file should only be included from steam_api_common.h" +#endif + +#include + +// Internal functions used to locate/create interfaces +S_API HSteamPipe S_CALLTYPE SteamAPI_GetHSteamPipe(); +S_API HSteamUser S_CALLTYPE SteamAPI_GetHSteamUser(); +S_API HSteamPipe S_CALLTYPE SteamGameServer_GetHSteamPipe(); +S_API HSteamUser S_CALLTYPE SteamGameServer_GetHSteamUser(); +S_API void *S_CALLTYPE SteamInternal_ContextInit( void *pContextInitData ); +S_API void *S_CALLTYPE SteamInternal_CreateInterface( const char *ver ); +S_API void *S_CALLTYPE SteamInternal_FindOrCreateUserInterface( HSteamUser hSteamUser, const char *pszVersion ); +S_API void *S_CALLTYPE SteamInternal_FindOrCreateGameServerInterface( HSteamUser hSteamUser, const char *pszVersion ); + +// Macro used to define a type-safe accessor that will always return the version +// of the interface of the *header file* you are compiling with! We also bounce +// through a safety function that checks for interfaces being created or destroyed. +// +// SteamInternal_ContextInit takes a base pointer for the equivalent of +// struct { void (*pFn)(void* pCtx); uintptr_t counter; void *ptr; } +// Do not change layout or add non-pointer aligned data! +#define STEAM_DEFINE_INTERFACE_ACCESSOR( type, name, expr, kind, version ) \ + inline void S_CALLTYPE SteamInternal_Init_ ## name( type *p ) { *p = (type)( expr ); } \ + STEAM_CLANG_ATTR( "interface_accessor_kind:" kind ";interface_accessor_version:" version ";" ) \ + inline type name() { \ + static void* s_CallbackCounterAndContext[ 3 ] = { (void*)&SteamInternal_Init_ ## name, 0, 0 }; \ + return *(type*)SteamInternal_ContextInit( s_CallbackCounterAndContext ); \ + } + +#define STEAM_DEFINE_USER_INTERFACE_ACCESSOR( type, name, version ) \ + STEAM_DEFINE_INTERFACE_ACCESSOR( type, name, SteamInternal_FindOrCreateUserInterface( SteamAPI_GetHSteamUser(), version ), "user", version ) +#define STEAM_DEFINE_GAMESERVER_INTERFACE_ACCESSOR( type, name, version ) \ + STEAM_DEFINE_INTERFACE_ACCESSOR( type, name, SteamInternal_FindOrCreateGameServerInterface( SteamGameServer_GetHSteamUser(), version ), "gameserver", version ) + +// +// Internal stuff used for the standard, higher-level callback mechanism +// + +// Internal functions used by the utility CCallback objects to receive callbacks +S_API void S_CALLTYPE SteamAPI_RegisterCallback( class CCallbackBase *pCallback, int iCallback ); +S_API void S_CALLTYPE SteamAPI_UnregisterCallback( class CCallbackBase *pCallback ); +// Internal functions used by the utility CCallResult objects to receive async call results +S_API void S_CALLTYPE SteamAPI_RegisterCallResult( class CCallbackBase *pCallback, SteamAPICall_t hAPICall ); +S_API void S_CALLTYPE SteamAPI_UnregisterCallResult( class CCallbackBase *pCallback, SteamAPICall_t hAPICall ); + +#define _STEAM_CALLBACK_OFFSETOF( type, member ) ( (size_t)( (char *)&( (type *)0 )->member ) ) +#define _STEAM_CALLBACK_AUTO_HOOK( thisclass, func, param ) +#define _STEAM_CALLBACK_HELPER( _1, _2, SELECTED, ... ) _STEAM_CALLBACK_##SELECTED +#define _STEAM_CALLBACK_SELECT( X, Y ) _STEAM_CALLBACK_HELPER X Y +#define _STEAM_CALLBACK_3( extra_code, thisclass, func, param ) \ + struct CCallbackInternal_ ## func : private CCallbackImpl< sizeof( param ) > { \ + CCallbackInternal_ ## func () { extra_code SteamAPI_RegisterCallback( this, param::k_iCallback ); } \ + CCallbackInternal_ ## func ( const CCallbackInternal_ ## func & ) { extra_code SteamAPI_RegisterCallback( this, param::k_iCallback ); } \ + CCallbackInternal_ ## func & operator=( const CCallbackInternal_ ## func & ) { return *this; } \ + private: virtual void Run( void *pvParam ) S_OVERRIDE { _STEAM_CALLBACK_AUTO_HOOK( thisclass, func, param ) \ + thisclass *pOuter = reinterpret_cast( reinterpret_cast(this) - _STEAM_CALLBACK_OFFSETOF( thisclass, m_steamcallback_ ## func ) ); \ + pOuter->func( reinterpret_cast( pvParam ) ); \ + } \ + } m_steamcallback_ ## func ; void func( param *pParam ) +#define _STEAM_CALLBACK_4( _, thisclass, func, param, var ) \ + CCallback< thisclass, param > var; void func( param *pParam ) +#define _STEAM_CALLBACK_GS( _, thisclass, func, param, var ) \ + CCallback< thisclass, param, true > var; void func( param *pParam ) + +#ifndef API_GEN + +template< class T, class P > +inline CCallResult::CCallResult() +{ + m_hAPICall = k_uAPICallInvalid; + m_pObj = nullptr; + m_Func = nullptr; + m_iCallback = P::k_iCallback; +} + +template< class T, class P > +inline void CCallResult::Set( SteamAPICall_t hAPICall, T *p, func_t func ) +{ + if ( m_hAPICall ) + SteamAPI_UnregisterCallResult( this, m_hAPICall ); + + m_hAPICall = hAPICall; + m_pObj = p; + m_Func = func; + + if ( hAPICall ) + SteamAPI_RegisterCallResult( this, hAPICall ); +} + +template< class T, class P > +inline bool CCallResult::IsActive() const +{ + return (m_hAPICall != k_uAPICallInvalid); +} + +template< class T, class P > +inline void CCallResult::Cancel() +{ + if ( m_hAPICall != k_uAPICallInvalid ) + { + SteamAPI_UnregisterCallResult( this, m_hAPICall ); + m_hAPICall = k_uAPICallInvalid; + } +} + +template< class T, class P > +inline CCallResult::~CCallResult() +{ + Cancel(); +} + +template< class T, class P > +inline void CCallResult::Run( void *pvParam ) +{ + m_hAPICall = k_uAPICallInvalid; // caller unregisters for us + (m_pObj->*m_Func)((P *)pvParam, false); +} + +template< class T, class P > +inline void CCallResult::Run( void *pvParam, bool bIOFailure, SteamAPICall_t hSteamAPICall ) +{ + if ( hSteamAPICall == m_hAPICall ) + { + m_hAPICall = k_uAPICallInvalid; // caller unregisters for us + (m_pObj->*m_Func)((P *)pvParam, bIOFailure); + } +} + +template< class T, class P, bool bGameserver > +inline CCallback< T, P, bGameserver >::CCallback( T *pObj, func_t func ) + : m_pObj( nullptr ), m_Func( nullptr ) +{ + if ( bGameserver ) + { + this->SetGameserverFlag(); + } + Register( pObj, func ); +} + +template< class T, class P, bool bGameserver > +inline void CCallback< T, P, bGameserver >::Register( T *pObj, func_t func ) +{ + if ( !pObj || !func ) + return; + + if ( this->m_nCallbackFlags & CCallbackBase::k_ECallbackFlagsRegistered ) + Unregister(); + + m_pObj = pObj; + m_Func = func; + // SteamAPI_RegisterCallback sets k_ECallbackFlagsRegistered + SteamAPI_RegisterCallback( this, P::k_iCallback ); +} + +template< class T, class P, bool bGameserver > +inline void CCallback< T, P, bGameserver >::Unregister() +{ + // SteamAPI_UnregisterCallback removes k_ECallbackFlagsRegistered + SteamAPI_UnregisterCallback( this ); +} + +template< class T, class P, bool bGameserver > +inline void CCallback< T, P, bGameserver >::Run( void *pvParam ) +{ + (m_pObj->*m_Func)((P *)pvParam); +} + +#endif // #ifndef API_GEN + +// structure that contains client callback data +// see callbacks documentation for more details +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx +#endif + +/// Internal structure used in manual callback dispatch +struct CallbackMsg_t +{ + HSteamUser m_hSteamUser; // Specific user to whom this callback applies. + int m_iCallback; // Callback identifier. (Corresponds to the k_iCallback enum in the callback structure.) + uint8 *m_pubParam; // Points to the callback structure + int m_cubParam; // Size of the data pointed to by m_pubParam +}; +#pragma pack( pop ) + +// Macros to define steam callback structures. Used internally for debugging +#ifdef STEAM_CALLBACK_INSPECTION_ENABLED + #include "../../clientdll/steam_api_callback_inspection.h" +#else + #define STEAM_CALLBACK_BEGIN( callbackname, callbackid ) struct callbackname { enum { k_iCallback = callbackid }; + #define STEAM_CALLBACK_MEMBER( varidx, vartype, varname ) vartype varname ; + #define STEAM_CALLBACK_MEMBER_ARRAY( varidx, vartype, varname, varcount ) vartype varname [ varcount ]; + #define STEAM_CALLBACK_END(nArgs) }; +#endif + +// Forward declare all of the Steam interfaces. (Do we really need to do this?) +class ISteamClient; +class ISteamUser; +class ISteamGameServer; +class ISteamFriends; +class ISteamUtils; +class ISteamMatchmaking; +class ISteamContentServer; +class ISteamMatchmakingServers; +class ISteamUserStats; +class ISteamApps; +class ISteamNetworking; +class ISteamRemoteStorage; +class ISteamScreenshots; +class ISteamMusic; +class ISteamMusicRemote; +class ISteamGameServerStats; +class ISteamPS3OverlayRender; +class ISteamHTTP; +class ISteamController; +class ISteamUGC; +class ISteamHTMLSurface; +class ISteamInventory; +class ISteamVideo; +class ISteamParentalSettings; +class ISteamGameSearch; +class ISteamInput; +class ISteamParties; +class ISteamRemotePlay; + +// Forward declare types +struct SteamNetworkingIdentity; + +//----------------------------------------------------------------------------- +// Purpose: Base values for callback identifiers, each callback must +// have a unique ID. +//----------------------------------------------------------------------------- +enum { k_iSteamUserCallbacks = 100 }; +enum { k_iSteamGameServerCallbacks = 200 }; +enum { k_iSteamFriendsCallbacks = 300 }; +enum { k_iSteamBillingCallbacks = 400 }; +enum { k_iSteamMatchmakingCallbacks = 500 }; +enum { k_iSteamContentServerCallbacks = 600 }; +enum { k_iSteamUtilsCallbacks = 700 }; +enum { k_iSteamAppsCallbacks = 1000 }; +enum { k_iSteamUserStatsCallbacks = 1100 }; +enum { k_iSteamNetworkingCallbacks = 1200 }; +enum { k_iSteamNetworkingSocketsCallbacks = 1220 }; +enum { k_iSteamNetworkingMessagesCallbacks = 1250 }; +enum { k_iSteamNetworkingUtilsCallbacks = 1280 }; +enum { k_iSteamRemoteStorageCallbacks = 1300 }; +enum { k_iSteamGameServerItemsCallbacks = 1500 }; +enum { k_iSteamGameCoordinatorCallbacks = 1700 }; +enum { k_iSteamGameServerStatsCallbacks = 1800 }; +enum { k_iSteam2AsyncCallbacks = 1900 }; +enum { k_iSteamGameStatsCallbacks = 2000 }; +enum { k_iSteamHTTPCallbacks = 2100 }; +enum { k_iSteamScreenshotsCallbacks = 2300 }; +// NOTE: 2500-2599 are reserved +enum { k_iSteamStreamLauncherCallbacks = 2600 }; +enum { k_iSteamControllerCallbacks = 2800 }; +enum { k_iSteamUGCCallbacks = 3400 }; +enum { k_iSteamStreamClientCallbacks = 3500 }; +enum { k_iSteamMusicCallbacks = 4000 }; +enum { k_iSteamMusicRemoteCallbacks = 4100 }; +enum { k_iSteamGameNotificationCallbacks = 4400 }; +enum { k_iSteamHTMLSurfaceCallbacks = 4500 }; +enum { k_iSteamVideoCallbacks = 4600 }; +enum { k_iSteamInventoryCallbacks = 4700 }; +enum { k_ISteamParentalSettingsCallbacks = 5000 }; +enum { k_iSteamGameSearchCallbacks = 5200 }; +enum { k_iSteamPartiesCallbacks = 5300 }; +enum { k_iSteamSTARCallbacks = 5500 }; +enum { k_iSteamRemotePlayCallbacks = 5700 }; +enum { k_iSteamChatCallbacks = 5900 }; +// NOTE: Internal "IClientXxx" callback IDs go in clientenums.h + +// Macros used to annotate various Steamworks interfaces to generate the +// flat API +#ifdef API_GEN +# define STEAM_CLANG_ATTR(ATTR) __attribute__((annotate( ATTR ))) +#else +# define STEAM_CLANG_ATTR(ATTR) +#endif + +#define STEAM_OUT_STRUCT() STEAM_CLANG_ATTR( "out_struct: ;" ) +#define STEAM_OUT_STRING() STEAM_CLANG_ATTR( "out_string: ;" ) +#define STEAM_OUT_ARRAY_CALL(COUNTER,FUNCTION,PARAMS) STEAM_CLANG_ATTR( "out_array_call:" #COUNTER "," #FUNCTION "," #PARAMS ";" ) +#define STEAM_OUT_ARRAY_COUNT(COUNTER, DESC) STEAM_CLANG_ATTR( "out_array_count:" #COUNTER ";desc:" #DESC ) +#define STEAM_ARRAY_COUNT(COUNTER) STEAM_CLANG_ATTR( "array_count:" #COUNTER ";" ) +#define STEAM_ARRAY_COUNT_D(COUNTER, DESC) STEAM_CLANG_ATTR( "array_count:" #COUNTER ";desc:" #DESC ) +#define STEAM_BUFFER_COUNT(COUNTER) STEAM_CLANG_ATTR( "buffer_count:" #COUNTER ";" ) +#define STEAM_OUT_BUFFER_COUNT(COUNTER) STEAM_CLANG_ATTR( "out_buffer_count:" #COUNTER ";" ) +#define STEAM_OUT_STRING_COUNT(COUNTER) STEAM_CLANG_ATTR( "out_string_count:" #COUNTER ";" ) +#define STEAM_DESC(DESC) STEAM_CLANG_ATTR("desc:" #DESC ";") +#define STEAM_CALL_RESULT(RESULT_TYPE) STEAM_CLANG_ATTR("callresult:" #RESULT_TYPE ";") +#define STEAM_CALL_BACK(RESULT_TYPE) STEAM_CLANG_ATTR("callback:" #RESULT_TYPE ";") +#define STEAM_FLAT_NAME(NAME) STEAM_CLANG_ATTR("flat_name:" #NAME ";") + +// CSteamAPIContext encapsulates the Steamworks API global accessors into +// a single object. +// +// DEPRECATED: Used the global interface accessors instead! +// +// This will be removed in a future iteration of the SDK +class CSteamAPIContext +{ +public: + CSteamAPIContext() { Clear(); } + inline void Clear() { memset( this, 0, sizeof(*this) ); } + inline bool Init(); // NOTE: This is defined in steam_api.h, to avoid this file having to include everything + ISteamClient* SteamClient() const { return m_pSteamClient; } + ISteamUser* SteamUser() const { return m_pSteamUser; } + ISteamFriends* SteamFriends() const { return m_pSteamFriends; } + ISteamUtils* SteamUtils() const { return m_pSteamUtils; } + ISteamMatchmaking* SteamMatchmaking() const { return m_pSteamMatchmaking; } + ISteamGameSearch* SteamGameSearch() const { return m_pSteamGameSearch; } + ISteamUserStats* SteamUserStats() const { return m_pSteamUserStats; } + ISteamApps* SteamApps() const { return m_pSteamApps; } + ISteamMatchmakingServers* SteamMatchmakingServers() const { return m_pSteamMatchmakingServers; } + ISteamNetworking* SteamNetworking() const { return m_pSteamNetworking; } + ISteamRemoteStorage* SteamRemoteStorage() const { return m_pSteamRemoteStorage; } + ISteamScreenshots* SteamScreenshots() const { return m_pSteamScreenshots; } + ISteamHTTP* SteamHTTP() const { return m_pSteamHTTP; } + ISteamController* SteamController() const { return m_pController; } + ISteamUGC* SteamUGC() const { return m_pSteamUGC; } + ISteamMusic* SteamMusic() const { return m_pSteamMusic; } + ISteamMusicRemote* SteamMusicRemote() const { return m_pSteamMusicRemote; } + ISteamHTMLSurface* SteamHTMLSurface() const { return m_pSteamHTMLSurface; } + ISteamInventory* SteamInventory() const { return m_pSteamInventory; } + ISteamVideo* SteamVideo() const { return m_pSteamVideo; } + ISteamParentalSettings* SteamParentalSettings() const { return m_pSteamParentalSettings; } + ISteamInput* SteamInput() const { return m_pSteamInput; } +private: + ISteamClient *m_pSteamClient; + ISteamUser *m_pSteamUser; + ISteamFriends *m_pSteamFriends; + ISteamUtils *m_pSteamUtils; + ISteamMatchmaking *m_pSteamMatchmaking; + ISteamGameSearch *m_pSteamGameSearch; + ISteamUserStats *m_pSteamUserStats; + ISteamApps *m_pSteamApps; + ISteamMatchmakingServers *m_pSteamMatchmakingServers; + ISteamNetworking *m_pSteamNetworking; + ISteamRemoteStorage *m_pSteamRemoteStorage; + ISteamScreenshots *m_pSteamScreenshots; + ISteamHTTP *m_pSteamHTTP; + ISteamController *m_pController; + ISteamUGC *m_pSteamUGC; + ISteamMusic *m_pSteamMusic; + ISteamMusicRemote *m_pSteamMusicRemote; + ISteamHTMLSurface *m_pSteamHTMLSurface; + ISteamInventory *m_pSteamInventory; + ISteamVideo *m_pSteamVideo; + ISteamParentalSettings *m_pSteamParentalSettings; + ISteamInput *m_pSteamInput; +}; + +class CSteamGameServerAPIContext +{ +public: + CSteamGameServerAPIContext() { Clear(); } + inline void Clear() { memset( this, 0, sizeof(*this) ); } + inline bool Init(); // NOTE: This is defined in steam_gameserver.h, to avoid this file having to include everything + + ISteamClient *SteamClient() const { return m_pSteamClient; } + ISteamGameServer *SteamGameServer() const { return m_pSteamGameServer; } + ISteamUtils *SteamGameServerUtils() const { return m_pSteamGameServerUtils; } + ISteamNetworking *SteamGameServerNetworking() const { return m_pSteamGameServerNetworking; } + ISteamGameServerStats *SteamGameServerStats() const { return m_pSteamGameServerStats; } + ISteamHTTP *SteamHTTP() const { return m_pSteamHTTP; } + ISteamInventory *SteamInventory() const { return m_pSteamInventory; } + ISteamUGC *SteamUGC() const { return m_pSteamUGC; } + +private: + ISteamClient *m_pSteamClient; + ISteamGameServer *m_pSteamGameServer; + ISteamUtils *m_pSteamGameServerUtils; + ISteamNetworking *m_pSteamGameServerNetworking; + ISteamGameServerStats *m_pSteamGameServerStats; + ISteamHTTP *m_pSteamHTTP; + ISteamInventory *m_pSteamInventory; + ISteamUGC *m_pSteamUGC; +}; + + diff --git a/lsteamclient/steamworks_sdk_159x/steam_gameserver.h b/lsteamclient/steamworks_sdk_159x/steam_gameserver.h new file mode 100644 index 0000000000..f3873db00d --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/steam_gameserver.h @@ -0,0 +1,137 @@ +//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: +// +//============================================================================= + +#ifndef STEAM_GAMESERVER_H +#define STEAM_GAMESERVER_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api.h" +#include "isteamgameserver.h" +#include "isteamgameserverstats.h" + +enum EServerMode +{ + eServerModeInvalid = 0, // DO NOT USE + eServerModeNoAuthentication = 1, // Don't authenticate user logins and don't list on the server list + eServerModeAuthentication = 2, // Authenticate users, list on the server list, don't run VAC on clients that connect + eServerModeAuthenticationAndSecure = 3, // Authenticate users, list on the server list and VAC protect clients +}; + +/// Pass to SteamGameServer_Init to indicate that the same UDP port will be used for game traffic +/// UDP queries for server browser pings and LAN discovery. In this case, Steam will not open up a +/// socket to handle server browser queries, and you must use ISteamGameServer::HandleIncomingPacket +/// and ISteamGameServer::GetNextOutgoingPacket to handle packets related to server discovery on your socket. +const uint16 STEAMGAMESERVER_QUERY_PORT_SHARED = 0xffff; + +// DEPRECATED: This old name was really confusing. +const uint16 MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE = STEAMGAMESERVER_QUERY_PORT_SHARED; + +// Initialize SteamGameServer client and interface objects, and set server properties which may not be changed. +// +// After calling this function, you should set any additional server parameters, and then +// call ISteamGameServer::LogOnAnonymous() or ISteamGameServer::LogOn() +// +// - unIP will usually be zero. If you are on a machine with multiple IP addresses, you can pass a non-zero +// value here and the relevant sockets will be bound to that IP. This can be used to ensure that +// the IP you desire is the one used in the server browser. +// - usGamePort is the port that clients will connect to for gameplay. You will usually open up your +// own socket bound to this port. +// - usQueryPort is the port that will manage server browser related duties and info +// pings from clients. If you pass STEAMGAMESERVER_QUERY_PORT_SHARED for usQueryPort, then it +// will use "GameSocketShare" mode, which means that the game is responsible for sending and receiving +// UDP packets for the master server updater. (See ISteamGameServer::HandleIncomingPacket and +// ISteamGameServer::GetNextOutgoingPacket.) +// - The version string should be in the form x.x.x.x, and is used by the master server to detect when the +// server is out of date. (Only servers with the latest version will be listed.) +// +// On success k_ESteamAPIInitResult_OK is returned. Otherwise, if pOutErrMsg is non-NULL, +// it will receive a non-localized message that explains the reason for the failure +inline ESteamAPIInitResult SteamGameServer_InitEx( uint32 unIP, uint16 usGamePort, uint16 usQueryPort, EServerMode eServerMode, const char *pchVersionString, SteamErrMsg *pOutErrMsg ); + +// This function is included for compatibility with older SDK. +// You can use it if you don't care about decent error handling +inline bool SteamGameServer_Init( uint32 unIP, uint16 usGamePort, uint16 usQueryPort, EServerMode eServerMode, const char *pchVersionString ) +{ + return SteamGameServer_InitEx( unIP, usGamePort, usQueryPort, eServerMode, pchVersionString, NULL ) == k_ESteamAPIInitResult_OK; +} + +// Shutdown SteamGameSeverXxx interfaces, log out, and free resources. +S_API void SteamGameServer_Shutdown(); + +// Most Steam API functions allocate some amount of thread-local memory for +// parameter storage. Calling SteamGameServer_ReleaseCurrentThreadMemory() +// will free all API-related memory associated with the calling thread. +// This memory is released automatically by SteamGameServer_RunCallbacks(), +// so single-threaded servers do not need to explicitly call this function. +inline void SteamGameServer_ReleaseCurrentThreadMemory(); + +S_API bool SteamGameServer_BSecure(); +S_API uint64 SteamGameServer_GetSteamID(); + +// Older SDKs exported this global pointer, but it is no longer supported. +// You should use SteamGameServerClient() or CSteamGameServerAPIContext to +// safely access the ISteamClient APIs from your game server application. +//S_API ISteamClient *g_pSteamClientGameServer; + +// SteamGameServer_InitSafe has been replaced with SteamGameServer_Init and +// is no longer supported. Use SteamGameServer_Init instead. +//S_API void S_CALLTYPE SteamGameServer_InitSafe(); + +//============================================================================= +// +// Internal implementation details below +// +//============================================================================= + +#ifndef STEAM_API_EXPORTS +// This function must be declared inline in the header so the module using steam_api.dll gets the version names they want. +inline bool CSteamGameServerAPIContext::Init() +{ + m_pSteamClient = ::SteamGameServerClient(); + if ( !m_pSteamClient ) + return false; + + m_pSteamGameServer = ::SteamGameServer(); + m_pSteamGameServerUtils = ::SteamGameServerUtils(); + m_pSteamGameServerNetworking = ::SteamGameServerNetworking(); + m_pSteamGameServerStats = ::SteamGameServerStats(); + m_pSteamHTTP = ::SteamGameServerHTTP(); + m_pSteamInventory = ::SteamGameServerInventory(); + m_pSteamUGC = ::SteamGameServerUGC(); + if ( !m_pSteamGameServer || !m_pSteamGameServerUtils || !m_pSteamGameServerNetworking || !m_pSteamGameServerStats + || !m_pSteamHTTP || !m_pSteamInventory || !m_pSteamUGC ) + return false; + + return true; +} +#endif + +S_API ESteamAPIInitResult S_CALLTYPE SteamInternal_GameServer_Init_V2( uint32 unIP, uint16 usGamePort, uint16 usQueryPort, EServerMode eServerMode, const char *pchVersionString, const char *pszInternalCheckInterfaceVersions, SteamErrMsg *pOutErrMsg ); +inline ESteamAPIInitResult SteamGameServer_InitEx( uint32 unIP, uint16 usGamePort, uint16 usQueryPort, EServerMode eServerMode, const char *pchVersionString, SteamErrMsg *pOutErrMsg ) +{ + const char *pszInternalCheckInterfaceVersions = + STEAMUTILS_INTERFACE_VERSION "\0" + STEAMNETWORKINGUTILS_INTERFACE_VERSION "\0" + + STEAMGAMESERVER_INTERFACE_VERSION "\0" + STEAMGAMESERVERSTATS_INTERFACE_VERSION "\0" + STEAMHTTP_INTERFACE_VERSION "\0" + STEAMINVENTORY_INTERFACE_VERSION "\0" + STEAMNETWORKING_INTERFACE_VERSION "\0" + STEAMNETWORKINGMESSAGES_INTERFACE_VERSION "\0" + STEAMNETWORKINGSOCKETS_INTERFACE_VERSION "\0" + STEAMUGC_INTERFACE_VERSION "\0" + "\0"; + return SteamInternal_GameServer_Init_V2( unIP, usGamePort, usQueryPort, eServerMode, pchVersionString, pszInternalCheckInterfaceVersions, pOutErrMsg ); +} +inline void SteamGameServer_ReleaseCurrentThreadMemory() +{ + SteamAPI_ReleaseCurrentThreadMemory(); +} + +#endif // STEAM_GAMESERVER_H diff --git a/lsteamclient/steamworks_sdk_159x/steamclientpublic.h b/lsteamclient/steamworks_sdk_159x/steamclientpublic.h new file mode 100644 index 0000000000..5cf5d4de8a --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/steamclientpublic.h @@ -0,0 +1,1188 @@ +//========= Copyright � 1996-2008, Valve LLC, All rights reserved. ============ +// +// Declare common types used by the Steamworks SDK. +// +//============================================================================= + +#ifndef STEAMCLIENTPUBLIC_H +#define STEAMCLIENTPUBLIC_H + +#include "steamtypes.h" +#include "steamuniverse.h" + +// General result codes +enum EResult +{ + k_EResultNone = 0, // no result + k_EResultOK = 1, // success + k_EResultFail = 2, // generic failure + k_EResultNoConnection = 3, // no/failed network connection +// k_EResultNoConnectionRetry = 4, // OBSOLETE - removed + k_EResultInvalidPassword = 5, // password/ticket is invalid + k_EResultLoggedInElsewhere = 6, // same user logged in elsewhere + k_EResultInvalidProtocolVer = 7, // protocol version is incorrect + k_EResultInvalidParam = 8, // a parameter is incorrect + k_EResultFileNotFound = 9, // file was not found + k_EResultBusy = 10, // called method busy - action not taken + k_EResultInvalidState = 11, // called object was in an invalid state + k_EResultInvalidName = 12, // name is invalid + k_EResultInvalidEmail = 13, // email is invalid + k_EResultDuplicateName = 14, // name is not unique + k_EResultAccessDenied = 15, // access is denied + k_EResultTimeout = 16, // operation timed out + k_EResultBanned = 17, // VAC2 banned + k_EResultAccountNotFound = 18, // account not found + k_EResultInvalidSteamID = 19, // steamID is invalid + k_EResultServiceUnavailable = 20, // The requested service is currently unavailable + k_EResultNotLoggedOn = 21, // The user is not logged on + k_EResultPending = 22, // Request is pending (may be in process, or waiting on third party) + k_EResultEncryptionFailure = 23, // Encryption or Decryption failed + k_EResultInsufficientPrivilege = 24, // Insufficient privilege + k_EResultLimitExceeded = 25, // Too much of a good thing + k_EResultRevoked = 26, // Access has been revoked (used for revoked guest passes) + k_EResultExpired = 27, // License/Guest pass the user is trying to access is expired + k_EResultAlreadyRedeemed = 28, // Guest pass has already been redeemed by account, cannot be acked again + k_EResultDuplicateRequest = 29, // The request is a duplicate and the action has already occurred in the past, ignored this time + k_EResultAlreadyOwned = 30, // All the games in this guest pass redemption request are already owned by the user + k_EResultIPNotFound = 31, // IP address not found + k_EResultPersistFailed = 32, // failed to write change to the data store + k_EResultLockingFailed = 33, // failed to acquire access lock for this operation + k_EResultLogonSessionReplaced = 34, + k_EResultConnectFailed = 35, + k_EResultHandshakeFailed = 36, + k_EResultIOFailure = 37, + k_EResultRemoteDisconnect = 38, + k_EResultShoppingCartNotFound = 39, // failed to find the shopping cart requested + k_EResultBlocked = 40, // a user didn't allow it + k_EResultIgnored = 41, // target is ignoring sender + k_EResultNoMatch = 42, // nothing matching the request found + k_EResultAccountDisabled = 43, + k_EResultServiceReadOnly = 44, // this service is not accepting content changes right now + k_EResultAccountNotFeatured = 45, // account doesn't have value, so this feature isn't available + k_EResultAdministratorOK = 46, // allowed to take this action, but only because requester is admin + k_EResultContentVersion = 47, // A Version mismatch in content transmitted within the Steam protocol. + k_EResultTryAnotherCM = 48, // The current CM can't service the user making a request, user should try another. + k_EResultPasswordRequiredToKickSession = 49,// You are already logged in elsewhere, this cached credential login has failed. + k_EResultAlreadyLoggedInElsewhere = 50, // You are already logged in elsewhere, you must wait + k_EResultSuspended = 51, // Long running operation (content download) suspended/paused + k_EResultCancelled = 52, // Operation canceled (typically by user: content download) + k_EResultDataCorruption = 53, // Operation canceled because data is ill formed or unrecoverable + k_EResultDiskFull = 54, // Operation canceled - not enough disk space. + k_EResultRemoteCallFailed = 55, // an remote call or IPC call failed + k_EResultPasswordUnset = 56, // Password could not be verified as it's unset server side + k_EResultExternalAccountUnlinked = 57, // External account (PSN, Facebook...) is not linked to a Steam account + k_EResultPSNTicketInvalid = 58, // PSN ticket was invalid + k_EResultExternalAccountAlreadyLinked = 59, // External account (PSN, Facebook...) is already linked to some other account, must explicitly request to replace/delete the link first + k_EResultRemoteFileConflict = 60, // The sync cannot resume due to a conflict between the local and remote files + k_EResultIllegalPassword = 61, // The requested new password is not legal + k_EResultSameAsPreviousValue = 62, // new value is the same as the old one ( secret question and answer ) + k_EResultAccountLogonDenied = 63, // account login denied due to 2nd factor authentication failure + k_EResultCannotUseOldPassword = 64, // The requested new password is not legal + k_EResultInvalidLoginAuthCode = 65, // account login denied due to auth code invalid + k_EResultAccountLogonDeniedNoMail = 66, // account login denied due to 2nd factor auth failure - and no mail has been sent - partner site specific + k_EResultHardwareNotCapableOfIPT = 67, // + k_EResultIPTInitError = 68, // + k_EResultParentalControlRestricted = 69, // operation failed due to parental control restrictions for current user + k_EResultFacebookQueryError = 70, // Facebook query returned an error + k_EResultExpiredLoginAuthCode = 71, // account login denied due to auth code expired + k_EResultIPLoginRestrictionFailed = 72, + k_EResultAccountLockedDown = 73, + k_EResultAccountLogonDeniedVerifiedEmailRequired = 74, + k_EResultNoMatchingURL = 75, + k_EResultBadResponse = 76, // parse failure, missing field, etc. + k_EResultRequirePasswordReEntry = 77, // The user cannot complete the action until they re-enter their password + k_EResultValueOutOfRange = 78, // the value entered is outside the acceptable range + k_EResultUnexpectedError = 79, // something happened that we didn't expect to ever happen + k_EResultDisabled = 80, // The requested service has been configured to be unavailable + k_EResultInvalidCEGSubmission = 81, // The set of files submitted to the CEG server are not valid ! + k_EResultRestrictedDevice = 82, // The device being used is not allowed to perform this action + k_EResultRegionLocked = 83, // The action could not be complete because it is region restricted + k_EResultRateLimitExceeded = 84, // Temporary rate limit exceeded, try again later, different from k_EResultLimitExceeded which may be permanent + k_EResultAccountLoginDeniedNeedTwoFactor = 85, // Need two-factor code to login + k_EResultItemDeleted = 86, // The thing we're trying to access has been deleted + k_EResultAccountLoginDeniedThrottle = 87, // login attempt failed, try to throttle response to possible attacker + k_EResultTwoFactorCodeMismatch = 88, // two factor code mismatch + k_EResultTwoFactorActivationCodeMismatch = 89, // activation code for two-factor didn't match + k_EResultAccountAssociatedToMultiplePartners = 90, // account has been associated with multiple partners + k_EResultNotModified = 91, // data not modified + k_EResultNoMobileDevice = 92, // the account does not have a mobile device associated with it + k_EResultTimeNotSynced = 93, // the time presented is out of range or tolerance + k_EResultSmsCodeFailed = 94, // SMS code failure (no match, none pending, etc.) + k_EResultAccountLimitExceeded = 95, // Too many accounts access this resource + k_EResultAccountActivityLimitExceeded = 96, // Too many changes to this account + k_EResultPhoneActivityLimitExceeded = 97, // Too many changes to this phone + k_EResultRefundToWallet = 98, // Cannot refund to payment method, must use wallet + k_EResultEmailSendFailure = 99, // Cannot send an email + k_EResultNotSettled = 100, // Can't perform operation till payment has settled + k_EResultNeedCaptcha = 101, // Needs to provide a valid captcha + k_EResultGSLTDenied = 102, // a game server login token owned by this token's owner has been banned + k_EResultGSOwnerDenied = 103, // game server owner is denied for other reason (account lock, community ban, vac ban, missing phone) + k_EResultInvalidItemType = 104, // the type of thing we were requested to act on is invalid + k_EResultIPBanned = 105, // the ip address has been banned from taking this action + k_EResultGSLTExpired = 106, // this token has expired from disuse; can be reset for use + k_EResultInsufficientFunds = 107, // user doesn't have enough wallet funds to complete the action + k_EResultTooManyPending = 108, // There are too many of this thing pending already + k_EResultNoSiteLicensesFound = 109, // No site licenses found + k_EResultWGNetworkSendExceeded = 110, // the WG couldn't send a response because we exceeded max network send size + k_EResultAccountNotFriends = 111, // the user is not mutually friends + k_EResultLimitedUserAccount = 112, // the user is limited + k_EResultCantRemoveItem = 113, // item can't be removed + k_EResultAccountDeleted = 114, // account has been deleted + k_EResultExistingUserCancelledLicense = 115, // A license for this already exists, but cancelled + k_EResultCommunityCooldown = 116, // access is denied because of a community cooldown (probably from support profile data resets) + k_EResultNoLauncherSpecified = 117, // No launcher was specified, but a launcher was needed to choose correct realm for operation. + k_EResultMustAgreeToSSA = 118, // User must agree to china SSA or global SSA before login + k_EResultLauncherMigrated = 119, // The specified launcher type is no longer supported; the user should be directed elsewhere + k_EResultSteamRealmMismatch = 120, // The user's realm does not match the realm of the requested resource + k_EResultInvalidSignature = 121, // signature check did not match + k_EResultParseFailure = 122, // Failed to parse input + k_EResultNoVerifiedPhone = 123, // account does not have a verified phone number + k_EResultInsufficientBattery = 124, // user device doesn't have enough battery charge currently to complete the action + k_EResultChargerRequired = 125, // The operation requires a charger to be plugged in, which wasn't present + k_EResultCachedCredentialInvalid = 126, // Cached credential was invalid - user must reauthenticate + K_EResultPhoneNumberIsVOIP = 127, // The phone number provided is a Voice Over IP number + k_EResultNotSupported = 128, // The data being accessed is not supported by this API + k_EResultFamilySizeLimitExceeded = 129, // Reached the maximum size of the family +}; + +// Error codes for use with the voice functions +enum EVoiceResult +{ + k_EVoiceResultOK = 0, + k_EVoiceResultNotInitialized = 1, + k_EVoiceResultNotRecording = 2, + k_EVoiceResultNoData = 3, + k_EVoiceResultBufferTooSmall = 4, + k_EVoiceResultDataCorrupted = 5, + k_EVoiceResultRestricted = 6, + k_EVoiceResultUnsupportedCodec = 7, + k_EVoiceResultReceiverOutOfDate = 8, + k_EVoiceResultReceiverDidNotAnswer = 9, + +}; + +// Result codes to GSHandleClientDeny/Kick +enum EDenyReason +{ + k_EDenyInvalid = 0, + k_EDenyInvalidVersion = 1, + k_EDenyGeneric = 2, + k_EDenyNotLoggedOn = 3, + k_EDenyNoLicense = 4, + k_EDenyCheater = 5, + k_EDenyLoggedInElseWhere = 6, + k_EDenyUnknownText = 7, + k_EDenyIncompatibleAnticheat = 8, + k_EDenyMemoryCorruption = 9, + k_EDenyIncompatibleSoftware = 10, + k_EDenySteamConnectionLost = 11, + k_EDenySteamConnectionError = 12, + k_EDenySteamResponseTimedOut = 13, + k_EDenySteamValidationStalled = 14, + k_EDenySteamOwnerLeftGuestUser = 15, +}; + +// return type of GetAuthSessionTicket +typedef uint32 HAuthTicket; +const HAuthTicket k_HAuthTicketInvalid = 0; + +// results from BeginAuthSession +enum EBeginAuthSessionResult +{ + k_EBeginAuthSessionResultOK = 0, // Ticket is valid for this game and this steamID. + k_EBeginAuthSessionResultInvalidTicket = 1, // Ticket is not valid. + k_EBeginAuthSessionResultDuplicateRequest = 2, // A ticket has already been submitted for this steamID + k_EBeginAuthSessionResultInvalidVersion = 3, // Ticket is from an incompatible interface version + k_EBeginAuthSessionResultGameMismatch = 4, // Ticket is not for this game + k_EBeginAuthSessionResultExpiredTicket = 5, // Ticket has expired +}; + +// Callback values for callback ValidateAuthTicketResponse_t which is a response to BeginAuthSession +enum EAuthSessionResponse +{ + k_EAuthSessionResponseOK = 0, // Steam has verified the user is online, the ticket is valid and ticket has not been reused. + k_EAuthSessionResponseUserNotConnectedToSteam = 1, // The user in question is not connected to steam + k_EAuthSessionResponseNoLicenseOrExpired = 2, // The license has expired. + k_EAuthSessionResponseVACBanned = 3, // The user is VAC banned for this game. + k_EAuthSessionResponseLoggedInElseWhere = 4, // The user account has logged in elsewhere and the session containing the game instance has been disconnected. + k_EAuthSessionResponseVACCheckTimedOut = 5, // VAC has been unable to perform anti-cheat checks on this user + k_EAuthSessionResponseAuthTicketCanceled = 6, // The ticket has been canceled by the issuer + k_EAuthSessionResponseAuthTicketInvalidAlreadyUsed = 7, // This ticket has already been used, it is not valid. + k_EAuthSessionResponseAuthTicketInvalid = 8, // This ticket is not from a user instance currently connected to steam. + k_EAuthSessionResponsePublisherIssuedBan = 9, // The user is banned for this game. The ban came via the web api and not VAC + k_EAuthSessionResponseAuthTicketNetworkIdentityFailure = 10, // The network identity in the ticket does not match the server authenticating the ticket +}; + +// results from UserHasLicenseForApp +enum EUserHasLicenseForAppResult +{ + k_EUserHasLicenseResultHasLicense = 0, // User has a license for specified app + k_EUserHasLicenseResultDoesNotHaveLicense = 1, // User does not have a license for the specified app + k_EUserHasLicenseResultNoAuth = 2, // User has not been authenticated +}; + + +// Steam account types +enum EAccountType +{ + k_EAccountTypeInvalid = 0, + k_EAccountTypeIndividual = 1, // single user account + k_EAccountTypeMultiseat = 2, // multiseat (e.g. cybercafe) account + k_EAccountTypeGameServer = 3, // game server account + k_EAccountTypeAnonGameServer = 4, // anonymous game server account + k_EAccountTypePending = 5, // pending + k_EAccountTypeContentServer = 6, // content server + k_EAccountTypeClan = 7, + k_EAccountTypeChat = 8, + k_EAccountTypeConsoleUser = 9, // Fake SteamID for local PSN account on PS3 or Live account on 360, etc. + k_EAccountTypeAnonUser = 10, + + // Max of 16 items in this field + k_EAccountTypeMax +}; + + + +//----------------------------------------------------------------------------- +// Purpose: Chat Entry Types (previously was only friend-to-friend message types) +//----------------------------------------------------------------------------- +enum EChatEntryType +{ + k_EChatEntryTypeInvalid = 0, + k_EChatEntryTypeChatMsg = 1, // Normal text message from another user + k_EChatEntryTypeTyping = 2, // Another user is typing (not used in multi-user chat) + k_EChatEntryTypeInviteGame = 3, // Invite from other user into that users current game + k_EChatEntryTypeEmote = 4, // text emote message (deprecated, should be treated as ChatMsg) + //k_EChatEntryTypeLobbyGameStart = 5, // lobby game is starting (dead - listen for LobbyGameCreated_t callback instead) + k_EChatEntryTypeLeftConversation = 6, // user has left the conversation ( closed chat window ) + // Above are previous FriendMsgType entries, now merged into more generic chat entry types + k_EChatEntryTypeEntered = 7, // user has entered the conversation (used in multi-user chat and group chat) + k_EChatEntryTypeWasKicked = 8, // user was kicked (data: 64-bit steamid of actor performing the kick) + k_EChatEntryTypeWasBanned = 9, // user was banned (data: 64-bit steamid of actor performing the ban) + k_EChatEntryTypeDisconnected = 10, // user disconnected + k_EChatEntryTypeHistoricalChat = 11, // a chat message from user's chat history or offilne message + //k_EChatEntryTypeReserved1 = 12, // No longer used + //k_EChatEntryTypeReserved2 = 13, // No longer used + k_EChatEntryTypeLinkBlocked = 14, // a link was removed by the chat filter. +}; + + +//----------------------------------------------------------------------------- +// Purpose: Chat Room Enter Responses +//----------------------------------------------------------------------------- +enum EChatRoomEnterResponse +{ + k_EChatRoomEnterResponseSuccess = 1, // Success + k_EChatRoomEnterResponseDoesntExist = 2, // Chat doesn't exist (probably closed) + k_EChatRoomEnterResponseNotAllowed = 3, // General Denied - You don't have the permissions needed to join the chat + k_EChatRoomEnterResponseFull = 4, // Chat room has reached its maximum size + k_EChatRoomEnterResponseError = 5, // Unexpected Error + k_EChatRoomEnterResponseBanned = 6, // You are banned from this chat room and may not join + k_EChatRoomEnterResponseLimited = 7, // Joining this chat is not allowed because you are a limited user (no value on account) + k_EChatRoomEnterResponseClanDisabled = 8, // Attempt to join a clan chat when the clan is locked or disabled + k_EChatRoomEnterResponseCommunityBan = 9, // Attempt to join a chat when the user has a community lock on their account + k_EChatRoomEnterResponseMemberBlockedYou = 10, // Join failed - some member in the chat has blocked you from joining + k_EChatRoomEnterResponseYouBlockedMember = 11, // Join failed - you have blocked some member already in the chat + // k_EChatRoomEnterResponseNoRankingDataLobby = 12, // No longer used + // k_EChatRoomEnterResponseNoRankingDataUser = 13, // No longer used + // k_EChatRoomEnterResponseRankOutOfRange = 14, // No longer used + k_EChatRoomEnterResponseRatelimitExceeded = 15, // Join failed - to many join attempts in a very short period of time +}; + + +const unsigned int k_unSteamAccountIDMask = 0xFFFFFFFF; +const unsigned int k_unSteamAccountInstanceMask = 0x000FFFFF; +const unsigned int k_unSteamUserDefaultInstance = 1; // fixed instance for all individual users + +// Special flags for Chat accounts - they go in the top 8 bits +// of the steam ID's "instance", leaving 12 for the actual instances +enum EChatSteamIDInstanceFlags +{ + k_EChatAccountInstanceMask = 0x00000FFF, // top 8 bits are flags + + k_EChatInstanceFlagClan = ( k_unSteamAccountInstanceMask + 1 ) >> 1, // top bit + k_EChatInstanceFlagLobby = ( k_unSteamAccountInstanceMask + 1 ) >> 2, // next one down, etc + k_EChatInstanceFlagMMSLobby = ( k_unSteamAccountInstanceMask + 1 ) >> 3, // next one down, etc + + // Max of 8 flags +}; + + +//----------------------------------------------------------------------------- +// Purpose: Possible positions to tell the overlay to show notifications in +//----------------------------------------------------------------------------- +enum ENotificationPosition +{ + k_EPositionInvalid = -1, + k_EPositionTopLeft = 0, + k_EPositionTopRight = 1, + k_EPositionBottomLeft = 2, + k_EPositionBottomRight = 3, +}; + + +//----------------------------------------------------------------------------- +// Purpose: Broadcast upload result details +//----------------------------------------------------------------------------- +enum EBroadcastUploadResult +{ + k_EBroadcastUploadResultNone = 0, // broadcast state unknown + k_EBroadcastUploadResultOK = 1, // broadcast was good, no problems + k_EBroadcastUploadResultInitFailed = 2, // broadcast init failed + k_EBroadcastUploadResultFrameFailed = 3, // broadcast frame upload failed + k_EBroadcastUploadResultTimeout = 4, // broadcast upload timed out + k_EBroadcastUploadResultBandwidthExceeded = 5, // broadcast send too much data + k_EBroadcastUploadResultLowFPS = 6, // broadcast FPS too low + k_EBroadcastUploadResultMissingKeyFrames = 7, // broadcast sending not enough key frames + k_EBroadcastUploadResultNoConnection = 8, // broadcast client failed to connect to relay + k_EBroadcastUploadResultRelayFailed = 9, // relay dropped the upload + k_EBroadcastUploadResultSettingsChanged = 10, // the client changed broadcast settings + k_EBroadcastUploadResultMissingAudio = 11, // client failed to send audio data + k_EBroadcastUploadResultTooFarBehind = 12, // clients was too slow uploading + k_EBroadcastUploadResultTranscodeBehind = 13, // server failed to keep up with transcode + k_EBroadcastUploadResultNotAllowedToPlay = 14, // Broadcast does not have permissions to play game + k_EBroadcastUploadResultBusy = 15, // RTMP host to busy to take new broadcast stream, choose another + k_EBroadcastUploadResultBanned = 16, // Account banned from community broadcast + k_EBroadcastUploadResultAlreadyActive = 17, // We already already have an stream running. + k_EBroadcastUploadResultForcedOff = 18, // We explicitly shutting down a broadcast + k_EBroadcastUploadResultAudioBehind = 19, // Audio stream was too far behind video + k_EBroadcastUploadResultShutdown = 20, // Broadcast Server was shut down + k_EBroadcastUploadResultDisconnect = 21, // broadcast uploader TCP disconnected + k_EBroadcastUploadResultVideoInitFailed = 22, // invalid video settings + k_EBroadcastUploadResultAudioInitFailed = 23, // invalid audio settings +}; + + +//----------------------------------------------------------------------------- +// Purpose: Reasons a user may not use the Community Market. +// Used in MarketEligibilityResponse_t. +//----------------------------------------------------------------------------- +enum EMarketNotAllowedReasonFlags +{ + k_EMarketNotAllowedReason_None = 0, + + // A back-end call failed or something that might work again on retry + k_EMarketNotAllowedReason_TemporaryFailure = (1 << 0), + + // Disabled account + k_EMarketNotAllowedReason_AccountDisabled = (1 << 1), + + // Locked account + k_EMarketNotAllowedReason_AccountLockedDown = (1 << 2), + + // Limited account (no purchases) + k_EMarketNotAllowedReason_AccountLimited = (1 << 3), + + // The account is banned from trading items + k_EMarketNotAllowedReason_TradeBanned = (1 << 4), + + // Wallet funds aren't tradable because the user has had no purchase + // activity in the last year or has had no purchases prior to last month + k_EMarketNotAllowedReason_AccountNotTrusted = (1 << 5), + + // The user doesn't have Steam Guard enabled + k_EMarketNotAllowedReason_SteamGuardNotEnabled = (1 << 6), + + // The user has Steam Guard, but it hasn't been enabled for the required + // number of days + k_EMarketNotAllowedReason_SteamGuardOnlyRecentlyEnabled = (1 << 7), + + // The user has recently forgotten their password and reset it + k_EMarketNotAllowedReason_RecentPasswordReset = (1 << 8), + + // The user has recently funded his or her wallet with a new payment method + k_EMarketNotAllowedReason_NewPaymentMethod = (1 << 9), + + // An invalid cookie was sent by the user + k_EMarketNotAllowedReason_InvalidCookie = (1 << 10), + + // The user has Steam Guard, but is using a new computer or web browser + k_EMarketNotAllowedReason_UsingNewDevice = (1 << 11), + + // The user has recently refunded a store purchase by his or herself + k_EMarketNotAllowedReason_RecentSelfRefund = (1 << 12), + + // The user has recently funded his or her wallet with a new payment method that cannot be verified + k_EMarketNotAllowedReason_NewPaymentMethodCannotBeVerified = (1 << 13), + + // Not only is the account not trusted, but they have no recent purchases at all + k_EMarketNotAllowedReason_NoRecentPurchases = (1 << 14), + + // User accepted a wallet gift that was recently purchased + k_EMarketNotAllowedReason_AcceptedWalletGift = (1 << 15), +}; + + +// +// describes XP / progress restrictions to apply for games with duration control / +// anti-indulgence enabled for minor Steam China users. +// +// WARNING: DO NOT RENUMBER +enum EDurationControlProgress +{ + k_EDurationControlProgress_Full = 0, // Full progress + k_EDurationControlProgress_Half = 1, // deprecated - XP or persistent rewards should be halved + k_EDurationControlProgress_None = 2, // deprecated - XP or persistent rewards should be stopped + + k_EDurationControl_ExitSoon_3h = 3, // allowed 3h time since 5h gap/break has elapsed, game should exit - steam will terminate the game soon + k_EDurationControl_ExitSoon_5h = 4, // allowed 5h time in calendar day has elapsed, game should exit - steam will terminate the game soon + k_EDurationControl_ExitSoon_Night = 5, // game running after day period, game should exit - steam will terminate the game soon +}; + + +// +// describes which notification timer has expired, for steam china duration control feature +// +// WARNING: DO NOT RENUMBER +enum EDurationControlNotification +{ + k_EDurationControlNotification_None = 0, // just informing you about progress, no notification to show + k_EDurationControlNotification_1Hour = 1, // "you've been playing for N hours" + + k_EDurationControlNotification_3Hours = 2, // deprecated - "you've been playing for 3 hours; take a break" + k_EDurationControlNotification_HalfProgress = 3,// deprecated - "your XP / progress is half normal" + k_EDurationControlNotification_NoProgress = 4, // deprecated - "your XP / progress is zero" + + k_EDurationControlNotification_ExitSoon_3h = 5, // allowed 3h time since 5h gap/break has elapsed, game should exit - steam will terminate the game soon + k_EDurationControlNotification_ExitSoon_5h = 6, // allowed 5h time in calendar day has elapsed, game should exit - steam will terminate the game soon + k_EDurationControlNotification_ExitSoon_Night = 7,// game running after day period, game should exit - steam will terminate the game soon +}; + + +// +// Specifies a game's online state in relation to duration control +// +enum EDurationControlOnlineState +{ + k_EDurationControlOnlineState_Invalid = 0, // nil value + k_EDurationControlOnlineState_Offline = 1, // currently in offline play - single-player, offline co-op, etc. + k_EDurationControlOnlineState_Online = 2, // currently in online play + k_EDurationControlOnlineState_OnlineHighPri = 3, // currently in online play and requests not to be interrupted +}; + + +#pragma pack( push, 1 ) + +#define CSTEAMID_DEFINED + +// Steam ID structure (64 bits total) +class CSteamID +{ +public: + + //----------------------------------------------------------------------------- + // Purpose: Constructor + //----------------------------------------------------------------------------- + CSteamID() + { + m_steamid.m_comp.m_unAccountID = 0; + m_steamid.m_comp.m_EAccountType = k_EAccountTypeInvalid; + m_steamid.m_comp.m_EUniverse = k_EUniverseInvalid; + m_steamid.m_comp.m_unAccountInstance = 0; + } + + + //----------------------------------------------------------------------------- + // Purpose: Constructor + // Input : unAccountID - 32-bit account ID + // eUniverse - Universe this account belongs to + // eAccountType - Type of account + //----------------------------------------------------------------------------- + CSteamID( uint32 unAccountID, EUniverse eUniverse, EAccountType eAccountType ) + { + Set( unAccountID, eUniverse, eAccountType ); + } + + + //----------------------------------------------------------------------------- + // Purpose: Constructor + // Input : unAccountID - 32-bit account ID + // unAccountInstance - instance + // eUniverse - Universe this account belongs to + // eAccountType - Type of account + //----------------------------------------------------------------------------- + CSteamID( uint32 unAccountID, unsigned int unAccountInstance, EUniverse eUniverse, EAccountType eAccountType ) + { +#if defined(_SERVER) && defined(Assert) + Assert( ( k_EAccountTypeIndividual != eAccountType ) || ( unAccountInstance == k_unSteamUserDefaultInstance ) ); // enforce that for individual accounts, instance is always 1 +#endif // _SERVER + InstancedSet( unAccountID, unAccountInstance, eUniverse, eAccountType ); + } + + + //----------------------------------------------------------------------------- + // Purpose: Constructor + // Input : ulSteamID - 64-bit representation of a Steam ID + // Note: Will not accept a uint32 or int32 as input, as that is a probable mistake. + // See the stubbed out overloads in the private: section for more info. + //----------------------------------------------------------------------------- + CSteamID( uint64 ulSteamID ) + { + SetFromUint64( ulSteamID ); + } +#ifdef INT64_DIFFERENT_FROM_INT64_T + CSteamID( uint64_t ulSteamID ) + { + SetFromUint64( (uint64)ulSteamID ); + } +#endif + + + //----------------------------------------------------------------------------- + // Purpose: Sets parameters for steam ID + // Input : unAccountID - 32-bit account ID + // eUniverse - Universe this account belongs to + // eAccountType - Type of account + //----------------------------------------------------------------------------- + void Set( uint32 unAccountID, EUniverse eUniverse, EAccountType eAccountType ) + { + m_steamid.m_comp.m_unAccountID = unAccountID; + m_steamid.m_comp.m_EUniverse = eUniverse; + m_steamid.m_comp.m_EAccountType = eAccountType; + + if ( eAccountType == k_EAccountTypeClan || eAccountType == k_EAccountTypeGameServer ) + { + m_steamid.m_comp.m_unAccountInstance = 0; + } + else + { + m_steamid.m_comp.m_unAccountInstance = k_unSteamUserDefaultInstance; + } + } + + + //----------------------------------------------------------------------------- + // Purpose: Sets parameters for steam ID + // Input : unAccountID - 32-bit account ID + // eUniverse - Universe this account belongs to + // eAccountType - Type of account + //----------------------------------------------------------------------------- + void InstancedSet( uint32 unAccountID, uint32 unInstance, EUniverse eUniverse, EAccountType eAccountType ) + { + m_steamid.m_comp.m_unAccountID = unAccountID; + m_steamid.m_comp.m_EUniverse = eUniverse; + m_steamid.m_comp.m_EAccountType = eAccountType; + m_steamid.m_comp.m_unAccountInstance = unInstance; + } + + + //----------------------------------------------------------------------------- + // Purpose: Initializes a steam ID from its 52 bit parts and universe/type + // Input : ulIdentifier - 52 bits of goodness + //----------------------------------------------------------------------------- + void FullSet( uint64 ulIdentifier, EUniverse eUniverse, EAccountType eAccountType ) + { + m_steamid.m_comp.m_unAccountID = ( ulIdentifier & k_unSteamAccountIDMask ); // account ID is low 32 bits + m_steamid.m_comp.m_unAccountInstance = ( ( ulIdentifier >> 32 ) & k_unSteamAccountInstanceMask ); // account instance is next 20 bits + m_steamid.m_comp.m_EUniverse = eUniverse; + m_steamid.m_comp.m_EAccountType = eAccountType; + } + + + //----------------------------------------------------------------------------- + // Purpose: Initializes a steam ID from its 64-bit representation + // Input : ulSteamID - 64-bit representation of a Steam ID + //----------------------------------------------------------------------------- + void SetFromUint64( uint64 ulSteamID ) + { + m_steamid.m_unAll64Bits = ulSteamID; + } + + + //----------------------------------------------------------------------------- + // Purpose: Clear all fields, leaving an invalid ID. + //----------------------------------------------------------------------------- + void Clear() + { + m_steamid.m_comp.m_unAccountID = 0; + m_steamid.m_comp.m_EAccountType = k_EAccountTypeInvalid; + m_steamid.m_comp.m_EUniverse = k_EUniverseInvalid; + m_steamid.m_comp.m_unAccountInstance = 0; + } + + //----------------------------------------------------------------------------- + // Purpose: Converts steam ID to its 64-bit representation + // Output : 64-bit representation of a Steam ID + //----------------------------------------------------------------------------- + uint64 ConvertToUint64() const + { + return m_steamid.m_unAll64Bits; + } + + + //----------------------------------------------------------------------------- + // Purpose: Converts the static parts of a steam ID to a 64-bit representation. + // For multiseat accounts, all instances of that account will have the + // same static account key, so they can be grouped together by the static + // account key. + // Output : 64-bit static account key + //----------------------------------------------------------------------------- + uint64 GetStaticAccountKey() const + { + // note we do NOT include the account instance (which is a dynamic property) in the static account key + return (uint64) ( ( ( (uint64) m_steamid.m_comp.m_EUniverse ) << 56 ) + ((uint64) m_steamid.m_comp.m_EAccountType << 52 ) + m_steamid.m_comp.m_unAccountID ); + } + + + //----------------------------------------------------------------------------- + // Purpose: create an anonymous game server login to be filled in by the AM + //----------------------------------------------------------------------------- + void CreateBlankAnonLogon( EUniverse eUniverse ) + { + m_steamid.m_comp.m_unAccountID = 0; + m_steamid.m_comp.m_EAccountType = k_EAccountTypeAnonGameServer; + m_steamid.m_comp.m_EUniverse = eUniverse; + m_steamid.m_comp.m_unAccountInstance = 0; + } + + + //----------------------------------------------------------------------------- + // Purpose: create an anonymous game server login to be filled in by the AM + //----------------------------------------------------------------------------- + void CreateBlankAnonUserLogon( EUniverse eUniverse ) + { + m_steamid.m_comp.m_unAccountID = 0; + m_steamid.m_comp.m_EAccountType = k_EAccountTypeAnonUser; + m_steamid.m_comp.m_EUniverse = eUniverse; + m_steamid.m_comp.m_unAccountInstance = 0; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this an anonymous game server login that will be filled in? + //----------------------------------------------------------------------------- + bool BBlankAnonAccount() const + { + return m_steamid.m_comp.m_unAccountID == 0 && BAnonAccount() && m_steamid.m_comp.m_unAccountInstance == 0; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this a game server account id? (Either persistent or anonymous) + //----------------------------------------------------------------------------- + bool BGameServerAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeGameServer || m_steamid.m_comp.m_EAccountType == k_EAccountTypeAnonGameServer; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this a persistent (not anonymous) game server account id? + //----------------------------------------------------------------------------- + bool BPersistentGameServerAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeGameServer; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this an anonymous game server account id? + //----------------------------------------------------------------------------- + bool BAnonGameServerAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeAnonGameServer; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this a content server account id? + //----------------------------------------------------------------------------- + bool BContentServerAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeContentServer; + } + + + //----------------------------------------------------------------------------- + // Purpose: Is this a clan account id? + //----------------------------------------------------------------------------- + bool BClanAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeClan; + } + + + //----------------------------------------------------------------------------- + // Purpose: Is this a chat account id? + //----------------------------------------------------------------------------- + bool BChatAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeChat; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this a chat account id? + //----------------------------------------------------------------------------- + bool IsLobby() const + { + return ( m_steamid.m_comp.m_EAccountType == k_EAccountTypeChat ) + && ( m_steamid.m_comp.m_unAccountInstance & k_EChatInstanceFlagLobby ); + } + + + //----------------------------------------------------------------------------- + // Purpose: Is this an individual user account id? + //----------------------------------------------------------------------------- + bool BIndividualAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeIndividual || m_steamid.m_comp.m_EAccountType == k_EAccountTypeConsoleUser; + } + + + //----------------------------------------------------------------------------- + // Purpose: Is this an anonymous account? + //----------------------------------------------------------------------------- + bool BAnonAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeAnonUser || m_steamid.m_comp.m_EAccountType == k_EAccountTypeAnonGameServer; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this an anonymous user account? ( used to create an account or reset a password ) + //----------------------------------------------------------------------------- + bool BAnonUserAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeAnonUser; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this a faked up Steam ID for a PSN friend account? + //----------------------------------------------------------------------------- + bool BConsoleUserAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeConsoleUser; + } + + // simple accessors + void SetAccountID( uint32 unAccountID ) { m_steamid.m_comp.m_unAccountID = unAccountID; } + void SetAccountInstance( uint32 unInstance ){ m_steamid.m_comp.m_unAccountInstance = unInstance; } + + AccountID_t GetAccountID() const { return m_steamid.m_comp.m_unAccountID; } + uint32 GetUnAccountInstance() const { return m_steamid.m_comp.m_unAccountInstance; } + EAccountType GetEAccountType() const { return ( EAccountType ) m_steamid.m_comp.m_EAccountType; } + EUniverse GetEUniverse() const { return m_steamid.m_comp.m_EUniverse; } + void SetEUniverse( EUniverse eUniverse ) { m_steamid.m_comp.m_EUniverse = eUniverse; } + bool IsValid() const; + + // this set of functions is hidden, will be moved out of class + explicit CSteamID( const char *pchSteamID, EUniverse eDefaultUniverse = k_EUniverseInvalid ); + const char * Render() const; // renders this steam ID to string + static const char * Render( uint64 ulSteamID ); // static method to render a uint64 representation of a steam ID to a string + + void SetFromString( const char *pchSteamID, EUniverse eDefaultUniverse ); + // SetFromString allows many partially-correct strings, constraining how + // we might be able to change things in the future. + // SetFromStringStrict requires the exact string forms that we support + // and is preferred when the caller knows it's safe to be strict. + // Returns whether the string parsed correctly. + bool SetFromStringStrict( const char *pchSteamID, EUniverse eDefaultUniverse ); + + inline bool operator==( const CSteamID &val ) const { return m_steamid.m_unAll64Bits == val.m_steamid.m_unAll64Bits; } + inline bool operator!=( const CSteamID &val ) const { return !operator==( val ); } + inline bool operator<( const CSteamID &val ) const { return m_steamid.m_unAll64Bits < val.m_steamid.m_unAll64Bits; } + inline bool operator>( const CSteamID &val ) const { return m_steamid.m_unAll64Bits > val.m_steamid.m_unAll64Bits; } + + // DEBUG function + bool BValidExternalSteamID() const; + +private: + // These are defined here to prevent accidental implicit conversion of a u32AccountID to a CSteamID. + // If you get a compiler error about an ambiguous constructor/function then it may be because you're + // passing a 32-bit int to a function that takes a CSteamID. You should explicitly create the SteamID + // using the correct Universe and account Type/Instance values. + CSteamID( uint32 ); + CSteamID( int32 ); + + // 64 bits total + union SteamID_t + { + struct SteamIDComponent_t + { +#ifdef VALVE_BIG_ENDIAN + EUniverse m_EUniverse : 8; // universe this account belongs to + unsigned int m_EAccountType : 4; // type of account - can't show as EAccountType, due to signed / unsigned difference + unsigned int m_unAccountInstance : 20; // dynamic instance ID + uint32 m_unAccountID : 32; // unique account identifier +#else + uint32 m_unAccountID : 32; // unique account identifier + unsigned int m_unAccountInstance : 20; // dynamic instance ID + unsigned int m_EAccountType : 4; // type of account - can't show as EAccountType, due to signed / unsigned difference + EUniverse m_EUniverse : 8; // universe this account belongs to +#endif + } m_comp; + + uint64 m_unAll64Bits; + } m_steamid; +}; + +inline bool CSteamID::IsValid() const +{ + if ( m_steamid.m_comp.m_EAccountType <= k_EAccountTypeInvalid || m_steamid.m_comp.m_EAccountType >= k_EAccountTypeMax ) + return false; + + if ( m_steamid.m_comp.m_EUniverse <= k_EUniverseInvalid || m_steamid.m_comp.m_EUniverse >= k_EUniverseMax ) + return false; + + if ( m_steamid.m_comp.m_EAccountType == k_EAccountTypeIndividual ) + { + if ( m_steamid.m_comp.m_unAccountID == 0 || m_steamid.m_comp.m_unAccountInstance != k_unSteamUserDefaultInstance ) + return false; + } + + if ( m_steamid.m_comp.m_EAccountType == k_EAccountTypeClan ) + { + if ( m_steamid.m_comp.m_unAccountID == 0 || m_steamid.m_comp.m_unAccountInstance != 0 ) + return false; + } + + if ( m_steamid.m_comp.m_EAccountType == k_EAccountTypeGameServer ) + { + if ( m_steamid.m_comp.m_unAccountID == 0 ) + return false; + // Any limit on instances? We use them for local users and bots + } + return true; +} + +#if defined( INCLUDED_STEAM2_USERID_STRUCTS ) + +//----------------------------------------------------------------------------- +// Purpose: Initializes a steam ID from a Steam2 ID structure +// Input: pTSteamGlobalUserID - Steam2 ID to convert +// eUniverse - universe this ID belongs to +//----------------------------------------------------------------------------- +inline CSteamID SteamIDFromSteam2UserID( TSteamGlobalUserID *pTSteamGlobalUserID, EUniverse eUniverse ) +{ + uint32 unAccountID = pTSteamGlobalUserID->m_SteamLocalUserID.Split.Low32bits * 2 + + pTSteamGlobalUserID->m_SteamLocalUserID.Split.High32bits; + + return CSteamID( unAccountID, k_unSteamUserDefaultInstance, eUniverse, k_EAccountTypeIndividual ); +} + +bool SteamIDFromSteam2String( const char *pchSteam2ID, EUniverse eUniverse, CSteamID *pSteamIDOut ); + +//----------------------------------------------------------------------------- +// Purpose: Fills out a Steam2 ID structure +// Input: pTSteamGlobalUserID - Steam2 ID to write to +//----------------------------------------------------------------------------- +inline TSteamGlobalUserID SteamIDToSteam2UserID( CSteamID steamID ) +{ + TSteamGlobalUserID steamGlobalUserID; + + steamGlobalUserID.m_SteamInstanceID = 0; + steamGlobalUserID.m_SteamLocalUserID.Split.High32bits = steamID.GetAccountID() % 2; + steamGlobalUserID.m_SteamLocalUserID.Split.Low32bits = steamID.GetAccountID() / 2; + + return steamGlobalUserID; +} + + +#endif + +// generic invalid CSteamID +#define k_steamIDNil CSteamID() + +// This steamID comes from a user game connection to an out of date GS that hasnt implemented the protocol +// to provide its steamID +#define k_steamIDOutofDateGS CSteamID( 0, 0, k_EUniverseInvalid, k_EAccountTypeInvalid ) +// This steamID comes from a user game connection to an sv_lan GS +#define k_steamIDLanModeGS CSteamID( 0, 0, k_EUniversePublic, k_EAccountTypeInvalid ) +// This steamID can come from a user game connection to a GS that has just booted but hasnt yet even initialized +// its steam3 component and started logging on. +#define k_steamIDNotInitYetGS CSteamID( 1, 0, k_EUniverseInvalid, k_EAccountTypeInvalid ) +// This steamID can come from a user game connection to a GS that isn't using the steam authentication system but still +// wants to support the "Join Game" option in the friends list +#define k_steamIDNonSteamGS CSteamID( 2, 0, k_EUniverseInvalid, k_EAccountTypeInvalid ) + + +#ifdef STEAM +// Returns the matching chat steamID, with the default instance of 0 +// If the steamID passed in is already of type k_EAccountTypeChat it will be returned with the same instance +CSteamID ChatIDFromSteamID( const CSteamID &steamID ); +// Returns the matching clan steamID, with the default instance of 0 +// If the steamID passed in is already of type k_EAccountTypeClan it will be returned with the same instance +CSteamID ClanIDFromSteamID( const CSteamID &steamID ); +// Asserts steamID type before conversion +CSteamID ChatIDFromClanID( const CSteamID &steamIDClan ); +// Asserts steamID type before conversion +CSteamID ClanIDFromChatID( const CSteamID &steamIDChat ); + +#endif // _STEAM + + +//----------------------------------------------------------------------------- +// Purpose: encapsulates an appID/modID pair +//----------------------------------------------------------------------------- +class CGameID +{ +public: + + enum EGameIDType + { + k_EGameIDTypeApp = 0, + k_EGameIDTypeGameMod = 1, + k_EGameIDTypeShortcut = 2, + k_EGameIDTypeP2P = 3, + }; + + CGameID() + { + m_gameID.m_nType = k_EGameIDTypeApp; + m_gameID.m_nAppID = k_uAppIdInvalid; + m_gameID.m_nModID = 0; + } + + explicit CGameID( uint64 ulGameID ) + { + m_ulGameID = ulGameID; + } +#ifdef INT64_DIFFERENT_FROM_INT64_T + CGameID( uint64_t ulGameID ) + { + m_ulGameID = (uint64)ulGameID; + } +#endif + + explicit CGameID( int32 nAppID ) + { + m_ulGameID = 0; + m_gameID.m_nAppID = nAppID; + } + + explicit CGameID( uint32 nAppID ) + { + m_ulGameID = 0; + m_gameID.m_nAppID = nAppID; + } + + // Not validating anything .. use IsValid() + explicit CGameID( uint32 nAppID, uint32 nModID, CGameID::EGameIDType nType ) + { + m_gameID.m_nAppID = nAppID; + m_gameID.m_nModID = nModID; + m_gameID.m_nType = nType; + } + + CGameID( const CGameID &that ) + { + m_ulGameID = that.m_ulGameID; + } + + CGameID& operator=( const CGameID & that ) + { + m_ulGameID = that.m_ulGameID; + return *this; + } + + // Hidden functions used only by Steam + explicit CGameID( const char *pchGameID ); + const char *Render() const; // render this Game ID to string + static const char *Render( uint64 ulGameID ); // static method to render a uint64 representation of a Game ID to a string + + uint64 ToUint64() const + { + return m_ulGameID; + } + + uint64 *GetUint64Ptr() + { + return &m_ulGameID; + } + + void Set( uint64 ulGameID ) + { + m_ulGameID = ulGameID; + } + + bool IsMod() const + { + return ( m_gameID.m_nType == k_EGameIDTypeGameMod ); + } + + bool IsShortcut() const + { + return ( m_gameID.m_nType == k_EGameIDTypeShortcut ); + } + + bool IsP2PFile() const + { + return ( m_gameID.m_nType == k_EGameIDTypeP2P ); + } + + bool IsSteamApp() const + { + return ( m_gameID.m_nType == k_EGameIDTypeApp ); + } + + uint32 ModID() const + { + return m_gameID.m_nModID; + } + +#if !defined(VALVE_SHORTCUT_DEBUG) + uint32 AppID( bool = false ) const + { + return m_gameID.m_nAppID; + } +#else + uint32 AppID( bool bShortcutOK = false ) const; +#endif + + bool operator == ( const CGameID &rhs ) const + { + return m_ulGameID == rhs.m_ulGameID; + } + + bool operator != ( const CGameID &rhs ) const + { + return !(*this == rhs); + } + + bool operator < ( const CGameID &rhs ) const + { + return ( m_ulGameID < rhs.m_ulGameID ); + } + + bool IsValid() const + { + // each type has it's own invalid fixed point: + switch( m_gameID.m_nType ) + { + case k_EGameIDTypeApp: + return m_gameID.m_nAppID != k_uAppIdInvalid; + + case k_EGameIDTypeGameMod: + return m_gameID.m_nAppID != k_uAppIdInvalid && (m_gameID.m_nModID & 0x80000000); + + case k_EGameIDTypeShortcut: + return m_gameID.m_nAppID == k_uAppIdInvalid + && (m_gameID.m_nModID & 0x80000000) + && m_gameID.m_nModID >= (5000 | 0x80000000); // k_unMaxExpectedLocalAppId - shortcuts are pushed beyond that range + + case k_EGameIDTypeP2P: + return m_gameID.m_nAppID == k_uAppIdInvalid && (m_gameID.m_nModID & 0x80000000); + + default: + return false; + } + + } + + void Reset() + { + m_ulGameID = 0; + } + +// +// Internal stuff. Use the accessors above if possible +// + + struct GameID_t + { +#ifdef VALVE_BIG_ENDIAN + unsigned int m_nModID : 32; + unsigned int m_nType : 8; + unsigned int m_nAppID : 24; +#else + unsigned int m_nAppID : 24; + unsigned int m_nType : 8; + unsigned int m_nModID : 32; +#endif + }; + + union + { + uint64 m_ulGameID; + GameID_t m_gameID; + }; + + friend CGameID GameIDFromAppAndModPath( uint32 nAppID, const char *pchModPath ); +}; + +#pragma pack( pop ) + +const int k_cchGameExtraInfoMax = 64; + + +//----------------------------------------------------------------------------- +// Purpose: Passed as argument to SteamAPI_UseBreakpadCrashHandler to enable optional callback +// just before minidump file is captured after a crash has occurred. (Allows app to append additional comment data to the dump, etc.) +//----------------------------------------------------------------------------- +typedef void (*PFNPreMinidumpCallback)(void *context); + +enum EGameSearchErrorCode_t +{ + k_EGameSearchErrorCode_OK = 1, + k_EGameSearchErrorCode_Failed_Search_Already_In_Progress = 2, + k_EGameSearchErrorCode_Failed_No_Search_In_Progress = 3, + k_EGameSearchErrorCode_Failed_Not_Lobby_Leader = 4, // if not the lobby leader can not call SearchForGameWithLobby + k_EGameSearchErrorCode_Failed_No_Host_Available = 5, // no host is available that matches those search params + k_EGameSearchErrorCode_Failed_Search_Params_Invalid = 6, // search params are invalid + k_EGameSearchErrorCode_Failed_Offline = 7, // offline, could not communicate with server + k_EGameSearchErrorCode_Failed_NotAuthorized = 8, // either the user or the application does not have priveledges to do this + k_EGameSearchErrorCode_Failed_Unknown_Error = 9, // unknown error +}; + +enum EPlayerResult_t +{ + k_EPlayerResultFailedToConnect = 1, // failed to connect after confirming + k_EPlayerResultAbandoned = 2, // quit game without completing it + k_EPlayerResultKicked = 3, // kicked by other players/moderator/server rules + k_EPlayerResultIncomplete = 4, // player stayed to end but game did not conclude successfully ( nofault to player ) + k_EPlayerResultCompleted = 5, // player completed game +}; + + +enum ESteamIPv6ConnectivityProtocol +{ + k_ESteamIPv6ConnectivityProtocol_Invalid = 0, + k_ESteamIPv6ConnectivityProtocol_HTTP = 1, // because a proxy may make this different than other protocols + k_ESteamIPv6ConnectivityProtocol_UDP = 2, // test UDP connectivity. Uses a port that is commonly needed for other Steam stuff. If UDP works, TCP probably works. +}; + +// For the above transport protocol, what do we think the local machine's connectivity to the internet over ipv6 is like +enum ESteamIPv6ConnectivityState +{ + k_ESteamIPv6ConnectivityState_Unknown = 0, // We haven't run a test yet + k_ESteamIPv6ConnectivityState_Good = 1, // We have recently been able to make a request on ipv6 for the given protocol + k_ESteamIPv6ConnectivityState_Bad = 2, // We failed to make a request, either because this machine has no ipv6 address assigned, or it has no upstream connectivity +}; + + +// Define compile time assert macros to let us validate the structure sizes. +#define VALVE_COMPILE_TIME_ASSERT( pred ) typedef char compile_time_assert_type[(pred) ? 1 : -1]; + +#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) +// The 32-bit version of gcc has the alignment requirement for uint64 and double set to +// 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned. +// The 64-bit version of gcc has the alignment requirement for these types set to +// 8 meaning that unless we use #pragma pack(4) our structures will get bigger. +// The 64-bit structure packing has to match the 32-bit structure packing for each platform. +#define VALVE_CALLBACK_PACK_SMALL +#else +#define VALVE_CALLBACK_PACK_LARGE +#endif + +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error ??? +#endif + +typedef struct ValvePackingSentinel_t +{ + uint32 m_u32; + uint64 m_u64; + uint16 m_u16; + double m_d; +} ValvePackingSentinel_t; + +#pragma pack( pop ) + + +#if defined(VALVE_CALLBACK_PACK_SMALL) +VALVE_COMPILE_TIME_ASSERT( sizeof(ValvePackingSentinel_t) == 24 ) +#elif defined(VALVE_CALLBACK_PACK_LARGE) +VALVE_COMPILE_TIME_ASSERT( sizeof(ValvePackingSentinel_t) == 32 ) +#else +#error ??? +#endif + +#endif // STEAMCLIENTPUBLIC_H diff --git a/lsteamclient/steamworks_sdk_159x/steamencryptedappticket.h b/lsteamclient/steamworks_sdk_159x/steamencryptedappticket.h new file mode 100644 index 0000000000..4419a0bec8 --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/steamencryptedappticket.h @@ -0,0 +1,40 @@ +//========= Copyright © 1996-2010, Valve LLC, All rights reserved. ============ +// +// Purpose: utilities to decode/decrypt a ticket from the +// ISteamUser::RequestEncryptedAppTicket, ISteamUser::GetEncryptedAppTicket API +// +// To use: declare CSteamEncryptedAppTicket, then call BDecryptTicket +// if BDecryptTicket returns true, other accessors are valid +// +//============================================================================= + +#include "steam_api.h" + +static const int k_nSteamEncryptedAppTicketSymmetricKeyLen = 32; + + +S_API bool SteamEncryptedAppTicket_BDecryptTicket( const uint8 *rgubTicketEncrypted, uint32 cubTicketEncrypted, + uint8 *rgubTicketDecrypted, uint32 *pcubTicketDecrypted, + const uint8 rgubKey[k_nSteamEncryptedAppTicketSymmetricKeyLen], int cubKey ); + +S_API bool SteamEncryptedAppTicket_BIsTicketForApp( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted, AppId_t nAppID ); + +S_API RTime32 SteamEncryptedAppTicket_GetTicketIssueTime( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted ); + +S_API void SteamEncryptedAppTicket_GetTicketSteamID( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted, CSteamID *psteamID ); + +S_API AppId_t SteamEncryptedAppTicket_GetTicketAppID( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted ); + +S_API bool SteamEncryptedAppTicket_BUserOwnsAppInTicket( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted, AppId_t nAppID ); + +S_API bool SteamEncryptedAppTicket_BUserIsVacBanned( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted ); + +S_API bool SteamEncryptedAppTicket_BGetAppDefinedValue( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted, uint32 *pValue ); + +S_API const uint8 *SteamEncryptedAppTicket_GetUserVariableData( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted, uint32 *pcubUserData ); + +S_API bool SteamEncryptedAppTicket_BIsTicketSigned( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted, const uint8 *pubRSAKey, uint32 cubRSAKey ); + +S_API bool SteamEncryptedAppTicket_BIsLicenseBorrowed( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted ); + +S_API bool SteamEncryptedAppTicket_BIsLicenseTemporary( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted ); diff --git a/lsteamclient/steamworks_sdk_159x/steamhttpenums.h b/lsteamclient/steamworks_sdk_159x/steamhttpenums.h new file mode 100644 index 0000000000..3592116a18 --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/steamhttpenums.h @@ -0,0 +1,105 @@ +//====== Copyright © 1996-2010, Valve Corporation, All rights reserved. ======= +// +// Purpose: HTTP related enums, stuff that is shared by both clients and servers, and our +// UI projects goes here. +// +//============================================================================= + +#ifndef STEAMHTTPENUMS_H +#define STEAMHTTPENUMS_H +#ifdef _WIN32 +#pragma once +#endif + +// HTTP related types + +// This enum is used in client API methods, do not re-number existing values. +enum EHTTPMethod +{ + k_EHTTPMethodInvalid = 0, + k_EHTTPMethodGET, + k_EHTTPMethodHEAD, + k_EHTTPMethodPOST, + k_EHTTPMethodPUT, + k_EHTTPMethodDELETE, + k_EHTTPMethodOPTIONS, + k_EHTTPMethodPATCH, + + // The remaining HTTP methods are not yet supported, per rfc2616 section 5.1.1 only GET and HEAD are required for + // a compliant general purpose server. We'll likely add more as we find uses for them. + + // k_EHTTPMethodTRACE, + // k_EHTTPMethodCONNECT +}; + + +// HTTP Status codes that the server can send in response to a request, see rfc2616 section 10.3 for descriptions +// of each of these. +enum EHTTPStatusCode +{ + // Invalid status code (this isn't defined in HTTP, used to indicate unset in our code) + k_EHTTPStatusCodeInvalid = 0, + + // Informational codes + k_EHTTPStatusCode100Continue = 100, + k_EHTTPStatusCode101SwitchingProtocols = 101, + + // Success codes + k_EHTTPStatusCode200OK = 200, + k_EHTTPStatusCode201Created = 201, + k_EHTTPStatusCode202Accepted = 202, + k_EHTTPStatusCode203NonAuthoritative = 203, + k_EHTTPStatusCode204NoContent = 204, + k_EHTTPStatusCode205ResetContent = 205, + k_EHTTPStatusCode206PartialContent = 206, + + // Redirection codes + k_EHTTPStatusCode300MultipleChoices = 300, + k_EHTTPStatusCode301MovedPermanently = 301, + k_EHTTPStatusCode302Found = 302, + k_EHTTPStatusCode303SeeOther = 303, + k_EHTTPStatusCode304NotModified = 304, + k_EHTTPStatusCode305UseProxy = 305, + //k_EHTTPStatusCode306Unused = 306, (used in old HTTP spec, now unused in 1.1) + k_EHTTPStatusCode307TemporaryRedirect = 307, + k_EHTTPStatusCode308PermanentRedirect = 308, + + // Error codes + k_EHTTPStatusCode400BadRequest = 400, + k_EHTTPStatusCode401Unauthorized = 401, // You probably want 403 or something else. 401 implies you're sending a WWW-Authenticate header and the client can sent an Authorization header in response. + k_EHTTPStatusCode402PaymentRequired = 402, // This is reserved for future HTTP specs, not really supported by clients + k_EHTTPStatusCode403Forbidden = 403, + k_EHTTPStatusCode404NotFound = 404, + k_EHTTPStatusCode405MethodNotAllowed = 405, + k_EHTTPStatusCode406NotAcceptable = 406, + k_EHTTPStatusCode407ProxyAuthRequired = 407, + k_EHTTPStatusCode408RequestTimeout = 408, + k_EHTTPStatusCode409Conflict = 409, + k_EHTTPStatusCode410Gone = 410, + k_EHTTPStatusCode411LengthRequired = 411, + k_EHTTPStatusCode412PreconditionFailed = 412, + k_EHTTPStatusCode413RequestEntityTooLarge = 413, + k_EHTTPStatusCode414RequestURITooLong = 414, + k_EHTTPStatusCode415UnsupportedMediaType = 415, + k_EHTTPStatusCode416RequestedRangeNotSatisfiable = 416, + k_EHTTPStatusCode417ExpectationFailed = 417, + k_EHTTPStatusCode4xxUnknown = 418, // 418 is reserved, so we'll use it to mean unknown + k_EHTTPStatusCode429TooManyRequests = 429, + k_EHTTPStatusCode444ConnectionClosed = 444, // nginx only? + + // Server error codes + k_EHTTPStatusCode500InternalServerError = 500, + k_EHTTPStatusCode501NotImplemented = 501, + k_EHTTPStatusCode502BadGateway = 502, + k_EHTTPStatusCode503ServiceUnavailable = 503, + k_EHTTPStatusCode504GatewayTimeout = 504, + k_EHTTPStatusCode505HTTPVersionNotSupported = 505, + k_EHTTPStatusCode5xxUnknown = 599, +}; + +inline bool BIsHTTPStatusSuccess( EHTTPStatusCode eStatus ) +{ + return eStatus >= 200 && eStatus <= 299; +} + +#endif // STEAMHTTPENUMS_H \ No newline at end of file diff --git a/lsteamclient/steamworks_sdk_159x/steamnetworkingfakeip.h b/lsteamclient/steamworks_sdk_159x/steamnetworkingfakeip.h new file mode 100644 index 0000000000..0b642734fc --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/steamnetworkingfakeip.h @@ -0,0 +1,135 @@ +//====== Copyright Valve Corporation, All rights reserved. ==================== + +#ifndef STEAMNETWORKINGFAKEIP_H +#define STEAMNETWORKINGFAKEIP_H + +#include "steamnetworkingtypes.h" +#include "steam_api_common.h" + +// It is HIGHLY recommended to limit messages sent via Fake UDP port to this +// value. The purpose of a Fake UDP port is to make porting ordinary ad-hoc UDP +// code easier. Although the real MTU might be higher than this, this particular +// conservative value is chosen so that fragmentation won't be occurring and +// hiding performance problems from you. +constexpr int k_cbSteamNetworkingSocketsFakeUDPPortRecommendedMTU = 1200; + +// Messages larger than this size are not allowed and cannot be sent +// via Fake UDP port. +constexpr int k_cbSteamNetworkingSocketsFakeUDPPortMaxMessageSize = 4096; + +//----------------------------------------------------------------------------- +/// ISteamNetworkingFakeUDPPort +/// +/// Acts like a UDP port, sending and receiving datagrams addressed using +/// FakeIP addresses. +/// +/// See: ISteamNetworkingSockets::CreateFakeUDPPort + +class ISteamNetworkingFakeUDPPort +{ +public: + /// Destroy the object and cleanup any internal connections. + /// Note that this function call is not threadsafe with respect + /// to any other method of this interface. (However, in general + /// all other operations are threadsafe with respect to each other.) + virtual void DestroyFakeUDPPort() = 0; + + /// Send a datagram to the specified FakeIP. + /// + /// See ISteamNetworkingSockets::SendMessageToConnection for the meaning of + /// nSendFlags and possible return codes. + /// + /// Notes: + /// - datagrams larger than the underlying MTU are supported, but + /// reliable messages (k_nSteamNetworkingSend_Reliable) are not supported. + /// - You will usually want to use k_nSteamNetworkingSend_NoNagle + /// - k_EResultBusy is returned if this is a "server" port and the global + /// allocation has not yet completed. + /// - k_EResultIPNotFound will be returned if the address is a local/ephemeral + /// address and no existing connection can be found. This can happen if + /// the remote host contacted us without having a global address, and we + /// assigned them a random local address, and then the session with + /// that host timed out. + /// - When initiating communications, the first messages may be sent + /// via backend signaling, or otherwise delayed, while a route is found. + /// Expect the ping time to fluctuate during this period, and it's possible + /// that messages will be delivered out of order (which is also possible with + /// ordinary UDP). + virtual EResult SendMessageToFakeIP( const SteamNetworkingIPAddr &remoteAddress, const void *pData, uint32 cbData, int nSendFlags ) = 0; + + /// Receive messages on the port. + /// + /// Returns the number of messages returned into your array, up to nMaxMessages. + /// + /// SteamNetworkingMessage_t::m_identity in the returned message(s) will always contain + /// a FakeIP. See ISteamNetworkingUtils::GetRealIdentityForFakeIP. + virtual int ReceiveMessages( SteamNetworkingMessage_t **ppOutMessages, int nMaxMessages ) = 0; + + /// Schedule the internal connection for a given peer to be cleaned up in a few seconds. + /// + /// Idle connections automatically time out, and so this is not strictly *necessary*, + /// but if you have reason to believe that you are done talking to a given peer for + /// a while, you can call this to speed up the timeout. If any remaining packets are + /// sent or received from the peer, the cleanup is canceled and the usual timeout + /// value is restored. Thus you will usually call this immediately after sending + /// or receiving application-layer "close connection" packets. + virtual void ScheduleCleanup( const SteamNetworkingIPAddr &remoteAddress ) = 0; +}; +#define STEAMNETWORKINGFAKEUDPPORT_INTERFACE_VERSION "SteamNetworkingFakeUDPPort001" /* for proton codegen */ + +/// Callback struct used to notify when a connection has changed state +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error "Must define VALVE_CALLBACK_PACK_SMALL or VALVE_CALLBACK_PACK_LARGE" +#endif + +/// A struct used to describe a "fake IP" we have been assigned to +/// use as an identifier. This callback is posted when +/// ISteamNetworkingSoockets::BeginAsyncRequestFakeIP completes. +/// See also ISteamNetworkingSockets::GetFakeIP +struct SteamNetworkingFakeIPResult_t +{ + enum { k_iCallback = k_iSteamNetworkingSocketsCallbacks + 3 }; + + /// Status/result of the allocation request. Possible failure values are: + /// - k_EResultBusy - you called GetFakeIP but the request has not completed. + /// - k_EResultInvalidParam - you called GetFakeIP with an invalid port index + /// - k_EResultLimitExceeded - You asked for too many ports, or made an + /// additional request after one had already succeeded + /// - k_EResultNoMatch - GetFakeIP was called, but no request has been made + /// + /// Note that, with the exception of k_EResultBusy (if you are polling), + /// it is highly recommended to treat all failures as fatal. + EResult m_eResult; + + /// Local identity of the ISteamNetworkingSockets object that made + /// this request and is assigned the IP. This is needed in the callback + /// in the case where there are multiple ISteamNetworkingSockets objects. + /// (E.g. one for the user, and another for the local gameserver). + SteamNetworkingIdentity m_identity; + + /// Fake IPv4 IP address that we have been assigned. NOTE: this + /// IP address is not exclusively ours! Steam tries to avoid sharing + /// IP addresses, but this may not always be possible. The IP address + /// may be currently in use by another host, but with different port(s). + /// The exact same IP:port address may have been used previously. + /// Steam tries to avoid reusing ports until they have not been in use for + /// some time, but this may not always be possible. + uint32 m_unIP; + + /// Port number(s) assigned to us. Only the first entries will contain + /// nonzero values. Entries corresponding to ports beyond what was + /// allocated for you will be zero. + /// + /// (NOTE: At the time of this writing, the maximum number of ports you may + /// request is 4.) + enum { k_nMaxReturnPorts = 8 }; + uint16 m_unPorts[k_nMaxReturnPorts]; +}; + +#pragma pack( pop ) + +#endif // _H diff --git a/lsteamclient/steamworks_sdk_159x/steamnetworkingtypes.h b/lsteamclient/steamworks_sdk_159x/steamnetworkingtypes.h new file mode 100644 index 0000000000..c3eeea483e --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/steamnetworkingtypes.h @@ -0,0 +1,1871 @@ +//====== Copyright Valve Corporation, All rights reserved. ==================== +// +// Purpose: misc networking utilities +// +//============================================================================= + +#ifndef STEAMNETWORKINGTYPES +#define STEAMNETWORKINGTYPES + +#include +#include +#include "steamtypes.h" +#include "steamclientpublic.h" + +//----------------------------------------------------------------------------- +// SteamNetworkingSockets config. +#if !defined(STEAMNETWORKINGSOCKETS_STANDALONELIB) && !defined(STEAMNETWORKINGSOCKETS_STEAMAPI) + #define STEAMNETWORKINGSOCKETS_STEAMAPI +#endif +//----------------------------------------------------------------------------- + +#ifdef NN_NINTENDO_SDK // We always static link on Nintendo + #define STEAMNETWORKINGSOCKETS_STATIC_LINK +#endif +#if defined( STEAMNETWORKINGSOCKETS_STATIC_LINK ) + #define STEAMNETWORKINGSOCKETS_INTERFACE extern "C" +#elif defined( STEAMNETWORKINGSOCKETS_FOREXPORT ) + #if defined( _WIN32 ) || defined( __ORBIS__ ) || defined( __PROSPERO__ ) + #define STEAMNETWORKINGSOCKETS_INTERFACE extern "C" __declspec( dllexport ) + #else + #define STEAMNETWORKINGSOCKETS_INTERFACE extern "C" __attribute__((visibility("default"))) + #endif +#else + #ifdef _WIN32 + #define STEAMNETWORKINGSOCKETS_INTERFACE extern "C" __declspec( dllimport ) + #else + #define STEAMNETWORKINGSOCKETS_INTERFACE extern "C" + #endif +#endif + +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error "Must define VALVE_CALLBACK_PACK_SMALL or VALVE_CALLBACK_PACK_LARGE" +#endif + +struct SteamDatagramRelayAuthTicket; +struct SteamDatagramHostedAddress; +struct SteamDatagramGameCoordinatorServerLogin; +struct SteamNetConnectionStatusChangedCallback_t; +struct SteamNetAuthenticationStatus_t; +struct SteamRelayNetworkStatus_t; +struct SteamNetworkingMessagesSessionRequest_t; +struct SteamNetworkingMessagesSessionFailed_t; +struct SteamNetworkingFakeIPResult_t; + +typedef void (*FnSteamNetConnectionStatusChanged)( SteamNetConnectionStatusChangedCallback_t * ); +typedef void (*FnSteamNetAuthenticationStatusChanged)( SteamNetAuthenticationStatus_t * ); +typedef void (*FnSteamRelayNetworkStatusChanged)(SteamRelayNetworkStatus_t *); +typedef void (*FnSteamNetworkingMessagesSessionRequest)(SteamNetworkingMessagesSessionRequest_t *); +typedef void (*FnSteamNetworkingMessagesSessionFailed)(SteamNetworkingMessagesSessionFailed_t *); +typedef void (*FnSteamNetworkingFakeIPResult)(SteamNetworkingFakeIPResult_t *); + +/// Handle used to identify a connection to a remote host. +typedef uint32 HSteamNetConnection; +const HSteamNetConnection k_HSteamNetConnection_Invalid = 0; + +/// Handle used to identify a "listen socket". Unlike traditional +/// Berkeley sockets, a listen socket and a connection are two +/// different abstractions. +typedef uint32 HSteamListenSocket; +const HSteamListenSocket k_HSteamListenSocket_Invalid = 0; + +/// Handle used to identify a poll group, used to query many +/// connections at once efficiently. +typedef uint32 HSteamNetPollGroup; +const HSteamNetPollGroup k_HSteamNetPollGroup_Invalid = 0; + +/// Max length of diagnostic error message +const int k_cchMaxSteamNetworkingErrMsg = 1024; + +/// Used to return English-language diagnostic error messages to caller. +/// (For debugging or spewing to a console, etc. Not intended for UI.) +typedef char SteamNetworkingErrMsg[ k_cchMaxSteamNetworkingErrMsg ]; + +/// Identifier used for a network location point of presence. (E.g. a Valve data center.) +/// Typically you won't need to directly manipulate these. +typedef uint32 SteamNetworkingPOPID; + +/// A local timestamp. You can subtract two timestamps to get the number of elapsed +/// microseconds. This is guaranteed to increase over time during the lifetime +/// of a process, but not globally across runs. You don't need to worry about +/// the value wrapping around. Note that the underlying clock might not actually have +/// microsecond resolution. +typedef int64 SteamNetworkingMicroseconds; + +/// Describe the status of a particular network resource +enum ESteamNetworkingAvailability +{ + // Negative values indicate a problem. + // + // In general, we will not automatically retry unless you take some action that + // depends on of requests this resource, such as querying the status, attempting + // to initiate a connection, receive a connection, etc. If you do not take any + // action at all, we do not automatically retry in the background. + k_ESteamNetworkingAvailability_CannotTry = -102, // A dependent resource is missing, so this service is unavailable. (E.g. we cannot talk to routers because Internet is down or we don't have the network config.) + k_ESteamNetworkingAvailability_Failed = -101, // We have tried for enough time that we would expect to have been successful by now. We have never been successful + k_ESteamNetworkingAvailability_Previously = -100, // We tried and were successful at one time, but now it looks like we have a problem + + k_ESteamNetworkingAvailability_Retrying = -10, // We previously failed and are currently retrying + + // Not a problem, but not ready either + k_ESteamNetworkingAvailability_NeverTried = 1, // We don't know because we haven't ever checked/tried + k_ESteamNetworkingAvailability_Waiting = 2, // We're waiting on a dependent resource to be acquired. (E.g. we cannot obtain a cert until we are logged into Steam. We cannot measure latency to relays until we have the network config.) + k_ESteamNetworkingAvailability_Attempting = 3, // We're actively trying now, but are not yet successful. + + k_ESteamNetworkingAvailability_Current = 100, // Resource is online/available + + + k_ESteamNetworkingAvailability_Unknown = 0, // Internal dummy/sentinel, or value is not applicable in this context + k_ESteamNetworkingAvailability__Force32bit = 0x7fffffff, +}; + +// +// Describing network hosts +// + +/// Different methods of describing the identity of a network host +enum ESteamNetworkingIdentityType +{ + // Dummy/empty/invalid. + // Please note that if we parse a string that we don't recognize + // but that appears reasonable, we will NOT use this type. Instead + // we'll use k_ESteamNetworkingIdentityType_UnknownType. + k_ESteamNetworkingIdentityType_Invalid = 0, + + // + // Basic platform-specific identifiers. + // + k_ESteamNetworkingIdentityType_SteamID = 16, // 64-bit CSteamID + k_ESteamNetworkingIdentityType_XboxPairwiseID = 17, // Publisher-specific user identity, as string + k_ESteamNetworkingIdentityType_SonyPSN = 18, // 64-bit ID + k_ESteamNetworkingIdentityType_GoogleStadia = 19, // 64-bit ID + //k_ESteamNetworkingIdentityType_NintendoNetworkServiceAccount, + //k_ESteamNetworkingIdentityType_EpicGameStore + //k_ESteamNetworkingIdentityType_WeGame + + // + // Special identifiers. + // + + // Use their IP address (and port) as their "identity". + // These types of identities are always unauthenticated. + // They are useful for porting plain sockets code, and other + // situations where you don't care about authentication. In this + // case, the local identity will be "localhost", + // and the remote address will be their network address. + // + // We use the same type for either IPv4 or IPv6, and + // the address is always store as IPv6. We use IPv4 + // mapped addresses to handle IPv4. + k_ESteamNetworkingIdentityType_IPAddress = 1, + + // Generic string/binary blobs. It's up to your app to interpret this. + // This library can tell you if the remote host presented a certificate + // signed by somebody you have chosen to trust, with this identity on it. + // It's up to you to ultimately decide what this identity means. + k_ESteamNetworkingIdentityType_GenericString = 2, + k_ESteamNetworkingIdentityType_GenericBytes = 3, + + // This identity type is used when we parse a string that looks like is a + // valid identity, just of a kind that we don't recognize. In this case, we + // can often still communicate with the peer! Allowing such identities + // for types we do not recognize useful is very useful for forward + // compatibility. + k_ESteamNetworkingIdentityType_UnknownType = 4, + + // Make sure this enum is stored in an int. + k_ESteamNetworkingIdentityType__Force32bit = 0x7fffffff, +}; + +/// "Fake IPs" are assigned to hosts, to make it easier to interface with +/// older code that assumed all hosts will have an IPv4 address +enum ESteamNetworkingFakeIPType +{ + k_ESteamNetworkingFakeIPType_Invalid, // Error, argument was not even an IP address, etc. + k_ESteamNetworkingFakeIPType_NotFake, // Argument was a valid IP, but was not from the reserved "fake" range + k_ESteamNetworkingFakeIPType_GlobalIPv4, // Globally unique (for a given app) IPv4 address. Address space managed by Steam + k_ESteamNetworkingFakeIPType_LocalIPv4, // Locally unique IPv4 address. Address space managed by the local process. For internal use only; should not be shared! + + k_ESteamNetworkingFakeIPType__Force32Bit = 0x7fffffff +}; + +#pragma pack(push,1) + +/// Store an IP and port. IPv6 is always used; IPv4 is represented using +/// "IPv4-mapped" addresses: IPv4 aa.bb.cc.dd => IPv6 ::ffff:aabb:ccdd +/// (RFC 4291 section 2.5.5.2.) +struct SteamNetworkingIPAddr +{ + void Clear(); // Set everything to zero. E.g. [::]:0 + bool IsIPv6AllZeros() const; // Return true if the IP is ::0. (Doesn't check port.) + void SetIPv6( const uint8 *ipv6, uint16 nPort ); // Set IPv6 address. IP is interpreted as bytes, so there are no endian issues. (Same as inaddr_in6.) The IP can be a mapped IPv4 address + void SetIPv4( uint32 nIP, uint16 nPort ); // Sets to IPv4 mapped address. IP and port are in host byte order. + bool IsIPv4() const; // Return true if IP is mapped IPv4 + uint32 GetIPv4() const; // Returns IP in host byte order (e.g. aa.bb.cc.dd as 0xaabbccdd). Returns 0 if IP is not mapped IPv4. + void SetIPv6LocalHost( uint16 nPort = 0); // Set to the IPv6 localhost address ::1, and the specified port. + bool IsLocalHost() const; // Return true if this identity is localhost. (Either IPv6 ::1, or IPv4 127.0.0.1) + + // Max length of the buffer needed to hold IP formatted using ToString, including '\0' + // ([0123:4567:89ab:cdef:0123:4567:89ab:cdef]:12345) + enum { k_cchMaxString = 48 }; + + /// Print to a string, with or without the port. Mapped IPv4 addresses are printed + /// as dotted decimal (12.34.56.78), otherwise this will print the canonical + /// form according to RFC5952. If you include the port, IPv6 will be surrounded by + /// brackets, e.g. [::1:2]:80. Your buffer should be at least k_cchMaxString bytes + /// to avoid truncation + /// + /// See also SteamNetworkingIdentityRender + inline void ToString( char *buf, size_t cbBuf, bool bWithPort ) const; + + /// Parse an IP address and optional port. If a port is not present, it is set to 0. + /// (This means that you cannot tell if a zero port was explicitly specified.) + inline bool ParseString( const char *pszStr ); + + /// RFC4038, section 4.2 + struct IPv4MappedAddress { + uint64 m_8zeros; + uint16 m_0000; + uint16 m_ffff; + uint8 m_ip[ 4 ]; // NOTE: As bytes, i.e. network byte order + }; + + union + { + uint8 m_ipv6[ 16 ]; + IPv4MappedAddress m_ipv4; + } data; + uint16 m_port; // Host byte order + + /// See if two addresses are identical + bool operator==(const SteamNetworkingIPAddr &x ) const; + + /// Classify address as FakeIP. This function never returns + /// k_ESteamNetworkingFakeIPType_Invalid. + ESteamNetworkingFakeIPType GetFakeIPType() const; + + /// Return true if we are a FakeIP + bool IsFakeIP() const { return GetFakeIPType() > k_ESteamNetworkingFakeIPType_NotFake; } +}; + +/// An abstract way to represent the identity of a network host. All identities can +/// be represented as simple string. Furthermore, this string representation is actually +/// used on the wire in several places, even though it is less efficient, in order to +/// facilitate forward compatibility. (Old client code can handle an identity type that +/// it doesn't understand.) +struct SteamNetworkingIdentity +{ + /// Type of identity. + ESteamNetworkingIdentityType m_eType; + + // + // Get/Set in various formats. + // + + void Clear(); + bool IsInvalid() const; // Return true if we are the invalid type. Does not make any other validity checks (e.g. is SteamID actually valid) + + void SetSteamID( CSteamID steamID ); + CSteamID GetSteamID() const; // Return black CSteamID (!IsValid()) if identity is not a SteamID + void SetSteamID64( uint64 steamID ); // Takes SteamID as raw 64-bit number + uint64 GetSteamID64() const; // Returns 0 if identity is not SteamID + + bool SetXboxPairwiseID( const char *pszString ); // Returns false if invalid length + const char *GetXboxPairwiseID() const; // Returns nullptr if not Xbox ID + + void SetPSNID( uint64 id ); + uint64 GetPSNID() const; // Returns 0 if not PSN + + void SetStadiaID( uint64 id ); + uint64 GetStadiaID() const; // Returns 0 if not Stadia + + void SetIPAddr( const SteamNetworkingIPAddr &addr ); // Set to specified IP:port + const SteamNetworkingIPAddr *GetIPAddr() const; // returns null if we are not an IP address. + void SetIPv4Addr( uint32 nIPv4, uint16 nPort ); // Set to specified IPv4:port + uint32 GetIPv4() const; // returns 0 if we are not an IPv4 address. + + ESteamNetworkingFakeIPType GetFakeIPType() const; + bool IsFakeIP() const { return GetFakeIPType() > k_ESteamNetworkingFakeIPType_NotFake; } + + // "localhost" is equivalent for many purposes to "anonymous." Our remote + // will identify us by the network address we use. + void SetLocalHost(); // Set to localhost. (We always use IPv6 ::1 for this, not 127.0.0.1) + bool IsLocalHost() const; // Return true if this identity is localhost. + + bool SetGenericString( const char *pszString ); // Returns false if invalid length + const char *GetGenericString() const; // Returns nullptr if not generic string type + + bool SetGenericBytes( const void *data, size_t cbLen ); // Returns false if invalid size. + const uint8 *GetGenericBytes( int &cbLen ) const; // Returns null if not generic bytes type + + /// See if two identities are identical + bool operator==(const SteamNetworkingIdentity &x ) const; + + /// Print to a human-readable string. This is suitable for debug messages + /// or any other time you need to encode the identity as a string. It has a + /// URL-like format (type:). Your buffer should be at least + /// k_cchMaxString bytes big to avoid truncation. + /// + /// See also SteamNetworkingIPAddrRender + void ToString( char *buf, size_t cbBuf ) const; + + /// Parse back a string that was generated using ToString. If we don't understand the + /// string, but it looks "reasonable" (it matches the pattern type: and doesn't + /// have any funky characters, etc), then we will return true, and the type is set to + /// k_ESteamNetworkingIdentityType_UnknownType. false will only be returned if the string + /// looks invalid. + bool ParseString( const char *pszStr ); + + // Max sizes + enum { + k_cchMaxString = 128, // Max length of the buffer needed to hold any identity, formatted in string format by ToString + k_cchMaxGenericString = 32, // Max length of the string for generic string identities. Including terminating '\0' + k_cchMaxXboxPairwiseID = 33, // Including terminating '\0' + k_cbMaxGenericBytes = 32, + }; + + // + // Internal representation. Don't access this directly, use the accessors! + // + // Number of bytes that are relevant below. This MUST ALWAYS be + // set. (Use the accessors!) This is important to enable old code to work + // with new identity types. + int m_cbSize; + union { + uint64 m_steamID64; + uint64 m_PSNID; + uint64 m_stadiaID; + char m_szGenericString[ k_cchMaxGenericString ]; + char m_szXboxPairwiseID[ k_cchMaxXboxPairwiseID ]; + uint8 m_genericBytes[ k_cbMaxGenericBytes ]; + char m_szUnknownRawString[ k_cchMaxString ]; + SteamNetworkingIPAddr m_ip; + uint32 m_reserved[ 32 ]; // Pad structure to leave easy room for future expansion + } data; +}; +#pragma pack(pop) + +// +// Connection status +// + +/// High level connection status +enum ESteamNetworkingConnectionState +{ + + /// Dummy value used to indicate an error condition in the API. + /// Specified connection doesn't exist or has already been closed. + k_ESteamNetworkingConnectionState_None = 0, + + /// We are trying to establish whether peers can talk to each other, + /// whether they WANT to talk to each other, perform basic auth, + /// and exchange crypt keys. + /// + /// - For connections on the "client" side (initiated locally): + /// We're in the process of trying to establish a connection. + /// Depending on the connection type, we might not know who they are. + /// Note that it is not possible to tell if we are waiting on the + /// network to complete handshake packets, or for the application layer + /// to accept the connection. + /// + /// - For connections on the "server" side (accepted through listen socket): + /// We have completed some basic handshake and the client has presented + /// some proof of identity. The connection is ready to be accepted + /// using AcceptConnection(). + /// + /// In either case, any unreliable packets sent now are almost certain + /// to be dropped. Attempts to receive packets are guaranteed to fail. + /// You may send messages if the send mode allows for them to be queued. + /// but if you close the connection before the connection is actually + /// established, any queued messages will be discarded immediately. + /// (We will not attempt to flush the queue and confirm delivery to the + /// remote host, which ordinarily happens when a connection is closed.) + k_ESteamNetworkingConnectionState_Connecting = 1, + + /// Some connection types use a back channel or trusted 3rd party + /// for earliest communication. If the server accepts the connection, + /// then these connections switch into the rendezvous state. During this + /// state, we still have not yet established an end-to-end route (through + /// the relay network), and so if you send any messages unreliable, they + /// are going to be discarded. + k_ESteamNetworkingConnectionState_FindingRoute = 2, + + /// We've received communications from our peer (and we know + /// who they are) and are all good. If you close the connection now, + /// we will make our best effort to flush out any reliable sent data that + /// has not been acknowledged by the peer. (But note that this happens + /// from within the application process, so unlike a TCP connection, you are + /// not totally handing it off to the operating system to deal with it.) + k_ESteamNetworkingConnectionState_Connected = 3, + + /// Connection has been closed by our peer, but not closed locally. + /// The connection still exists from an API perspective. You must close the + /// handle to free up resources. If there are any messages in the inbound queue, + /// you may retrieve them. Otherwise, nothing may be done with the connection + /// except to close it. + /// + /// This stats is similar to CLOSE_WAIT in the TCP state machine. + k_ESteamNetworkingConnectionState_ClosedByPeer = 4, + + /// A disruption in the connection has been detected locally. (E.g. timeout, + /// local internet connection disrupted, etc.) + /// + /// The connection still exists from an API perspective. You must close the + /// handle to free up resources. + /// + /// Attempts to send further messages will fail. Any remaining received messages + /// in the queue are available. + k_ESteamNetworkingConnectionState_ProblemDetectedLocally = 5, + +// +// The following values are used internally and will not be returned by any API. +// We document them here to provide a little insight into the state machine that is used +// under the hood. +// + + /// We've disconnected on our side, and from an API perspective the connection is closed. + /// No more data may be sent or received. All reliable data has been flushed, or else + /// we've given up and discarded it. We do not yet know for sure that the peer knows + /// the connection has been closed, however, so we're just hanging around so that if we do + /// get a packet from them, we can send them the appropriate packets so that they can + /// know why the connection was closed (and not have to rely on a timeout, which makes + /// it appear as if something is wrong). + k_ESteamNetworkingConnectionState_FinWait = -1, + + /// We've disconnected on our side, and from an API perspective the connection is closed. + /// No more data may be sent or received. From a network perspective, however, on the wire, + /// we have not yet given any indication to the peer that the connection is closed. + /// We are in the process of flushing out the last bit of reliable data. Once that is done, + /// we will inform the peer that the connection has been closed, and transition to the + /// FinWait state. + /// + /// Note that no indication is given to the remote host that we have closed the connection, + /// until the data has been flushed. If the remote host attempts to send us data, we will + /// do whatever is necessary to keep the connection alive until it can be closed properly. + /// But in fact the data will be discarded, since there is no way for the application to + /// read it back. Typically this is not a problem, as application protocols that utilize + /// the lingering functionality are designed for the remote host to wait for the response + /// before sending any more data. + k_ESteamNetworkingConnectionState_Linger = -2, + + /// Connection is completely inactive and ready to be destroyed + k_ESteamNetworkingConnectionState_Dead = -3, + + k_ESteamNetworkingConnectionState__Force32Bit = 0x7fffffff +}; + +/// Enumerate various causes of connection termination. These are designed to work similar +/// to HTTP error codes: the numeric range gives you a rough classification as to the source +/// of the problem. +enum ESteamNetConnectionEnd +{ + // Invalid/sentinel value + k_ESteamNetConnectionEnd_Invalid = 0, + + // + // Application codes. These are the values you will pass to + // ISteamNetworkingSockets::CloseConnection. You can use these codes if + // you want to plumb through application-specific reason codes. If you don't + // need this facility, feel free to always pass + // k_ESteamNetConnectionEnd_App_Generic. + // + // The distinction between "normal" and "exceptional" termination is + // one you may use if you find useful, but it's not necessary for you + // to do so. The only place where we distinguish between normal and + // exceptional is in connection analytics. If a significant + // proportion of connections terminates in an exceptional manner, + // this can trigger an alert. + // + + // 1xxx: Application ended the connection in a "usual" manner. + // E.g.: user intentionally disconnected from the server, + // gameplay ended normally, etc + k_ESteamNetConnectionEnd_App_Min = 1000, + k_ESteamNetConnectionEnd_App_Generic = k_ESteamNetConnectionEnd_App_Min, + // Use codes in this range for "normal" disconnection + k_ESteamNetConnectionEnd_App_Max = 1999, + + // 2xxx: Application ended the connection in some sort of exceptional + // or unusual manner that might indicate a bug or configuration + // issue. + // + k_ESteamNetConnectionEnd_AppException_Min = 2000, + k_ESteamNetConnectionEnd_AppException_Generic = k_ESteamNetConnectionEnd_AppException_Min, + // Use codes in this range for "unusual" disconnection + k_ESteamNetConnectionEnd_AppException_Max = 2999, + + // + // System codes. These will be returned by the system when + // the connection state is k_ESteamNetworkingConnectionState_ClosedByPeer + // or k_ESteamNetworkingConnectionState_ProblemDetectedLocally. It is + // illegal to pass a code in this range to ISteamNetworkingSockets::CloseConnection + // + + // 3xxx: Connection failed or ended because of problem with the + // local host or their connection to the Internet. + k_ESteamNetConnectionEnd_Local_Min = 3000, + + // You cannot do what you want to do because you're running in offline mode. + k_ESteamNetConnectionEnd_Local_OfflineMode = 3001, + + // We're having trouble contacting many (perhaps all) relays. + // Since it's unlikely that they all went offline at once, the best + // explanation is that we have a problem on our end. Note that we don't + // bother distinguishing between "many" and "all", because in practice, + // it takes time to detect a connection problem, and by the time + // the connection has timed out, we might not have been able to + // actively probe all of the relay clusters, even if we were able to + // contact them at one time. So this code just means that: + // + // * We don't have any recent successful communication with any relay. + // * We have evidence of recent failures to communicate with multiple relays. + k_ESteamNetConnectionEnd_Local_ManyRelayConnectivity = 3002, + + // A hosted server is having trouble talking to the relay + // that the client was using, so the problem is most likely + // on our end + k_ESteamNetConnectionEnd_Local_HostedServerPrimaryRelay = 3003, + + // We're not able to get the SDR network config. This is + // *almost* always a local issue, since the network config + // comes from the CDN, which is pretty darn reliable. + k_ESteamNetConnectionEnd_Local_NetworkConfig = 3004, + + // Steam rejected our request because we don't have rights + // to do this. + k_ESteamNetConnectionEnd_Local_Rights = 3005, + + // ICE P2P rendezvous failed because we were not able to + // determine our "public" address (e.g. reflexive address via STUN) + // + // If relay fallback is available (it always is on Steam), then + // this is only used internally and will not be returned as a high + // level failure. + k_ESteamNetConnectionEnd_Local_P2P_ICE_NoPublicAddresses = 3006, + + k_ESteamNetConnectionEnd_Local_Max = 3999, + + // 4xxx: Connection failed or ended, and it appears that the + // cause does NOT have to do with the local host or their + // connection to the Internet. It could be caused by the + // remote host, or it could be somewhere in between. + k_ESteamNetConnectionEnd_Remote_Min = 4000, + + // The connection was lost, and as far as we can tell our connection + // to relevant services (relays) has not been disrupted. This doesn't + // mean that the problem is "their fault", it just means that it doesn't + // appear that we are having network issues on our end. + k_ESteamNetConnectionEnd_Remote_Timeout = 4001, + + // Something was invalid with the cert or crypt handshake + // info you gave me, I don't understand or like your key types, + // etc. + k_ESteamNetConnectionEnd_Remote_BadCrypt = 4002, + + // You presented me with a cert that was I was able to parse + // and *technically* we could use encrypted communication. + // But there was a problem that prevents me from checking your identity + // or ensuring that somebody int he middle can't observe our communication. + // E.g.: - the CA key was missing (and I don't accept unsigned certs) + // - The CA key isn't one that I trust, + // - The cert doesn't was appropriately restricted by app, user, time, data center, etc. + // - The cert wasn't issued to you. + // - etc + k_ESteamNetConnectionEnd_Remote_BadCert = 4003, + + // These will never be returned + //k_ESteamNetConnectionEnd_Remote_NotLoggedIn_DEPRECATED = 4004, + //k_ESteamNetConnectionEnd_Remote_NotRunningApp_DEPRECATED = 4005, + + // Something wrong with the protocol version you are using. + // (Probably the code you are running is too old.) + k_ESteamNetConnectionEnd_Remote_BadProtocolVersion = 4006, + + // NAT punch failed failed because we never received any public + // addresses from the remote host. (But we did receive some + // signals form them.) + // + // If relay fallback is available (it always is on Steam), then + // this is only used internally and will not be returned as a high + // level failure. + k_ESteamNetConnectionEnd_Remote_P2P_ICE_NoPublicAddresses = 4007, + + k_ESteamNetConnectionEnd_Remote_Max = 4999, + + // 5xxx: Connection failed for some other reason. + k_ESteamNetConnectionEnd_Misc_Min = 5000, + + // A failure that isn't necessarily the result of a software bug, + // but that should happen rarely enough that it isn't worth specifically + // writing UI or making a localized message for. + // The debug string should contain further details. + k_ESteamNetConnectionEnd_Misc_Generic = 5001, + + // Generic failure that is most likely a software bug. + k_ESteamNetConnectionEnd_Misc_InternalError = 5002, + + // The connection to the remote host timed out, but we + // don't know if the problem is on our end, in the middle, + // or on their end. + k_ESteamNetConnectionEnd_Misc_Timeout = 5003, + + //k_ESteamNetConnectionEnd_Misc_RelayConnectivity_DEPRECATED = 5004, + + // There's some trouble talking to Steam. + k_ESteamNetConnectionEnd_Misc_SteamConnectivity = 5005, + + // A server in a dedicated hosting situation has no relay sessions + // active with which to talk back to a client. (It's the client's + // job to open and maintain those sessions.) + k_ESteamNetConnectionEnd_Misc_NoRelaySessionsToClient = 5006, + + // While trying to initiate a connection, we never received + // *any* communication from the peer. + //k_ESteamNetConnectionEnd_Misc_ServerNeverReplied = 5007, + + // P2P rendezvous failed in a way that we don't have more specific + // information + k_ESteamNetConnectionEnd_Misc_P2P_Rendezvous = 5008, + + // NAT punch failed, probably due to NAT/firewall configuration. + // + // If relay fallback is available (it always is on Steam), then + // this is only used internally and will not be returned as a high + // level failure. + k_ESteamNetConnectionEnd_Misc_P2P_NAT_Firewall = 5009, + + // Our peer replied that it has no record of the connection. + // This should not happen ordinarily, but can happen in a few + // exception cases: + // + // - This is an old connection, and the peer has already cleaned + // up and forgotten about it. (Perhaps it timed out and they + // closed it and were not able to communicate this to us.) + // - A bug or internal protocol error has caused us to try to + // talk to the peer about the connection before we received + // confirmation that the peer has accepted the connection. + // - The peer thinks that we have closed the connection for some + // reason (perhaps a bug), and believes that is it is + // acknowledging our closure. + k_ESteamNetConnectionEnd_Misc_PeerSentNoConnection = 5010, + + k_ESteamNetConnectionEnd_Misc_Max = 5999, + + k_ESteamNetConnectionEnd__Force32Bit = 0x7fffffff +}; + +/// Max length, in bytes (including null terminator) of the reason string +/// when a connection is closed. +const int k_cchSteamNetworkingMaxConnectionCloseReason = 128; + +/// Max length, in bytes (include null terminator) of debug description +/// of a connection. +const int k_cchSteamNetworkingMaxConnectionDescription = 128; + +/// Max length of the app's part of the description +const int k_cchSteamNetworkingMaxConnectionAppName = 32; + +const int k_nSteamNetworkConnectionInfoFlags_Unauthenticated = 1; // We don't have a certificate for the remote host. +const int k_nSteamNetworkConnectionInfoFlags_Unencrypted = 2; // Information is being sent out over a wire unencrypted (by this library) +const int k_nSteamNetworkConnectionInfoFlags_LoopbackBuffers = 4; // Internal loopback buffers. Won't be true for localhost. (You can check the address to determine that.) This implies k_nSteamNetworkConnectionInfoFlags_FastLAN +const int k_nSteamNetworkConnectionInfoFlags_Fast = 8; // The connection is "fast" and "reliable". Either internal/localhost (check the address to find out), or the peer is on the same LAN. (Probably. It's based on the address and the ping time, this is actually hard to determine unambiguously). +const int k_nSteamNetworkConnectionInfoFlags_Relayed = 16; // The connection is relayed somehow (SDR or TURN). +const int k_nSteamNetworkConnectionInfoFlags_DualWifi = 32; // We're taking advantage of dual-wifi multi-path + +/// Describe the state of a connection. +struct SteamNetConnectionInfo_t +{ + + /// Who is on the other end? Depending on the connection type and phase of the connection, we might not know + SteamNetworkingIdentity m_identityRemote; + + /// Arbitrary user data set by the local application code + int64 m_nUserData; + + /// Handle to listen socket this was connected on, or k_HSteamListenSocket_Invalid if we initiated the connection + HSteamListenSocket m_hListenSocket; + + /// Remote address. Might be all 0's if we don't know it, or if this is N/A. + /// (E.g. Basically everything except direct UDP connection.) + SteamNetworkingIPAddr m_addrRemote; + uint16 m__pad1; + + /// What data center is the remote host in? (0 if we don't know.) + SteamNetworkingPOPID m_idPOPRemote; + + /// What relay are we using to communicate with the remote host? + /// (0 if not applicable.) + SteamNetworkingPOPID m_idPOPRelay; + + /// High level state of the connection + ESteamNetworkingConnectionState m_eState; + + /// Basic cause of the connection termination or problem. + /// See ESteamNetConnectionEnd for the values used + int m_eEndReason; + + /// Human-readable, but non-localized explanation for connection + /// termination or problem. This is intended for debugging / + /// diagnostic purposes only, not to display to users. It might + /// have some details specific to the issue. + char m_szEndDebug[ k_cchSteamNetworkingMaxConnectionCloseReason ]; + + /// Debug description. This includes the internal connection ID, + /// connection type (and peer information), and any name + /// given to the connection by the app. This string is used in various + /// internal logging messages. + /// + /// Note that the connection ID *usually* matches the HSteamNetConnection + /// handle, but in certain cases with symmetric connections it might not. + char m_szConnectionDescription[ k_cchSteamNetworkingMaxConnectionDescription ]; + + /// Misc flags. Bitmask of k_nSteamNetworkConnectionInfoFlags_Xxxx + int m_nFlags; + + /// Internal stuff, room to change API easily + uint32 reserved[63]; +}; + +/// Quick connection state, pared down to something you could call +/// more frequently without it being too big of a perf hit. +struct SteamNetConnectionRealTimeStatus_t +{ + + /// High level state of the connection + ESteamNetworkingConnectionState m_eState; + + /// Current ping (ms) + int m_nPing; + + /// Connection quality measured locally, 0...1. (Percentage of packets delivered + /// end-to-end in order). + float m_flConnectionQualityLocal; + + /// Packet delivery success rate as observed from remote host + float m_flConnectionQualityRemote; + + /// Current data rates from recent history. + float m_flOutPacketsPerSec; + float m_flOutBytesPerSec; + float m_flInPacketsPerSec; + float m_flInBytesPerSec; + + /// Estimate rate that we believe that we can send data to our peer. + /// Note that this could be significantly higher than m_flOutBytesPerSec, + /// meaning the capacity of the channel is higher than you are sending data. + /// (That's OK!) + int m_nSendRateBytesPerSecond; + + /// Number of bytes pending to be sent. This is data that you have recently + /// requested to be sent but has not yet actually been put on the wire. The + /// reliable number ALSO includes data that was previously placed on the wire, + /// but has now been scheduled for re-transmission. Thus, it's possible to + /// observe m_cbPendingReliable increasing between two checks, even if no + /// calls were made to send reliable data between the checks. Data that is + /// awaiting the Nagle delay will appear in these numbers. + int m_cbPendingUnreliable; + int m_cbPendingReliable; + + /// Number of bytes of reliable data that has been placed the wire, but + /// for which we have not yet received an acknowledgment, and thus we may + /// have to re-transmit. + int m_cbSentUnackedReliable; + + /// If you queued a message right now, approximately how long would that message + /// wait in the queue before we actually started putting its data on the wire in + /// a packet? + /// + /// In general, data that is sent by the application is limited by the bandwidth + /// of the channel. If you send data faster than this, it must be queued and + /// put on the wire at a metered rate. Even sending a small amount of data (e.g. + /// a few MTU, say ~3k) will require some of the data to be delayed a bit. + /// + /// Ignoring multiple lanes, the estimated delay will be approximately equal to + /// + /// ( m_cbPendingUnreliable+m_cbPendingReliable ) / m_nSendRateBytesPerSecond + /// + /// plus or minus one MTU. It depends on how much time has elapsed since the last + /// packet was put on the wire. For example, the queue might have *just* been emptied, + /// and the last packet placed on the wire, and we are exactly up against the send + /// rate limit. In that case we might need to wait for one packet's worth of time to + /// elapse before we can send again. On the other extreme, the queue might have data + /// in it waiting for Nagle. (This will always be less than one packet, because as + /// soon as we have a complete packet we would send it.) In that case, we might be + /// ready to send data now, and this value will be 0. + /// + /// This value is only valid if multiple lanes are not used. If multiple lanes are + /// in use, then the queue time will be different for each lane, and you must use + /// the value in SteamNetConnectionRealTimeLaneStatus_t. + /// + /// Nagle delay is ignored for the purposes of this calculation. + SteamNetworkingMicroseconds m_usecQueueTime; + + // Internal stuff, room to change API easily + uint32 reserved[16]; +}; + +/// Quick status of a particular lane +struct SteamNetConnectionRealTimeLaneStatus_t +{ + // Counters for this particular lane. See the corresponding variables + // in SteamNetConnectionRealTimeStatus_t + int m_cbPendingUnreliable; + int m_cbPendingReliable; + int m_cbSentUnackedReliable; + int _reservePad1; // Reserved for future use + + /// Lane-specific queue time. This value takes into consideration lane priorities + /// and weights, and how much data is queued in each lane, and attempts to predict + /// how any data currently queued will be sent out. + SteamNetworkingMicroseconds m_usecQueueTime; + + // Internal stuff, room to change API easily + uint32 reserved[10]; +}; + +#pragma pack( pop ) + +// +// Network messages +// + +/// Max size of a single message that we can SEND. +/// Note: We might be wiling to receive larger messages, +/// and our peer might, too. +const int k_cbMaxSteamNetworkingSocketsMessageSizeSend = 512 * 1024; + +/// A message that has been received. +struct SteamNetworkingMessage_t +{ + + /// Message payload + void *m_pData; + + /// Size of the payload. + int m_cbSize; + + /// For messages received on connections: what connection did this come from? + /// For outgoing messages: what connection to send it to? + /// Not used when using the ISteamNetworkingMessages interface + HSteamNetConnection m_conn; + + /// For inbound messages: Who sent this to us? + /// For outbound messages on connections: not used. + /// For outbound messages on the ad-hoc ISteamNetworkingMessages interface: who should we send this to? + SteamNetworkingIdentity m_identityPeer; + + /// For messages received on connections, this is the user data + /// associated with the connection. + /// + /// This is *usually* the same as calling GetConnection() and then + /// fetching the user data associated with that connection, but for + /// the following subtle differences: + /// + /// - This user data will match the connection's user data at the time + /// is captured at the time the message is returned by the API. + /// If you subsequently change the userdata on the connection, + /// this won't be updated. + /// - This is an inline call, so it's *much* faster. + /// - You might have closed the connection, so fetching the user data + /// would not be possible. + /// + /// Not used when sending messages. + int64 m_nConnUserData; + + /// Local timestamp when the message was received + /// Not used for outbound messages. + SteamNetworkingMicroseconds m_usecTimeReceived; + + /// Message number assigned by the sender. This is not used for outbound + /// messages. Note that if multiple lanes are used, each lane has its own + /// message numbers, which are assigned sequentially, so messages from + /// different lanes will share the same numbers. + int64 m_nMessageNumber; + + /// Function used to free up m_pData. This mechanism exists so that + /// apps can create messages with buffers allocated from their own + /// heap, and pass them into the library. This function will + /// usually be something like: + /// + /// free( pMsg->m_pData ); + void (*m_pfnFreeData)( SteamNetworkingMessage_t *pMsg ); + + /// Function to used to decrement the internal reference count and, if + /// it's zero, release the message. You should not set this function pointer, + /// or need to access this directly! Use the Release() function instead! + void (*m_pfnRelease)( SteamNetworkingMessage_t *pMsg ); + + /// When using ISteamNetworkingMessages, the channel number the message was received on + /// (Not used for messages sent or received on "connections") + int m_nChannel; + + /// Bitmask of k_nSteamNetworkingSend_xxx flags. + /// For received messages, only the k_nSteamNetworkingSend_Reliable bit is valid. + /// For outbound messages, all bits are relevant + int m_nFlags; + + /// Arbitrary user data that you can use when sending messages using + /// ISteamNetworkingUtils::AllocateMessage and ISteamNetworkingSockets::SendMessage. + /// (The callback you set in m_pfnFreeData might use this field.) + /// + /// Not used for received messages. + int64 m_nUserData; + + /// For outbound messages, which lane to use? See ISteamNetworkingSockets::ConfigureConnectionLanes. + /// For inbound messages, what lane was the message received on? + uint16 m_idxLane; + uint16 _pad1__; + + /// You MUST call this when you're done with the object, + /// to free up memory, etc. + inline void Release(); + + // For code compatibility, some accessors +#ifndef API_GEN + inline uint32 GetSize() const { return m_cbSize; } + inline const void *GetData() const { return m_pData; } + inline int GetChannel() const { return m_nChannel; } + inline HSteamNetConnection GetConnection() const { return m_conn; } + inline int64 GetConnectionUserData() const { return m_nConnUserData; } + inline SteamNetworkingMicroseconds GetTimeReceived() const { return m_usecTimeReceived; } + inline int64 GetMessageNumber() const { return m_nMessageNumber; } +#endif +protected: + // Declare destructor protected. You should never need to declare a message + // object on the stack or create one yourself. + // - You will receive a pointer to a message object when you receive messages (e.g. ISteamNetworkingSockets::ReceiveMessagesOnConnection) + // - You can allocate a message object for efficient sending using ISteamNetworkingUtils::AllocateMessage + // - Call Release() to free the object + inline ~SteamNetworkingMessage_t() {} +}; + +// +// Flags used to set options for message sending +// + +// Send the message unreliably. Can be lost. Messages *can* be larger than a +// single MTU (UDP packet), but there is no retransmission, so if any piece +// of the message is lost, the entire message will be dropped. +// +// The sending API does have some knowledge of the underlying connection, so +// if there is no NAT-traversal accomplished or there is a recognized adjustment +// happening on the connection, the packet will be batched until the connection +// is open again. +// +// Migration note: This is not exactly the same as k_EP2PSendUnreliable! You +// probably want k_ESteamNetworkingSendType_UnreliableNoNagle +const int k_nSteamNetworkingSend_Unreliable = 0; + +// Disable Nagle's algorithm. +// By default, Nagle's algorithm is applied to all outbound messages. This means +// that the message will NOT be sent immediately, in case further messages are +// sent soon after you send this, which can be grouped together. Any time there +// is enough buffered data to fill a packet, the packets will be pushed out immediately, +// but partially-full packets not be sent until the Nagle timer expires. See +// ISteamNetworkingSockets::FlushMessagesOnConnection, ISteamNetworkingMessages::FlushMessagesToUser +// +// NOTE: Don't just send every message without Nagle because you want packets to get there +// quicker. Make sure you understand the problem that Nagle is solving before disabling it. +// If you are sending small messages, often many at the same time, then it is very likely that +// it will be more efficient to leave Nagle enabled. A typical proper use of this flag is +// when you are sending what you know will be the last message sent for a while (e.g. the last +// in the server simulation tick to a particular client), and you use this flag to flush all +// messages. +const int k_nSteamNetworkingSend_NoNagle = 1; + +// Send a message unreliably, bypassing Nagle's algorithm for this message and any messages +// currently pending on the Nagle timer. This is equivalent to using k_ESteamNetworkingSend_Unreliable +// and then immediately flushing the messages using ISteamNetworkingSockets::FlushMessagesOnConnection +// or ISteamNetworkingMessages::FlushMessagesToUser. (But using this flag is more efficient since you +// only make one API call.) +const int k_nSteamNetworkingSend_UnreliableNoNagle = k_nSteamNetworkingSend_Unreliable|k_nSteamNetworkingSend_NoNagle; + +// If the message cannot be sent very soon (because the connection is still doing some initial +// handshaking, route negotiations, etc), then just drop it. This is only applicable for unreliable +// messages. Using this flag on reliable messages is invalid. +const int k_nSteamNetworkingSend_NoDelay = 4; + +// Send an unreliable message, but if it cannot be sent relatively quickly, just drop it instead of queuing it. +// This is useful for messages that are not useful if they are excessively delayed, such as voice data. +// NOTE: The Nagle algorithm is not used, and if the message is not dropped, any messages waiting on the +// Nagle timer are immediately flushed. +// +// A message will be dropped under the following circumstances: +// - the connection is not fully connected. (E.g. the "Connecting" or "FindingRoute" states) +// - there is a sufficiently large number of messages queued up already such that the current message +// will not be placed on the wire in the next ~200ms or so. +// +// If a message is dropped for these reasons, k_EResultIgnored will be returned. +const int k_nSteamNetworkingSend_UnreliableNoDelay = k_nSteamNetworkingSend_Unreliable|k_nSteamNetworkingSend_NoDelay|k_nSteamNetworkingSend_NoNagle; + +// Reliable message send. Can send up to k_cbMaxSteamNetworkingSocketsMessageSizeSend bytes in a single message. +// Does fragmentation/re-assembly of messages under the hood, as well as a sliding window for +// efficient sends of large chunks of data. +// +// The Nagle algorithm is used. See notes on k_ESteamNetworkingSendType_Unreliable for more details. +// See k_ESteamNetworkingSendType_ReliableNoNagle, ISteamNetworkingSockets::FlushMessagesOnConnection, +// ISteamNetworkingMessages::FlushMessagesToUser +// +// Migration note: This is NOT the same as k_EP2PSendReliable, it's more like k_EP2PSendReliableWithBuffering +const int k_nSteamNetworkingSend_Reliable = 8; + +// Send a message reliably, but bypass Nagle's algorithm. +// +// Migration note: This is equivalent to k_EP2PSendReliable +const int k_nSteamNetworkingSend_ReliableNoNagle = k_nSteamNetworkingSend_Reliable|k_nSteamNetworkingSend_NoNagle; + +// By default, message sending is queued, and the work of encryption and talking to +// the operating system sockets, etc is done on a service thread. This is usually a +// a performance win when messages are sent from the "main thread". However, if this +// flag is set, and data is ready to be sent immediately (either from this message +// or earlier queued data), then that work will be done in the current thread, before +// the current call returns. If data is not ready to be sent (due to rate limiting +// or Nagle), then this flag has no effect. +// +// This is an advanced flag used to control performance at a very low level. For +// most applications running on modern hardware with more than one CPU core, doing +// the work of sending on a service thread will yield the best performance. Only +// use this flag if you have a really good reason and understand what you are doing. +// Otherwise you will probably just make performance worse. +const int k_nSteamNetworkingSend_UseCurrentThread = 16; + +// When sending a message using ISteamNetworkingMessages, automatically re-establish +// a broken session, without returning k_EResultNoConnection. Without this flag, +// if you attempt to send a message, and the session was proactively closed by the +// peer, or an error occurred that disrupted communications, then you must close the +// session using ISteamNetworkingMessages::CloseSessionWithUser before attempting to +// send another message. (Or you can simply add this flag and retry.) In this way, +// the disruption cannot go unnoticed, and a more clear order of events can be +// ascertained. This is especially important when reliable messages are used, since +// if the connection is disrupted, some of those messages will not have been delivered, +// and it is in general not possible to know which. Although a +// SteamNetworkingMessagesSessionFailed_t callback will be posted when an error occurs +// to notify you that a failure has happened, callbacks are asynchronous, so it is not +// possible to tell exactly when it happened. And because the primary purpose of +// ISteamNetworkingMessages is to be like UDP, there is no notification when a peer closes +// the session. +// +// If you are not using any reliable messages (e.g. you are using ISteamNetworkingMessages +// exactly as a transport replacement for UDP-style datagrams only), you may not need to +// know when an underlying connection fails, and so you may not need this notification. +const int k_nSteamNetworkingSend_AutoRestartBrokenSession = 32; + +// +// Ping location / measurement +// + +/// Object that describes a "location" on the Internet with sufficient +/// detail that we can reasonably estimate an upper bound on the ping between +/// the two hosts, even if a direct route between the hosts is not possible, +/// and the connection must be routed through the Steam Datagram Relay network. +/// This does not contain any information that identifies the host. Indeed, +/// if two hosts are in the same building or otherwise have nearly identical +/// networking characteristics, then it's valid to use the same location +/// object for both of them. +/// +/// NOTE: This object should only be used in the same process! Do not serialize it, +/// send it over the wire, or persist it in a file or database! If you need +/// to do that, convert it to a string representation using the methods in +/// ISteamNetworkingUtils(). +struct SteamNetworkPingLocation_t +{ + uint8 m_data[ 512 ]; +}; + +/// Max possible length of a ping location, in string format. This is +/// an extremely conservative worst case value which leaves room for future +/// syntax enhancements. Most strings in practice are a lot shorter. +/// If you are storing many of these, you will very likely benefit from +/// using dynamic memory. +const int k_cchMaxSteamNetworkingPingLocationString = 1024; + +/// Special values that are returned by some functions that return a ping. +const int k_nSteamNetworkingPing_Failed = -1; +const int k_nSteamNetworkingPing_Unknown = -2; + +// +// Configuration values +// + +/// Configuration values can be applied to different types of objects. +enum ESteamNetworkingConfigScope +{ + + /// Get/set global option, or defaults. Even options that apply to more specific scopes + /// have global scope, and you may be able to just change the global defaults. If you + /// need different settings per connection (for example), then you will need to set those + /// options at the more specific scope. + k_ESteamNetworkingConfig_Global = 1, + + /// Some options are specific to a particular interface. Note that all connection + /// and listen socket settings can also be set at the interface level, and they will + /// apply to objects created through those interfaces. + k_ESteamNetworkingConfig_SocketsInterface = 2, + + /// Options for a listen socket. Listen socket options can be set at the interface layer, + /// if you have multiple listen sockets and they all use the same options. + /// You can also set connection options on a listen socket, and they set the defaults + /// for all connections accepted through this listen socket. (They will be used if you don't + /// set a connection option.) + k_ESteamNetworkingConfig_ListenSocket = 3, + + /// Options for a specific connection. + k_ESteamNetworkingConfig_Connection = 4, + + k_ESteamNetworkingConfigScope__Force32Bit = 0x7fffffff +}; + +// Different configuration values have different data types +enum ESteamNetworkingConfigDataType +{ + k_ESteamNetworkingConfig_Int32 = 1, + k_ESteamNetworkingConfig_Int64 = 2, + k_ESteamNetworkingConfig_Float = 3, + k_ESteamNetworkingConfig_String = 4, + k_ESteamNetworkingConfig_Ptr = 5, + + k_ESteamNetworkingConfigDataType__Force32Bit = 0x7fffffff +}; + +/// Configuration options +enum ESteamNetworkingConfigValue +{ + k_ESteamNetworkingConfig_Invalid = 0, + +// +// Connection options +// + + /// [connection int32] Timeout value (in ms) to use when first connecting + k_ESteamNetworkingConfig_TimeoutInitial = 24, + + /// [connection int32] Timeout value (in ms) to use after connection is established + k_ESteamNetworkingConfig_TimeoutConnected = 25, + + /// [connection int32] Upper limit of buffered pending bytes to be sent, + /// if this is reached SendMessage will return k_EResultLimitExceeded + /// Default is 512k (524288 bytes) + k_ESteamNetworkingConfig_SendBufferSize = 9, + + /// [connection int32] Upper limit on total size (in bytes) of received messages + /// that will be buffered waiting to be processed by the application. If this limit + /// is exceeded, packets will be dropped. This is to protect us from a malicious + /// peer flooding us with messages faster than we can process them. + /// + /// This must be bigger than k_ESteamNetworkingConfig_RecvMaxMessageSize + k_ESteamNetworkingConfig_RecvBufferSize = 47, + + /// [connection int32] Upper limit on the number of received messages that will + /// that will be buffered waiting to be processed by the application. If this limit + /// is exceeded, packets will be dropped. This is to protect us from a malicious + /// peer flooding us with messages faster than we can pull them off the wire. + k_ESteamNetworkingConfig_RecvBufferMessages = 48, + + /// [connection int32] Maximum message size that we are willing to receive. + /// if a client attempts to send us a message larger than this, the connection + /// will be immediately closed. + /// + /// Default is 512k (524288 bytes). Note that the peer needs to be able to + /// send a message this big. (See k_cbMaxSteamNetworkingSocketsMessageSizeSend.) + k_ESteamNetworkingConfig_RecvMaxMessageSize = 49, + + /// [connection int32] Max number of message segments that can be received + /// in a single UDP packet. While decoding a packet, if the number of segments + /// exceeds this, we will abort further packet processing. + /// + /// The default is effectively unlimited. If you know that you very rarely + /// send small packets, you can protect yourself from malicious senders by + /// lowering this number. + /// + /// In particular, if you are NOT using the reliability layer and are only using + /// SteamNetworkingSockets for datagram transport, setting this to a very low + /// number may be beneficial. (We recommend a value of 2.) Make sure your sender + /// disables Nagle! + k_ESteamNetworkingConfig_RecvMaxSegmentsPerPacket = 50, + + /// [connection int64] Get/set userdata as a configuration option. + /// The default value is -1. You may want to set the user data as + /// a config value, instead of using ISteamNetworkingSockets::SetConnectionUserData + /// in two specific instances: + /// + /// - You wish to set the userdata atomically when creating + /// an outbound connection, so that the userdata is filled in properly + /// for any callbacks that happen. However, note that this trick + /// only works for connections initiated locally! For incoming + /// connections, multiple state transitions may happen and + /// callbacks be queued, before you are able to service the first + /// callback! Be careful! + /// + /// - You can set the default userdata for all newly created connections + /// by setting this value at a higher level (e.g. on the listen + /// socket or at the global level.) Then this default + /// value will be inherited when the connection is created. + /// This is useful in case -1 is a valid userdata value, and you + /// wish to use something else as the default value so you can + /// tell if it has been set or not. + /// + /// HOWEVER: once a connection is created, the effective value is + /// then bound to the connection. Unlike other connection options, + /// if you change it again at a higher level, the new value will not + /// be inherited by connections. + /// + /// Using the userdata field in callback structs is not advised because + /// of tricky race conditions. Instead, you might try one of these methods: + /// + /// - Use a separate map with the HSteamNetConnection as the key. + /// - Fetch the userdata from the connection in your callback + /// using ISteamNetworkingSockets::GetConnectionUserData, to + // ensure you have the current value. + k_ESteamNetworkingConfig_ConnectionUserData = 40, + + /// [connection int32] Minimum/maximum send rate clamp, in bytes/sec. + /// At the time of this writing these two options should always be set to + /// the same value, to manually configure a specific send rate. The default + /// value is 256K. Eventually we hope to have the library estimate the bandwidth + /// of the channel and set the send rate to that estimated bandwidth, and these + /// values will only set limits on that send rate. + k_ESteamNetworkingConfig_SendRateMin = 10, + k_ESteamNetworkingConfig_SendRateMax = 11, + + /// [connection int32] Nagle time, in microseconds. When SendMessage is called, if + /// the outgoing message is less than the size of the MTU, it will be + /// queued for a delay equal to the Nagle timer value. This is to ensure + /// that if the application sends several small messages rapidly, they are + /// coalesced into a single packet. + /// See historical RFC 896. Value is in microseconds. + /// Default is 5000us (5ms). + k_ESteamNetworkingConfig_NagleTime = 12, + + /// [connection int32] Don't automatically fail IP connections that don't have + /// strong auth. On clients, this means we will attempt the connection even if + /// we don't know our identity or can't get a cert. On the server, it means that + /// we won't automatically reject a connection due to a failure to authenticate. + /// (You can examine the incoming connection and decide whether to accept it.) + /// + /// This is a dev configuration value, and you should not let users modify it in + /// production. + k_ESteamNetworkingConfig_IP_AllowWithoutAuth = 23, + + /// [connection int32] Do not send UDP packets with a payload of + /// larger than N bytes. If you set this, k_ESteamNetworkingConfig_MTU_DataSize + /// is automatically adjusted + k_ESteamNetworkingConfig_MTU_PacketSize = 32, + + /// [connection int32] (read only) Maximum message size you can send that + /// will not fragment, based on k_ESteamNetworkingConfig_MTU_PacketSize + k_ESteamNetworkingConfig_MTU_DataSize = 33, + + /// [connection int32] Allow unencrypted (and unauthenticated) communication. + /// 0: Not allowed (the default) + /// 1: Allowed, but prefer encrypted + /// 2: Allowed, and preferred + /// 3: Required. (Fail the connection if the peer requires encryption.) + /// + /// This is a dev configuration value, since its purpose is to disable encryption. + /// You should not let users modify it in production. (But note that it requires + /// the peer to also modify their value in order for encryption to be disabled.) + k_ESteamNetworkingConfig_Unencrypted = 34, + + /// [connection int32] Set this to 1 on outbound connections and listen sockets, + /// to enable "symmetric connect mode", which is useful in the following + /// common peer-to-peer use case: + /// + /// - The two peers are "equal" to each other. (Neither is clearly the "client" + /// or "server".) + /// - Either peer may initiate the connection, and indeed they may do this + /// at the same time + /// - The peers only desire a single connection to each other, and if both + /// peers initiate connections simultaneously, a protocol is needed for them + /// to resolve the conflict, so that we end up with a single connection. + /// + /// This use case is both common, and involves subtle race conditions and tricky + /// pitfalls, which is why the API has support for dealing with it. + /// + /// If an incoming connection arrives on a listen socket or via custom signaling, + /// and the application has not attempted to make a matching outbound connection + /// in symmetric mode, then the incoming connection can be accepted as usual. + /// A "matching" connection means that the relevant endpoint information matches. + /// (At the time this comment is being written, this is only supported for P2P + /// connections, which means that the peer identities must match, and the virtual + /// port must match. At a later time, symmetric mode may be supported for other + /// connection types.) + /// + /// If connections are initiated by both peers simultaneously, race conditions + /// can arise, but fortunately, most of them are handled internally and do not + /// require any special awareness from the application. However, there + /// is one important case that application code must be aware of: + /// If application code attempts an outbound connection using a ConnectXxx + /// function in symmetric mode, and a matching incoming connection is already + /// waiting on a listen socket, then instead of forming a new connection, + /// the ConnectXxx call will accept the existing incoming connection, and return + /// a connection handle to this accepted connection. + /// IMPORTANT: in this case, a SteamNetConnectionStatusChangedCallback_t + /// has probably *already* been posted to the queue for the incoming connection! + /// (Once callbacks are posted to the queue, they are not modified.) It doesn't + /// matter if the callback has not been consumed by the app. Thus, application + /// code that makes use of symmetric connections must be aware that, when processing a + /// SteamNetConnectionStatusChangedCallback_t for an incoming connection, the + /// m_hConn may refer to a new connection that the app has has not + /// seen before (the usual case), but it may also refer to a connection that + /// has already been accepted implicitly through a call to Connect()! In this + /// case, AcceptConnection() will return k_EResultDuplicateRequest. + /// + /// Only one symmetric connection to a given peer (on a given virtual port) + /// may exist at any given time. If client code attempts to create a connection, + /// and a (live) connection already exists on the local host, then either the + /// existing connection will be accepted as described above, or the attempt + /// to create a new connection will fail. Furthermore, linger mode functionality + /// is not supported on symmetric connections. + /// + /// A more complicated race condition can arise if both peers initiate a connection + /// at roughly the same time. In this situation, each peer will receive an incoming + /// connection from the other peer, when the application code has already initiated + /// an outgoing connection to that peer. The peers must resolve this conflict and + /// decide who is going to act as the "server" and who will act as the "client". + /// Typically the application does not need to be aware of this case as it is handled + /// internally. On both sides, the will observe their outbound connection being + /// "accepted", although one of them one have been converted internally to act + /// as the "server". + /// + /// In general, symmetric mode should be all-or-nothing: do not mix symmetric + /// connections with a non-symmetric connection that it might possible "match" + /// with. If you use symmetric mode on any connections, then both peers should + /// use it on all connections, and the corresponding listen socket, if any. The + /// behaviour when symmetric and ordinary connections are mixed is not defined by + /// this API, and you should not rely on it. (This advice only applies when connections + /// might possibly "match". For example, it's OK to use all symmetric mode + /// connections on one virtual port, and all ordinary, non-symmetric connections + /// on a different virtual port, as there is no potential for ambiguity.) + /// + /// When using the feature, you should set it in the following situations on + /// applicable objects: + /// + /// - When creating an outbound connection using ConnectXxx function + /// - When creating a listen socket. (Note that this will automatically cause + /// any accepted connections to inherit the flag.) + /// - When using custom signaling, before accepting an incoming connection. + /// + /// Setting the flag on listen socket and accepted connections will enable the + /// API to automatically deal with duplicate incoming connections, even if the + /// local host has not made any outbound requests. (In general, such duplicate + /// requests from a peer are ignored internally and will not be visible to the + /// application code. The previous connection must be closed or resolved first.) + k_ESteamNetworkingConfig_SymmetricConnect = 37, + + /// [connection int32] For connection types that use "virtual ports", this can be used + /// to assign a local virtual port. For incoming connections, this will always be the + /// virtual port of the listen socket (or the port requested by the remote host if custom + /// signaling is used and the connection is accepted), and cannot be changed. For + /// connections initiated locally, the local virtual port will default to the same as the + /// requested remote virtual port, if you do not specify a different option when creating + /// the connection. The local port is only relevant for symmetric connections, when + /// determining if two connections "match." In this case, if you need the local and remote + /// port to differ, you can set this value. + /// + /// You can also read back this value on listen sockets. + /// + /// This value should not be read or written in any other context. + k_ESteamNetworkingConfig_LocalVirtualPort = 38, + + /// [connection int32] Enable Dual wifi band support for this connection + /// 0 = no, 1 = yes, 2 = simulate it for debugging, even if dual wifi not available + k_ESteamNetworkingConfig_DualWifi_Enable = 39, + + /// [connection int32] True to enable diagnostics reporting through + /// generic platform UI. (Only available on Steam.) + k_ESteamNetworkingConfig_EnableDiagnosticsUI = 46, + +// +// Simulating network conditions +// +// These are global (not per-connection) because they apply at +// a relatively low UDP layer. +// + + /// [global float, 0--100] Randomly discard N pct of packets instead of sending/recv + /// This is a global option only, since it is applied at a low level + /// where we don't have much context + k_ESteamNetworkingConfig_FakePacketLoss_Send = 2, + k_ESteamNetworkingConfig_FakePacketLoss_Recv = 3, + + /// [global int32]. Delay all outbound/inbound packets by N ms + k_ESteamNetworkingConfig_FakePacketLag_Send = 4, + k_ESteamNetworkingConfig_FakePacketLag_Recv = 5, + + /// [global float] 0-100 Percentage of packets we will add additional delay + /// to (causing them to be reordered) + k_ESteamNetworkingConfig_FakePacketReorder_Send = 6, + k_ESteamNetworkingConfig_FakePacketReorder_Recv = 7, + + /// [global int32] Extra delay, in ms, to apply to reordered packets. + k_ESteamNetworkingConfig_FakePacketReorder_Time = 8, + + /// [global float 0--100] Globally duplicate some percentage of packets we send + k_ESteamNetworkingConfig_FakePacketDup_Send = 26, + k_ESteamNetworkingConfig_FakePacketDup_Recv = 27, + + /// [global int32] Amount of delay, in ms, to delay duplicated packets. + /// (We chose a random delay between 0 and this value) + k_ESteamNetworkingConfig_FakePacketDup_TimeMax = 28, + + /// [global int32] Trace every UDP packet, similar to Wireshark or tcpdump. + /// Value is max number of bytes to dump. -1 disables tracing. + // 0 only traces the info but no actual data bytes + k_ESteamNetworkingConfig_PacketTraceMaxBytes = 41, + + + // [global int32] Global UDP token bucket rate limits. + // "Rate" refers to the steady state rate. (Bytes/sec, the + // rate that tokens are put into the bucket.) "Burst" + // refers to the max amount that could be sent in a single + // burst. (In bytes, the max capacity of the bucket.) + // Rate=0 disables the limiter entirely, which is the default. + // Burst=0 disables burst. (This is not realistic. A + // burst of at least 4K is recommended; the default is higher.) + k_ESteamNetworkingConfig_FakeRateLimit_Send_Rate = 42, + k_ESteamNetworkingConfig_FakeRateLimit_Send_Burst = 43, + k_ESteamNetworkingConfig_FakeRateLimit_Recv_Rate = 44, + k_ESteamNetworkingConfig_FakeRateLimit_Recv_Burst = 45, + + // Timeout used for out-of-order correction. This is used when we see a small + // gap in the sequence number on a packet flow. For example let's say we are + // processing packet 105 when the most recent one was 103. 104 might have dropped, + // but there is also a chance that packets are simply being reordered. It is very + // common on certain types of connections for packet 104 to arrive very soon after 105, + // especially if 104 was large and 104 was small. In this case, when we see packet 105 + // we will shunt it aside and pend it, in the hopes of seeing 104 soon after. If 104 + // arrives before the a timeout occurs, then we can deliver the packets in order to the + // remainder of packet processing, and we will record this as a "correctable" out-of-order + // situation. If the timer expires, then we will process packet 105, and assume for now + // that 104 has dropped. (If 104 later arrives, we will process it, but that will be + // accounted for as uncorrected.) + // + // The default value is 1000 microseconds. Note that the Windows scheduler does not + // have microsecond precision. + // + // Set the value to 0 to disable out of order correction at the packet layer. + // In many cases we are still effectively able to correct the situation because + // reassembly of message fragments is tolerant of fragments packets arriving out of + // order. Also, when messages are decoded and inserted into the queue for the app + // to receive them, we will correct out of order messages that have not been + // dequeued by the app yet. However, when out-of-order packets are corrected + // at the packet layer, they will not reduce the connection quality measure. + // (E.g. SteamNetConnectionRealTimeStatus_t::m_flConnectionQualityLocal) + k_ESteamNetworkingConfig_OutOfOrderCorrectionWindowMicroseconds = 51, + +// +// Callbacks +// + + // On Steam, you may use the default Steam callback dispatch mechanism. If you prefer + // to not use this dispatch mechanism (or you are not running with Steam), or you want + // to associate specific functions with specific listen sockets or connections, you can + // register them as configuration values. + // + // Note also that ISteamNetworkingUtils has some helpers to set these globally. + + /// [connection FnSteamNetConnectionStatusChanged] Callback that will be invoked + /// when the state of a connection changes. + /// + /// IMPORTANT: callbacks are dispatched to the handler that is in effect at the time + /// the event occurs, which might be in another thread. For example, immediately after + /// creating a listen socket, you may receive an incoming connection. And then immediately + /// after this, the remote host may close the connection. All of this could happen + /// before the function to create the listen socket has returned. For this reason, + /// callbacks usually must be in effect at the time of object creation. This means + /// you should set them when you are creating the listen socket or connection, or have + /// them in effect so they will be inherited at the time of object creation. + /// + /// For example: + /// + /// exterm void MyStatusChangedFunc( SteamNetConnectionStatusChangedCallback_t *info ); + /// SteamNetworkingConfigValue_t opt; opt.SetPtr( k_ESteamNetworkingConfig_Callback_ConnectionStatusChanged, MyStatusChangedFunc ); + /// SteamNetworkingIPAddr localAddress; localAddress.Clear(); + /// HSteamListenSocket hListenSock = SteamNetworkingSockets()->CreateListenSocketIP( localAddress, 1, &opt ); + /// + /// When accepting an incoming connection, there is no atomic way to switch the + /// callback. However, if the connection is DOA, AcceptConnection() will fail, and + /// you can fetch the state of the connection at that time. + /// + /// If all connections and listen sockets can use the same callback, the simplest + /// method is to set it globally before you create any listen sockets or connections. + k_ESteamNetworkingConfig_Callback_ConnectionStatusChanged = 201, + + /// [global FnSteamNetAuthenticationStatusChanged] Callback that will be invoked + /// when our auth state changes. If you use this, install the callback before creating + /// any connections or listen sockets, and don't change it. + /// See: ISteamNetworkingUtils::SetGlobalCallback_SteamNetAuthenticationStatusChanged + k_ESteamNetworkingConfig_Callback_AuthStatusChanged = 202, + + /// [global FnSteamRelayNetworkStatusChanged] Callback that will be invoked + /// when our auth state changes. If you use this, install the callback before creating + /// any connections or listen sockets, and don't change it. + /// See: ISteamNetworkingUtils::SetGlobalCallback_SteamRelayNetworkStatusChanged + k_ESteamNetworkingConfig_Callback_RelayNetworkStatusChanged = 203, + + /// [global FnSteamNetworkingMessagesSessionRequest] Callback that will be invoked + /// when a peer wants to initiate a SteamNetworkingMessagesSessionRequest. + /// See: ISteamNetworkingUtils::SetGlobalCallback_MessagesSessionRequest + k_ESteamNetworkingConfig_Callback_MessagesSessionRequest = 204, + + /// [global FnSteamNetworkingMessagesSessionFailed] Callback that will be invoked + /// when a session you have initiated, or accepted either fails to connect, or loses + /// connection in some unexpected way. + /// See: ISteamNetworkingUtils::SetGlobalCallback_MessagesSessionFailed + k_ESteamNetworkingConfig_Callback_MessagesSessionFailed = 205, + + /// [global FnSteamNetworkingSocketsCreateConnectionSignaling] Callback that will + /// be invoked when we need to create a signaling object for a connection + /// initiated locally. See: ISteamNetworkingSockets::ConnectP2P, + /// ISteamNetworkingMessages. + k_ESteamNetworkingConfig_Callback_CreateConnectionSignaling = 206, + + /// [global FnSteamNetworkingFakeIPResult] Callback that's invoked when + /// a FakeIP allocation finishes. See: ISteamNetworkingSockets::BeginAsyncRequestFakeIP, + /// ISteamNetworkingUtils::SetGlobalCallback_FakeIPResult + k_ESteamNetworkingConfig_Callback_FakeIPResult = 207, + +// +// P2P connection settings +// + +// /// [listen socket int32] When you create a P2P listen socket, we will automatically +// /// open up a UDP port to listen for LAN connections. LAN connections can be made +// /// without any signaling: both sides can be disconnected from the Internet. +// /// +// /// This value can be set to zero to disable the feature. +// k_ESteamNetworkingConfig_P2P_Discovery_Server_LocalPort = 101, +// +// /// [connection int32] P2P connections can perform broadcasts looking for the peer +// /// on the LAN. +// k_ESteamNetworkingConfig_P2P_Discovery_Client_RemotePort = 102, + + /// [connection string] Comma-separated list of STUN servers that can be used + /// for NAT piercing. If you set this to an empty string, NAT piercing will + /// not be attempted. Also if "public" candidates are not allowed for + /// P2P_Transport_ICE_Enable, then this is ignored. + k_ESteamNetworkingConfig_P2P_STUN_ServerList = 103, + + /// [connection int32] What types of ICE candidates to share with the peer. + /// See k_nSteamNetworkingConfig_P2P_Transport_ICE_Enable_xxx values + k_ESteamNetworkingConfig_P2P_Transport_ICE_Enable = 104, + + /// [connection int32] When selecting P2P transport, add various + /// penalties to the scores for selected transports. (Route selection + /// scores are on a scale of milliseconds. The score begins with the + /// route ping time and is then adjusted.) + k_ESteamNetworkingConfig_P2P_Transport_ICE_Penalty = 105, + k_ESteamNetworkingConfig_P2P_Transport_SDR_Penalty = 106, + k_ESteamNetworkingConfig_P2P_TURN_ServerList = 107, + k_ESteamNetworkingConfig_P2P_TURN_UserList = 108, + k_ESteamNetworkingConfig_P2P_TURN_PassList = 109, + //k_ESteamNetworkingConfig_P2P_Transport_LANBeacon_Penalty = 107, + k_ESteamNetworkingConfig_P2P_Transport_ICE_Implementation = 110, + +// +// Settings for SDR relayed connections +// + + /// [global int32] If the first N pings to a port all fail, mark that port as unavailable for + /// a while, and try a different one. Some ISPs and routers may drop the first + /// packet, so setting this to 1 may greatly disrupt communications. + k_ESteamNetworkingConfig_SDRClient_ConsecutitivePingTimeoutsFailInitial = 19, + + /// [global int32] If N consecutive pings to a port fail, after having received successful + /// communication, mark that port as unavailable for a while, and try a + /// different one. + k_ESteamNetworkingConfig_SDRClient_ConsecutitivePingTimeoutsFail = 20, + + /// [global int32] Minimum number of lifetime pings we need to send, before we think our estimate + /// is solid. The first ping to each cluster is very often delayed because of NAT, + /// routers not having the best route, etc. Until we've sent a sufficient number + /// of pings, our estimate is often inaccurate. Keep pinging until we get this + /// many pings. + k_ESteamNetworkingConfig_SDRClient_MinPingsBeforePingAccurate = 21, + + /// [global int32] Set all steam datagram traffic to originate from the same + /// local port. By default, we open up a new UDP socket (on a different local + /// port) for each relay. This is slightly less optimal, but it works around + /// some routers that don't implement NAT properly. If you have intermittent + /// problems talking to relays that might be NAT related, try toggling + /// this flag + k_ESteamNetworkingConfig_SDRClient_SingleSocket = 22, + + /// [global string] Code of relay cluster to force use. If not empty, we will + /// only use relays in that cluster. E.g. 'iad' + k_ESteamNetworkingConfig_SDRClient_ForceRelayCluster = 29, + + /// [connection string] For development, a base-64 encoded ticket generated + /// using the cert tool. This can be used to connect to a gameserver via SDR + /// without a ticket generated using the game coordinator. (You will still + /// need a key that is trusted for your app, however.) + /// + /// This can also be passed using the SDR_DEVTICKET environment variable + k_ESteamNetworkingConfig_SDRClient_DevTicket = 30, + + /// [global string] For debugging. Override list of relays from the config with + /// this set (maybe just one). Comma-separated list. + k_ESteamNetworkingConfig_SDRClient_ForceProxyAddr = 31, + + /// [global string] For debugging. Force ping times to clusters to be the specified + /// values. A comma separated list of = values. E.g. "sto=32,iad=100" + /// + /// This is a dev configuration value, you probably should not let users modify it + /// in production. + k_ESteamNetworkingConfig_SDRClient_FakeClusterPing = 36, + + /// [global int32] When probing the SteamDatagram network, we limit exploration + /// to the closest N POPs, based on our current best approximated ping to that POP. + k_ESteamNetworkingConfig_SDRClient_LimitPingProbesToNearestN = 60, + +// +// Log levels for debugging information of various subsystems. +// Higher numeric values will cause more stuff to be printed. +// See ISteamNetworkingUtils::SetDebugOutputFunction for more +// information +// +// The default for all values is k_ESteamNetworkingSocketsDebugOutputType_Warning. +// + k_ESteamNetworkingConfig_LogLevel_AckRTT = 13, // [connection int32] RTT calculations for inline pings and replies + k_ESteamNetworkingConfig_LogLevel_PacketDecode = 14, // [connection int32] log SNP packets send/recv + k_ESteamNetworkingConfig_LogLevel_Message = 15, // [connection int32] log each message send/recv + k_ESteamNetworkingConfig_LogLevel_PacketGaps = 16, // [connection int32] dropped packets + k_ESteamNetworkingConfig_LogLevel_P2PRendezvous = 17, // [connection int32] P2P rendezvous messages + k_ESteamNetworkingConfig_LogLevel_SDRRelayPings = 18, // [global int32] Ping relays + + // Experimental. Set the ECN header field on all outbound UDP packets + // -1 = the default, and means "don't set anything". + // 0..3 = set that value. (Even though 0 is the default UDP ECN value, a 0 here means "explicitly set a 0".) + k_ESteamNetworkingConfig_ECN = 999, + + // Deleted, do not use + k_ESteamNetworkingConfig_DELETED_EnumerateDevVars = 35, + + k_ESteamNetworkingConfigValue__Force32Bit = 0x7fffffff +}; + +// Bitmask of types to share +const int k_nSteamNetworkingConfig_P2P_Transport_ICE_Enable_Default = -1; // Special value - use user defaults +const int k_nSteamNetworkingConfig_P2P_Transport_ICE_Enable_Disable = 0; // Do not do any ICE work at all or share any IP addresses with peer +const int k_nSteamNetworkingConfig_P2P_Transport_ICE_Enable_Relay = 1; // Relayed connection via TURN server. +const int k_nSteamNetworkingConfig_P2P_Transport_ICE_Enable_Private = 2; // host addresses that appear to be link-local or RFC1918 addresses +const int k_nSteamNetworkingConfig_P2P_Transport_ICE_Enable_Public = 4; // STUN reflexive addresses, or host address that isn't a "private" address +const int k_nSteamNetworkingConfig_P2P_Transport_ICE_Enable_All = 0x7fffffff; + +/// In a few places we need to set configuration options on listen sockets and connections, and +/// have them take effect *before* the listen socket or connection really starts doing anything. +/// Creating the object and then setting the options "immediately" after creation doesn't work +/// completely, because network packets could be received between the time the object is created and +/// when the options are applied. To set options at creation time in a reliable way, they must be +/// passed to the creation function. This structure is used to pass those options. +/// +/// For the meaning of these fields, see ISteamNetworkingUtils::SetConfigValue. Basically +/// when the object is created, we just iterate over the list of options and call +/// ISteamNetworkingUtils::SetConfigValueStruct, where the scope arguments are supplied by the +/// object being created. +struct SteamNetworkingConfigValue_t +{ + /// Which option is being set + ESteamNetworkingConfigValue m_eValue; + + /// Which field below did you fill in? + ESteamNetworkingConfigDataType m_eDataType; + + /// Option value + union + { + int32_t m_int32; + int64_t m_int64; + float m_float; + const char *m_string; // Points to your '\0'-terminated buffer + void *m_ptr; + } m_val; + + // + // Shortcut helpers to set the type and value in a single call + // + inline void SetInt32( ESteamNetworkingConfigValue eVal, int32_t data ) + { + m_eValue = eVal; + m_eDataType = k_ESteamNetworkingConfig_Int32; + m_val.m_int32 = data; + } + inline void SetInt64( ESteamNetworkingConfigValue eVal, int64_t data ) + { + m_eValue = eVal; + m_eDataType = k_ESteamNetworkingConfig_Int64; + m_val.m_int64 = data; + } + inline void SetFloat( ESteamNetworkingConfigValue eVal, float data ) + { + m_eValue = eVal; + m_eDataType = k_ESteamNetworkingConfig_Float; + m_val.m_float = data; + } + inline void SetPtr( ESteamNetworkingConfigValue eVal, void *data ) + { + m_eValue = eVal; + m_eDataType = k_ESteamNetworkingConfig_Ptr; + m_val.m_ptr = data; + } + inline void SetString( ESteamNetworkingConfigValue eVal, const char *data ) // WARNING - Just saves your pointer. Does NOT make a copy of the string + { + m_eValue = eVal; + m_eDataType = k_ESteamNetworkingConfig_Ptr; + m_val.m_string = data; + } +}; + +/// Return value of ISteamNetworkintgUtils::GetConfigValue +enum ESteamNetworkingGetConfigValueResult +{ + k_ESteamNetworkingGetConfigValue_BadValue = -1, // No such configuration value + k_ESteamNetworkingGetConfigValue_BadScopeObj = -2, // Bad connection handle, etc + k_ESteamNetworkingGetConfigValue_BufferTooSmall = -3, // Couldn't fit the result in your buffer + k_ESteamNetworkingGetConfigValue_OK = 1, + k_ESteamNetworkingGetConfigValue_OKInherited = 2, // A value was not set at this level, but the effective (inherited) value was returned. + + k_ESteamNetworkingGetConfigValueResult__Force32Bit = 0x7fffffff +}; + +// +// Debug output +// + +/// Detail level for diagnostic output callback. +/// See ISteamNetworkingUtils::SetDebugOutputFunction +enum ESteamNetworkingSocketsDebugOutputType +{ + k_ESteamNetworkingSocketsDebugOutputType_None = 0, + k_ESteamNetworkingSocketsDebugOutputType_Bug = 1, // You used the API incorrectly, or an internal error happened + k_ESteamNetworkingSocketsDebugOutputType_Error = 2, // Run-time error condition that isn't the result of a bug. (E.g. we are offline, cannot bind a port, etc) + k_ESteamNetworkingSocketsDebugOutputType_Important = 3, // Nothing is wrong, but this is an important notification + k_ESteamNetworkingSocketsDebugOutputType_Warning = 4, + k_ESteamNetworkingSocketsDebugOutputType_Msg = 5, // Recommended amount + k_ESteamNetworkingSocketsDebugOutputType_Verbose = 6, // Quite a bit + k_ESteamNetworkingSocketsDebugOutputType_Debug = 7, // Practically everything + k_ESteamNetworkingSocketsDebugOutputType_Everything = 8, // Wall of text, detailed packet contents breakdown, etc + + k_ESteamNetworkingSocketsDebugOutputType__Force32Bit = 0x7fffffff +}; + +/// Setup callback for debug output, and the desired verbosity you want. +typedef void (*FSteamNetworkingSocketsDebugOutput)( ESteamNetworkingSocketsDebugOutputType nType, const char *pszMsg ); + +// +// Valve data centers +// + +/// Convert 3- or 4-character ID to 32-bit int. +inline SteamNetworkingPOPID CalculateSteamNetworkingPOPIDFromString( const char *pszCode ) +{ + // OK we made a bad decision when we decided how to pack 3-character codes into a uint32. We'd like to support + // 4-character codes, but we don't want to break compatibility. The migration path has some subtleties that make + // this nontrivial, and there are already some IDs stored in SQL. Ug, so the 4 character code "abcd" will + // be encoded with the digits like "0xddaabbcc". + // + // Also: we don't currently use 1- or 2-character codes, but if ever do in the future, let's make sure don't read + // past the end of the string and access uninitialized memory. (And if the string is empty, we always want + // to return 0 and not read bytes past the '\0'.) + // + // There is also extra paranoia to make sure the bytes are not treated as signed. + SteamNetworkingPOPID result = (uint32)(uint8)pszCode[0] << 16U; + if ( result && pszCode[1] ) + { + result |= ( (uint32)(uint8)pszCode[1] << 8U ); + if ( pszCode[2] ) + { + result |= (uint32)(uint8)pszCode[2] | ( (uint32)(uint8)pszCode[3] << 24U ); + } + } + return result; +} + +/// Unpack integer to string representation, including terminating '\0' +/// +/// See also SteamNetworkingPOPIDRender +template +inline void GetSteamNetworkingLocationPOPStringFromID( SteamNetworkingPOPID id, char (&szCode)[N] ) +{ + static_assert( N >= 5, "Fixed-size buffer not big enough to hold SDR POP ID" ); + szCode[0] = char( id >> 16U ); + szCode[1] = char( id >> 8U ); + szCode[2] = char( id ); + szCode[3] = char( id >> 24U ); // See comment above about deep regret and sadness + szCode[4] = 0; +} + +/// The POPID "dev" is used in non-production environments for testing. +const SteamNetworkingPOPID k_SteamDatagramPOPID_dev = ( (uint32)'d' << 16U ) | ( (uint32)'e' << 8U ) | (uint32)'v'; + +#ifndef API_GEN + +/// Utility class for printing a SteamNetworkingPOPID. +struct SteamNetworkingPOPIDRender +{ + SteamNetworkingPOPIDRender( SteamNetworkingPOPID x ) { GetSteamNetworkingLocationPOPStringFromID( x, buf ); } + inline const char *c_str() const { return buf; } +private: + char buf[ 8 ]; +}; + +#endif + +/////////////////////////////////////////////////////////////////////////////// +// +// Internal stuff +#ifndef API_GEN + +// For code compatibility +typedef SteamNetworkingMessage_t ISteamNetworkingMessage; +typedef SteamNetworkingErrMsg SteamDatagramErrMsg; + +#if 0 +inline void SteamNetworkingIPAddr::Clear() { memset( this, 0, sizeof(*this) ); } +inline bool SteamNetworkingIPAddr::IsIPv6AllZeros() const { const uint64 *q = (const uint64 *)m_ipv6; return q[0] == 0 && q[1] == 0; } +inline void SteamNetworkingIPAddr::SetIPv6( const uint8 *ipv6, uint16 nPort ) { memcpy( m_ipv6, ipv6, 16 ); m_port = nPort; } +inline void SteamNetworkingIPAddr::SetIPv4( uint32 nIP, uint16 nPort ) { m_ipv4.m_8zeros = 0; m_ipv4.m_0000 = 0; m_ipv4.m_ffff = 0xffff; m_ipv4.m_ip[0] = uint8(nIP>>24); m_ipv4.m_ip[1] = uint8(nIP>>16); m_ipv4.m_ip[2] = uint8(nIP>>8); m_ipv4.m_ip[3] = uint8(nIP); m_port = nPort; } +inline bool SteamNetworkingIPAddr::IsIPv4() const { return m_ipv4.m_8zeros == 0 && m_ipv4.m_0000 == 0 && m_ipv4.m_ffff == 0xffff; } +inline uint32 SteamNetworkingIPAddr::GetIPv4() const { return IsIPv4() ? ( (uint32(m_ipv4.m_ip[0])<<24) | (uint32(m_ipv4.m_ip[1])<<16) | (uint32(m_ipv4.m_ip[2])<<8) | uint32(m_ipv4.m_ip[3]) ) : 0; } +inline void SteamNetworkingIPAddr::SetIPv6LocalHost( uint16 nPort ) { m_ipv4.m_8zeros = 0; m_ipv4.m_0000 = 0; m_ipv4.m_ffff = 0; m_ipv6[12] = 0; m_ipv6[13] = 0; m_ipv6[14] = 0; m_ipv6[15] = 1; m_port = nPort; } +inline bool SteamNetworkingIPAddr::IsLocalHost() const { return ( m_ipv4.m_8zeros == 0 && m_ipv4.m_0000 == 0 && m_ipv4.m_ffff == 0 && m_ipv6[12] == 0 && m_ipv6[13] == 0 && m_ipv6[14] == 0 && m_ipv6[15] == 1 ) || ( GetIPv4() == 0x7f000001 ); } +inline bool SteamNetworkingIPAddr::operator==(const SteamNetworkingIPAddr &x ) const { return memcmp( this, &x, sizeof(SteamNetworkingIPAddr) ) == 0; } + +inline void SteamNetworkingIdentity::Clear() { memset( this, 0, sizeof(*this) ); } +inline bool SteamNetworkingIdentity::IsInvalid() const { return m_eType == k_ESteamNetworkingIdentityType_Invalid; } +inline void SteamNetworkingIdentity::SetSteamID( CSteamID steamID ) { SetSteamID64( steamID.ConvertToUint64() ); } +inline CSteamID SteamNetworkingIdentity::GetSteamID() const { return CSteamID( GetSteamID64() ); } +inline void SteamNetworkingIdentity::SetSteamID64( uint64 steamID ) { m_eType = k_ESteamNetworkingIdentityType_SteamID; m_cbSize = sizeof( m_steamID64 ); m_steamID64 = steamID; } +inline uint64 SteamNetworkingIdentity::GetSteamID64() const { return m_eType == k_ESteamNetworkingIdentityType_SteamID ? m_steamID64 : 0; } +inline bool SteamNetworkingIdentity::SetXboxPairwiseID( const char *pszString ) { size_t l = strlen( pszString ); if ( l < 1 || l >= sizeof(m_szXboxPairwiseID) ) return false; + m_eType = k_ESteamNetworkingIdentityType_XboxPairwiseID; m_cbSize = int(l+1); memcpy( m_szXboxPairwiseID, pszString, m_cbSize ); return true; } +inline const char *SteamNetworkingIdentity::GetXboxPairwiseID() const { return m_eType == k_ESteamNetworkingIdentityType_XboxPairwiseID ? m_szXboxPairwiseID : NULL; } +inline void SteamNetworkingIdentity::SetPSNID( uint64 id ) { m_eType = k_ESteamNetworkingIdentityType_SonyPSN; m_cbSize = sizeof( m_PSNID ); m_PSNID = id; } +inline uint64 SteamNetworkingIdentity::GetPSNID() const { return m_eType == k_ESteamNetworkingIdentityType_SonyPSN ? m_PSNID : 0; } +inline void SteamNetworkingIdentity::SetStadiaID( uint64 id ) { m_eType = k_ESteamNetworkingIdentityType_GoogleStadia; m_cbSize = sizeof( m_stadiaID ); m_stadiaID = id; } +inline uint64 SteamNetworkingIdentity::GetStadiaID() const { return m_eType == k_ESteamNetworkingIdentityType_GoogleStadia ? m_stadiaID : 0; } +inline void SteamNetworkingIdentity::SetIPAddr( const SteamNetworkingIPAddr &addr ) { m_eType = k_ESteamNetworkingIdentityType_IPAddress; m_cbSize = (int)sizeof(m_ip); m_ip = addr; } +inline const SteamNetworkingIPAddr *SteamNetworkingIdentity::GetIPAddr() const { return m_eType == k_ESteamNetworkingIdentityType_IPAddress ? &m_ip : NULL; } +inline void SteamNetworkingIdentity::SetIPv4Addr( uint32 nIPv4, uint16 nPort ) { m_eType = k_ESteamNetworkingIdentityType_IPAddress; m_cbSize = (int)sizeof(m_ip); m_ip.SetIPv4( nIPv4, nPort ); } +inline uint32 SteamNetworkingIdentity::GetIPv4() const { return m_eType == k_ESteamNetworkingIdentityType_IPAddress ? m_ip.GetIPv4() : 0; } +inline ESteamNetworkingFakeIPType SteamNetworkingIdentity::GetFakeIPType() const { return m_eType == k_ESteamNetworkingIdentityType_IPAddress ? m_ip.GetFakeIPType() : k_ESteamNetworkingFakeIPType_Invalid; } +inline void SteamNetworkingIdentity::SetLocalHost() { m_eType = k_ESteamNetworkingIdentityType_IPAddress; m_cbSize = (int)sizeof(m_ip); m_ip.SetIPv6LocalHost(); } +inline bool SteamNetworkingIdentity::IsLocalHost() const { return m_eType == k_ESteamNetworkingIdentityType_IPAddress && m_ip.IsLocalHost(); } +inline bool SteamNetworkingIdentity::SetGenericString( const char *pszString ) { size_t l = strlen( pszString ); if ( l >= sizeof(m_szGenericString) ) return false; + m_eType = k_ESteamNetworkingIdentityType_GenericString; m_cbSize = int(l+1); memcpy( m_szGenericString, pszString, m_cbSize ); return true; } +inline const char *SteamNetworkingIdentity::GetGenericString() const { return m_eType == k_ESteamNetworkingIdentityType_GenericString ? m_szGenericString : NULL; } +inline bool SteamNetworkingIdentity::SetGenericBytes( const void *data, size_t cbLen ) { if ( cbLen > sizeof(m_genericBytes) ) return false; + m_eType = k_ESteamNetworkingIdentityType_GenericBytes; m_cbSize = int(cbLen); memcpy( m_genericBytes, data, m_cbSize ); return true; } +inline const uint8 *SteamNetworkingIdentity::GetGenericBytes( int &cbLen ) const { if ( m_eType != k_ESteamNetworkingIdentityType_GenericBytes ) return NULL; + cbLen = m_cbSize; return m_genericBytes; } +inline bool SteamNetworkingIdentity::operator==(const SteamNetworkingIdentity &x ) const { return m_eType == x.m_eType && m_cbSize == x.m_cbSize && memcmp( m_genericBytes, x.m_genericBytes, m_cbSize ) == 0; } +inline void SteamNetworkingMessage_t::Release() { (*m_pfnRelease)( this ); } +#endif + +#endif // #ifndef API_GEN + +#endif // #ifndef STEAMNETWORKINGTYPES diff --git a/lsteamclient/steamworks_sdk_159x/steamps3params.h b/lsteamclient/steamworks_sdk_159x/steamps3params.h new file mode 100644 index 0000000000..c0741b4bb0 --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/steamps3params.h @@ -0,0 +1,112 @@ +//====== Copyright 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: +// +//============================================================================= + +#ifndef STEAMPS3PARAMS_H +#define STEAMPS3PARAMS_H +#ifdef _WIN32 +#pragma once +#endif + +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +// PlayStation 3 initialization parameters +// +// The following structure must be passed to when loading steam_api_ps3.prx +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +#define STEAM_PS3_PATH_MAX 1055 +#define STEAM_PS3_SERVICE_ID_MAX 32 +#define STEAM_PS3_COMMUNICATION_ID_MAX 10 +#define STEAM_PS3_COMMUNICATION_SIG_MAX 160 +#define STEAM_PS3_LANGUAGE_MAX 64 +#define STEAM_PS3_REGION_CODE_MAX 16 +#define STEAM_PS3_CURRENT_PARAMS_VER 2 +struct SteamPS3Params_t +{ + uint32 m_unVersion; // set to STEAM_PS3_CURRENT_PARAMS_VER + + void *pReserved; + uint32 m_nAppId; // set to your game's appid + + char m_rgchInstallationPath[ STEAM_PS3_PATH_MAX ]; // directory containing latest steam prx's and sdata. Can be read only (BDVD) + char m_rgchSystemCache[ STEAM_PS3_PATH_MAX ]; // temp working cache, not persistent + char m_rgchGameData[ STEAM_PS3_PATH_MAX ]; // persistent game data path for storing user data + char m_rgchNpServiceID[ STEAM_PS3_SERVICE_ID_MAX ]; + char m_rgchNpCommunicationID[ STEAM_PS3_COMMUNICATION_ID_MAX ]; + char m_rgchNpCommunicationSig[ STEAM_PS3_COMMUNICATION_SIG_MAX ]; + + // Language should be one of the following. must be zero terminated + // danish + // dutch + // english + // finnish + // french + // german + // italian + // korean + // norwegian + // polish + // portuguese + // russian + // schinese + // spanish + // swedish + // tchinese + char m_rgchSteamLanguage[ STEAM_PS3_LANGUAGE_MAX ]; + + // region codes are "SCEA", "SCEE", "SCEJ". must be zero terminated + char m_rgchRegionCode[ STEAM_PS3_REGION_CODE_MAX ]; + + // Should be SYS_TTYP3 through SYS_TTYP10, if it's 0 then Steam won't spawn a + // thread to read console input at all. Using this let's you use Steam console commands + // like: profile_on, profile_off, profile_dump, mem_stats, mem_validate. + unsigned int m_cSteamInputTTY; + + struct Ps3netInit_t + { + bool m_bNeedInit; + void *m_pMemory; + int m_nMemorySize; + int m_flags; + } m_sysNetInitInfo; + + struct Ps3jpgInit_t + { + bool m_bNeedInit; + } m_sysJpgInitInfo; + + struct Ps3pngInit_t + { + bool m_bNeedInit; + } m_sysPngInitInfo; + + struct Ps3sysutilUserInfo_t + { + bool m_bNeedInit; + } m_sysSysUtilUserInfo; + + bool m_bIncludeNewsPage; +}; + + +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +// PlayStation 3 memory structure +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +#define STEAMPS3_MALLOC_INUSE 0x53D04A51 +#define STEAMPS3_MALLOC_SYSTEM 0x0D102C48 +#define STEAMPS3_MALLOC_OK 0xFFD04A51 +struct SteamPS3Memory_t +{ + bool m_bSingleAllocation; // If true, Steam will request one 6MB allocation and use the returned memory for all future allocations + // If false, Steam will make call malloc for each allocation + + // required function pointers + void* (*m_pfMalloc)(size_t); + void* (*m_pfRealloc)(void *, size_t); + void (*m_pfFree)(void *); + size_t (*m_pUsable_size)(void*); +}; + + +#endif // STEAMPS3PARAMS_H diff --git a/lsteamclient/steamworks_sdk_159x/steamtypes.h b/lsteamclient/steamworks_sdk_159x/steamtypes.h new file mode 100644 index 0000000000..a9eb548bb5 --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/steamtypes.h @@ -0,0 +1,156 @@ +//========= Copyright 1996-2022, Valve LLC, All rights reserved. ============ + +#ifndef STEAMTYPES_H +#define STEAMTYPES_H + +#define S_CALLTYPE __cdecl +// WARNING: __cdecl is potentially #defined away in steam_api_common.h + +// Steam-specific types. Defined here so this header file can be included in other code bases. +#ifndef WCHARTYPES_H +typedef unsigned char uint8; +#endif + +#if defined( __GNUC__ ) && !defined(POSIX) + #if __GNUC__ < 4 + #error "Steamworks requires GCC 4.X (4.2 or 4.4 have been tested)" + #endif +#endif + +#if defined(__LP64__) || defined(__x86_64__) || defined(_WIN64) || defined(__aarch64__) || defined(__s390x__) +#define X64BITS +#endif + +#if !defined(VALVE_BIG_ENDIAN) +#if defined(_PS3) +// Make sure VALVE_BIG_ENDIAN gets set on PS3, may already be set previously in Valve internal code. +#define VALVE_BIG_ENDIAN 1 +#endif +#if defined( __GNUC__ ) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ +#define VALVE_BIG_ENDIAN 1 +#endif +#endif + +typedef unsigned char uint8; +typedef signed char int8; + +#if defined( _WIN32 ) && !defined( __GNUC__ ) + +typedef __int16 int16; +typedef unsigned __int16 uint16; +typedef __int32 int32; +typedef unsigned __int32 uint32; +typedef __int64 int64; +typedef unsigned __int64 uint64; + +typedef int64 lint64; +typedef uint64 ulint64; + +#ifdef X64BITS +typedef __int64 intp; // intp is an integer that can accomodate a pointer +typedef unsigned __int64 uintp; // (ie, sizeof(intp) >= sizeof(int) && sizeof(intp) >= sizeof(void *) +#else +typedef __int32 intp; +typedef unsigned __int32 uintp; +#endif + +#else // _WIN32 + +typedef short int16; +typedef unsigned short uint16; +typedef int int32; +typedef unsigned int uint32; +typedef long long int64; +typedef unsigned long long uint64; + +// [u]int64 are actually defined as 'long long' and gcc 64-bit +// doesn't automatically consider them the same as 'long int'. +// Changing the types for [u]int64 is complicated by +// there being many definitions, so we just +// define a 'long int' here and use it in places that would +// otherwise confuse the compiler. +typedef long int lint64; +typedef unsigned long int ulint64; + +#ifdef X64BITS +typedef long long intp; +typedef unsigned long long uintp; +#else +typedef int intp; +typedef unsigned int uintp; +#endif + +#endif // else _WIN32 + +typedef uint32 AppId_t; +const AppId_t k_uAppIdInvalid = 0x0; + +// AppIds and DepotIDs also presently share the same namespace +typedef uint32 DepotId_t; +const DepotId_t k_uDepotIdInvalid = 0x0; + +// RTime32. Seconds elapsed since Jan 1 1970, i.e. unix timestamp. +// It's the same as time_t, but it is always 32-bit and unsigned. +typedef uint32 RTime32; + +// handle to a Steam API call +typedef uint64 SteamAPICall_t; +const SteamAPICall_t k_uAPICallInvalid = 0x0; + +typedef uint32 AccountID_t; +const AccountID_t k_uAccountIdInvalid = 0; + +// Party Beacon ID +typedef uint64 PartyBeaconID_t; +const PartyBeaconID_t k_ulPartyBeaconIdInvalid = 0; + +enum ESteamIPType +{ + k_ESteamIPTypeIPv4 = 0, + k_ESteamIPTypeIPv6 = 1, +}; + +#pragma pack( push, 1 ) + +struct SteamIPAddress_t +{ + union x { + + uint32 m_unIPv4; // Host order + uint8 m_rgubIPv6[16]; // Network order! Same as inaddr_in6. (0011:2233:4455:6677:8899:aabb:ccdd:eeff) + + // Internal use only + uint64 m_ipv6Qword[2]; // big endian + } x; + + ESteamIPType m_eType; + + bool IsSet() const + { + return true; + } + + static SteamIPAddress_t IPv4Any() + { + return {}; + } + + static SteamIPAddress_t IPv6Any() + { + return {}; + } + + static SteamIPAddress_t IPv4Loopback() + { + return {}; + } + + static SteamIPAddress_t IPv6Loopback() + { + return {}; + } +}; + +#pragma pack( pop ) + +#endif // STEAMTYPES_H diff --git a/lsteamclient/steamworks_sdk_159x/steamuniverse.h b/lsteamclient/steamworks_sdk_159x/steamuniverse.h new file mode 100644 index 0000000000..dd384dcc4c --- /dev/null +++ b/lsteamclient/steamworks_sdk_159x/steamuniverse.h @@ -0,0 +1,27 @@ +//========= Copyright � 1996-2008, Valve LLC, All rights reserved. ============ +// +// Purpose: +// +//============================================================================= + +#ifndef STEAMUNIVERSE_H +#define STEAMUNIVERSE_H +#ifdef _WIN32 +#pragma once +#endif + + +// Steam universes. Each universe is a self-contained Steam instance. +enum EUniverse +{ + k_EUniverseInvalid = 0, + k_EUniversePublic = 1, + k_EUniverseBeta = 2, + k_EUniverseInternal = 3, + k_EUniverseDev = 4, + // k_EUniverseRC = 5, // no such universe anymore + k_EUniverseMax +}; + + +#endif // STEAMUNIVERSE_H diff --git a/lsteamclient/unix_private_generated.h b/lsteamclient/unix_private_generated.h index be6a643454..e26eedae06 100644 --- a/lsteamclient/unix_private_generated.h +++ b/lsteamclient/unix_private_generated.h @@ -7089,6 +7089,103 @@ struct u_ISteamClient_SteamClient021 #endif /* __cplusplus */ }; +struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION019 +{ +#ifdef __cplusplus + virtual uint64_t CreateQueryUserUGCRequest( uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t ) = 0; + virtual uint64_t CreateQueryAllUGCRequest( uint32_t, uint32_t, uint32_t, uint32_t, uint32_t ) = 0; + virtual uint64_t CreateQueryAllUGCRequest( uint32_t, uint32_t, uint32_t, uint32_t, const char * ) = 0; + virtual uint64_t CreateQueryUGCDetailsRequest( uint64_t *, uint32_t ) = 0; + virtual uint64_t SendQueryUGCRequest( uint64_t ) = 0; + virtual int8_t GetQueryUGCResult( uint64_t, uint32_t, u_SteamUGCDetails_t_159x * ) = 0; + virtual uint32_t GetQueryUGCNumTags( uint64_t, uint32_t ) = 0; + virtual int8_t GetQueryUGCTag( uint64_t, uint32_t, uint32_t, char *, uint32_t ) = 0; + virtual int8_t GetQueryUGCTagDisplayName( uint64_t, uint32_t, uint32_t, char *, uint32_t ) = 0; + virtual int8_t GetQueryUGCPreviewURL( uint64_t, uint32_t, char *, uint32_t ) = 0; + virtual int8_t GetQueryUGCMetadata( uint64_t, uint32_t, char *, uint32_t ) = 0; + virtual int8_t GetQueryUGCChildren( uint64_t, uint32_t, uint64_t *, uint32_t ) = 0; + virtual int8_t GetQueryUGCStatistic( uint64_t, uint32_t, uint32_t, uint64_t * ) = 0; + virtual uint32_t GetQueryUGCNumAdditionalPreviews( uint64_t, uint32_t ) = 0; + virtual int8_t GetQueryUGCAdditionalPreview( uint64_t, uint32_t, uint32_t, char *, uint32_t, char *, uint32_t, uint32_t * ) = 0; + virtual uint32_t GetQueryUGCNumKeyValueTags( uint64_t, uint32_t ) = 0; + virtual int8_t GetQueryUGCKeyValueTag( uint64_t, uint32_t, uint32_t, char *, uint32_t, char *, uint32_t ) = 0; + virtual int8_t GetQueryUGCKeyValueTag( uint64_t, uint32_t, const char *, char *, uint32_t ) = 0; + virtual uint32_t GetQueryUGCContentDescriptors( uint64_t, uint32_t, uint32_t *, uint32_t ) = 0; + virtual int8_t ReleaseQueryUGCRequest( uint64_t ) = 0; + virtual int8_t AddRequiredTag( uint64_t, const char * ) = 0; + virtual int8_t AddRequiredTagGroup( uint64_t, const u_SteamParamStringArray_t * ) = 0; + virtual int8_t AddExcludedTag( uint64_t, const char * ) = 0; + virtual int8_t SetReturnOnlyIDs( uint64_t, int8_t ) = 0; + virtual int8_t SetReturnKeyValueTags( uint64_t, int8_t ) = 0; + virtual int8_t SetReturnLongDescription( uint64_t, int8_t ) = 0; + virtual int8_t SetReturnMetadata( uint64_t, int8_t ) = 0; + virtual int8_t SetReturnChildren( uint64_t, int8_t ) = 0; + virtual int8_t SetReturnAdditionalPreviews( uint64_t, int8_t ) = 0; + virtual int8_t SetReturnTotalOnly( uint64_t, int8_t ) = 0; + virtual int8_t SetReturnPlaytimeStats( uint64_t, uint32_t ) = 0; + virtual int8_t SetLanguage( uint64_t, const char * ) = 0; + virtual int8_t SetAllowCachedResponse( uint64_t, uint32_t ) = 0; + virtual int8_t SetAdminQuery( uint64_t, int8_t ) = 0; + virtual int8_t SetCloudFileNameFilter( uint64_t, const char * ) = 0; + virtual int8_t SetMatchAnyTag( uint64_t, int8_t ) = 0; + virtual int8_t SetSearchText( uint64_t, const char * ) = 0; + virtual int8_t SetRankedByTrendDays( uint64_t, uint32_t ) = 0; + virtual int8_t SetTimeCreatedDateRange( uint64_t, uint32_t, uint32_t ) = 0; + virtual int8_t SetTimeUpdatedDateRange( uint64_t, uint32_t, uint32_t ) = 0; + virtual int8_t AddRequiredKeyValueTag( uint64_t, const char *, const char * ) = 0; + virtual uint64_t RequestUGCDetails( uint64_t, uint32_t ) = 0; + virtual uint64_t CreateItem( uint32_t, uint32_t ) = 0; + virtual uint64_t StartItemUpdate( uint32_t, uint64_t ) = 0; + virtual int8_t SetItemTitle( uint64_t, const char * ) = 0; + virtual int8_t SetItemDescription( uint64_t, const char * ) = 0; + virtual int8_t SetItemUpdateLanguage( uint64_t, const char * ) = 0; + virtual int8_t SetItemMetadata( uint64_t, const char * ) = 0; + virtual int8_t SetItemVisibility( uint64_t, uint32_t ) = 0; + virtual int8_t SetItemTags( uint64_t, const u_SteamParamStringArray_t *, int8_t ) = 0; + virtual int8_t SetItemContent( uint64_t, const char * ) = 0; + virtual int8_t SetItemPreview( uint64_t, const char * ) = 0; + virtual int8_t SetAllowLegacyUpload( uint64_t, int8_t ) = 0; + virtual int8_t RemoveAllItemKeyValueTags( uint64_t ) = 0; + virtual int8_t RemoveItemKeyValueTags( uint64_t, const char * ) = 0; + virtual int8_t AddItemKeyValueTag( uint64_t, const char *, const char * ) = 0; + virtual int8_t AddItemPreviewFile( uint64_t, const char *, uint32_t ) = 0; + virtual int8_t AddItemPreviewVideo( uint64_t, const char * ) = 0; + virtual int8_t UpdateItemPreviewFile( uint64_t, uint32_t, const char * ) = 0; + virtual int8_t UpdateItemPreviewVideo( uint64_t, uint32_t, const char * ) = 0; + virtual int8_t RemoveItemPreview( uint64_t, uint32_t ) = 0; + virtual int8_t AddContentDescriptor( uint64_t, uint32_t ) = 0; + virtual int8_t RemoveContentDescriptor( uint64_t, uint32_t ) = 0; + virtual uint64_t SubmitItemUpdate( uint64_t, const char * ) = 0; + virtual uint32_t GetItemUpdateProgress( uint64_t, uint64_t *, uint64_t * ) = 0; + virtual uint64_t SetUserItemVote( uint64_t, int8_t ) = 0; + virtual uint64_t GetUserItemVote( uint64_t ) = 0; + virtual uint64_t AddItemToFavorites( uint32_t, uint64_t ) = 0; + virtual uint64_t RemoveItemFromFavorites( uint32_t, uint64_t ) = 0; + virtual uint64_t SubscribeItem( uint64_t ) = 0; + virtual uint64_t UnsubscribeItem( uint64_t ) = 0; + virtual uint32_t GetNumSubscribedItems( ) = 0; + virtual uint32_t GetSubscribedItems( uint64_t *, uint32_t ) = 0; + virtual uint32_t GetItemState( uint64_t ) = 0; + virtual int8_t GetItemInstallInfo( uint64_t, uint64_t *, char *, uint32_t, uint32_t * ) = 0; + virtual int8_t GetItemDownloadInfo( uint64_t, uint64_t *, uint64_t * ) = 0; + virtual int8_t DownloadItem( uint64_t, int8_t ) = 0; + virtual int8_t BInitWorkshopForGameServer( uint32_t, const char * ) = 0; + virtual void SuspendDownloads( int8_t ) = 0; + virtual uint64_t StartPlaytimeTracking( uint64_t *, uint32_t ) = 0; + virtual uint64_t StopPlaytimeTracking( uint64_t *, uint32_t ) = 0; + virtual uint64_t StopPlaytimeTrackingForAllItems( ) = 0; + virtual uint64_t AddDependency( uint64_t, uint64_t ) = 0; + virtual uint64_t RemoveDependency( uint64_t, uint64_t ) = 0; + virtual uint64_t AddAppDependency( uint64_t, uint32_t ) = 0; + virtual uint64_t RemoveAppDependency( uint64_t, uint32_t ) = 0; + virtual uint64_t GetAppDependencies( uint64_t ) = 0; + virtual uint64_t DeleteItem( uint64_t ) = 0; + virtual int8_t ShowWorkshopEULA( ) = 0; + virtual uint64_t GetWorkshopEULAStatus( ) = 0; + virtual uint32_t GetUserContentDescriptorPreferences( uint32_t *, uint32_t ) = 0; +#endif /* __cplusplus */ +}; + struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION020 { #ifdef __cplusplus @@ -7097,7 +7194,7 @@ struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION020 virtual uint64_t CreateQueryAllUGCRequest( uint32_t, uint32_t, uint32_t, uint32_t, const char * ) = 0; virtual uint64_t CreateQueryUGCDetailsRequest( uint64_t *, uint32_t ) = 0; virtual uint64_t SendQueryUGCRequest( uint64_t ) = 0; - virtual int8_t GetQueryUGCResult( uint64_t, uint32_t, u_SteamUGCDetails_t_160 * ) = 0; + virtual int8_t GetQueryUGCResult( uint64_t, uint32_t, u_SteamUGCDetails_t_159x * ) = 0; virtual uint32_t GetQueryUGCNumTags( uint64_t, uint32_t ) = 0; virtual int8_t GetQueryUGCTag( uint64_t, uint32_t, uint32_t, char *, uint32_t ) = 0; virtual int8_t GetQueryUGCTagDisplayName( uint64_t, uint32_t, uint32_t, char *, uint32_t ) = 0; @@ -7375,7 +7472,7 @@ struct u_ISteamUGC_STEAMUGC_INTERFACE_VERSION021 virtual uint64_t CreateQueryAllUGCRequest( uint32_t, uint32_t, uint32_t, uint32_t, const char * ) = 0; virtual uint64_t CreateQueryUGCDetailsRequest( uint64_t *, uint32_t ) = 0; virtual uint64_t SendQueryUGCRequest( uint64_t ) = 0; - virtual int8_t GetQueryUGCResult( uint64_t, uint32_t, u_SteamUGCDetails_t_160 * ) = 0; + virtual int8_t GetQueryUGCResult( uint64_t, uint32_t, u_SteamUGCDetails_t_159x * ) = 0; virtual uint32_t GetQueryUGCNumTags( uint64_t, uint32_t ) = 0; virtual int8_t GetQueryUGCTag( uint64_t, uint32_t, uint32_t, char *, uint32_t ) = 0; virtual int8_t GetQueryUGCTagDisplayName( uint64_t, uint32_t, uint32_t, char *, uint32_t ) = 0; @@ -12007,6 +12104,188 @@ NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION018_GetWorkshopEULAStatus( void * ) NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION018_GetWorkshopEULAStatus( void * ); NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION018_GetUserContentDescriptorPreferences( void * ); NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION018_GetUserContentDescriptorPreferences( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUserUGCRequest( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUserUGCRequest( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_2( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_2( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUGCDetailsRequest( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUGCDetailsRequest( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SendQueryUGCRequest( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SendQueryUGCRequest( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCResult( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCResult( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumTags( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumTags( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTag( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTag( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTagDisplayName( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTagDisplayName( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCPreviewURL( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCPreviewURL( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCMetadata( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCMetadata( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCChildren( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCChildren( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCStatistic( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCStatistic( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumAdditionalPreviews( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumAdditionalPreviews( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCAdditionalPreview( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCAdditionalPreview( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumKeyValueTags( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumKeyValueTags( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_2( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_2( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCContentDescriptors( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCContentDescriptors( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ReleaseQueryUGCRequest( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ReleaseQueryUGCRequest( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTag( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTag( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTagGroup( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTagGroup( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddExcludedTag( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddExcludedTag( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnOnlyIDs( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnOnlyIDs( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnKeyValueTags( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnKeyValueTags( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnLongDescription( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnLongDescription( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnMetadata( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnMetadata( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnChildren( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnChildren( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnAdditionalPreviews( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnAdditionalPreviews( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnTotalOnly( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnTotalOnly( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnPlaytimeStats( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnPlaytimeStats( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetLanguage( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetLanguage( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowCachedResponse( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowCachedResponse( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAdminQuery( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAdminQuery( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetCloudFileNameFilter( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetCloudFileNameFilter( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetMatchAnyTag( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetMatchAnyTag( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetSearchText( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetSearchText( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetRankedByTrendDays( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetRankedByTrendDays( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeCreatedDateRange( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeCreatedDateRange( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeUpdatedDateRange( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeUpdatedDateRange( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredKeyValueTag( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredKeyValueTag( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RequestUGCDetails( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RequestUGCDetails( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateItem( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateItem( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartItemUpdate( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartItemUpdate( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTitle( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTitle( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemDescription( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemDescription( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemUpdateLanguage( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemUpdateLanguage( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemMetadata( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemMetadata( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemVisibility( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemVisibility( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTags( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTags( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemContent( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemContent( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemPreview( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemPreview( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowLegacyUpload( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowLegacyUpload( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAllItemKeyValueTags( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAllItemKeyValueTags( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemKeyValueTags( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemKeyValueTags( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemKeyValueTag( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemKeyValueTag( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewFile( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewFile( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewVideo( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewVideo( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewFile( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewFile( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewVideo( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewVideo( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemPreview( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemPreview( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddContentDescriptor( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddContentDescriptor( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveContentDescriptor( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveContentDescriptor( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubmitItemUpdate( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubmitItemUpdate( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemUpdateProgress( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemUpdateProgress( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetUserItemVote( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetUserItemVote( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserItemVote( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserItemVote( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemToFavorites( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemToFavorites( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemFromFavorites( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemFromFavorites( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubscribeItem( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubscribeItem( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UnsubscribeItem( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UnsubscribeItem( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetNumSubscribedItems( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetNumSubscribedItems( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetSubscribedItems( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetSubscribedItems( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemState( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemState( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemInstallInfo( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemInstallInfo( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemDownloadInfo( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemDownloadInfo( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DownloadItem( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DownloadItem( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_BInitWorkshopForGameServer( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_BInitWorkshopForGameServer( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SuspendDownloads( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SuspendDownloads( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartPlaytimeTracking( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartPlaytimeTracking( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTracking( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTracking( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTrackingForAllItems( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTrackingForAllItems( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddDependency( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddDependency( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveDependency( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveDependency( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddAppDependency( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddAppDependency( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAppDependency( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAppDependency( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetAppDependencies( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetAppDependencies( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DeleteItem( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DeleteItem( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ShowWorkshopEULA( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ShowWorkshopEULA( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetWorkshopEULAStatus( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetWorkshopEULAStatus( void * ); +NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserContentDescriptorPreferences( void * ); +NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserContentDescriptorPreferences( void * ); NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION020_CreateQueryUserUGCRequest( void * ); NTSTATUS wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION020_CreateQueryUserUGCRequest( void * ); NTSTATUS ISteamUGC_STEAMUGC_INTERFACE_VERSION020_CreateQueryAllUGCRequest( void * ); diff --git a/lsteamclient/unixlib_generated.cpp b/lsteamclient/unixlib_generated.cpp index 5a3a846539..d8407f2a3d 100644 --- a/lsteamclient/unixlib_generated.cpp +++ b/lsteamclient/unixlib_generated.cpp @@ -2283,6 +2283,97 @@ extern "C" const unixlib_entry_t __wine_unix_call_funcs[] = ISteamUGC_STEAMUGC_INTERFACE_VERSION018_ShowWorkshopEULA, ISteamUGC_STEAMUGC_INTERFACE_VERSION018_GetWorkshopEULAStatus, ISteamUGC_STEAMUGC_INTERFACE_VERSION018_GetUserContentDescriptorPreferences, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUserUGCRequest, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_2, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUGCDetailsRequest, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SendQueryUGCRequest, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCResult, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumTags, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTag, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTagDisplayName, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCPreviewURL, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCMetadata, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCChildren, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCStatistic, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumAdditionalPreviews, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCAdditionalPreview, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumKeyValueTags, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_2, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCContentDescriptors, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ReleaseQueryUGCRequest, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTag, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTagGroup, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddExcludedTag, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnOnlyIDs, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnKeyValueTags, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnLongDescription, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnMetadata, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnChildren, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnAdditionalPreviews, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnTotalOnly, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnPlaytimeStats, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetLanguage, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowCachedResponse, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAdminQuery, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetCloudFileNameFilter, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetMatchAnyTag, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetSearchText, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetRankedByTrendDays, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeCreatedDateRange, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeUpdatedDateRange, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredKeyValueTag, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RequestUGCDetails, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateItem, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartItemUpdate, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTitle, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemDescription, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemUpdateLanguage, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemMetadata, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemVisibility, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTags, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemContent, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemPreview, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowLegacyUpload, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAllItemKeyValueTags, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemKeyValueTags, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemKeyValueTag, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewFile, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewVideo, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewFile, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewVideo, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemPreview, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddContentDescriptor, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveContentDescriptor, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubmitItemUpdate, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemUpdateProgress, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetUserItemVote, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserItemVote, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemToFavorites, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemFromFavorites, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubscribeItem, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UnsubscribeItem, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetNumSubscribedItems, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetSubscribedItems, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemState, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemInstallInfo, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemDownloadInfo, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DownloadItem, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_BInitWorkshopForGameServer, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SuspendDownloads, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartPlaytimeTracking, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTracking, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTrackingForAllItems, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddDependency, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveDependency, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddAppDependency, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAppDependency, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetAppDependencies, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DeleteItem, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ShowWorkshopEULA, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetWorkshopEULAStatus, + ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserContentDescriptorPreferences, ISteamUGC_STEAMUGC_INTERFACE_VERSION020_CreateQueryUserUGCRequest, ISteamUGC_STEAMUGC_INTERFACE_VERSION020_CreateQueryAllUGCRequest, ISteamUGC_STEAMUGC_INTERFACE_VERSION020_CreateQueryAllUGCRequest_2, @@ -8552,6 +8643,97 @@ extern "C" const unixlib_entry_t __wine_unix_call_wow64_funcs[] = wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION018_ShowWorkshopEULA, wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION018_GetWorkshopEULAStatus, wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION018_GetUserContentDescriptorPreferences, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUserUGCRequest, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_2, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUGCDetailsRequest, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SendQueryUGCRequest, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCResult, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumTags, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTag, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTagDisplayName, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCPreviewURL, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCMetadata, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCChildren, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCStatistic, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumAdditionalPreviews, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCAdditionalPreview, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumKeyValueTags, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_2, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCContentDescriptors, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ReleaseQueryUGCRequest, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTag, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTagGroup, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddExcludedTag, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnOnlyIDs, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnKeyValueTags, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnLongDescription, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnMetadata, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnChildren, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnAdditionalPreviews, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnTotalOnly, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnPlaytimeStats, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetLanguage, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowCachedResponse, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAdminQuery, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetCloudFileNameFilter, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetMatchAnyTag, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetSearchText, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetRankedByTrendDays, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeCreatedDateRange, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeUpdatedDateRange, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredKeyValueTag, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RequestUGCDetails, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateItem, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartItemUpdate, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTitle, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemDescription, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemUpdateLanguage, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemMetadata, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemVisibility, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTags, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemContent, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemPreview, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowLegacyUpload, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAllItemKeyValueTags, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemKeyValueTags, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemKeyValueTag, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewFile, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewVideo, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewFile, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewVideo, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemPreview, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddContentDescriptor, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveContentDescriptor, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubmitItemUpdate, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemUpdateProgress, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetUserItemVote, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserItemVote, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemToFavorites, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemFromFavorites, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubscribeItem, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UnsubscribeItem, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetNumSubscribedItems, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetSubscribedItems, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemState, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemInstallInfo, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemDownloadInfo, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DownloadItem, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_BInitWorkshopForGameServer, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SuspendDownloads, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartPlaytimeTracking, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTracking, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTrackingForAllItems, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddDependency, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveDependency, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddAppDependency, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAppDependency, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetAppDependencies, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DeleteItem, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ShowWorkshopEULA, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetWorkshopEULAStatus, + wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserContentDescriptorPreferences, wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION020_CreateQueryUserUGCRequest, wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION020_CreateQueryAllUGCRequest, wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION020_CreateQueryAllUGCRequest_2, @@ -14363,229 +14545,229 @@ C_ASSERT( sizeof(gameserveritem_t_099u().m_szServerName) >= 64 ); C_ASSERT( offsetof(gameserveritem_t_099u, m_szGameTags) == 236 ); C_ASSERT( sizeof(gameserveritem_t_099u().m_szGameTags) >= 128 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160) >= 9784 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_nPublishedFileId) == 0 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_nPublishedFileId) >= 8 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_eResult) == 8 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_eResult) >= 4 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_eFileType) == 12 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_eFileType) >= 4 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_nCreatorAppID) == 16 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_nCreatorAppID) >= 4 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_nConsumerAppID) == 20 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_nConsumerAppID) >= 4 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_rgchTitle) == 24 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_rgchTitle) >= 129 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_rgchDescription) == 153 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_rgchDescription) >= 8000 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_ulSteamIDOwner) == 8160 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_ulSteamIDOwner) >= 8 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_rtimeCreated) == 8168 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_rtimeCreated) >= 4 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_rtimeUpdated) == 8172 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_rtimeUpdated) >= 4 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_rtimeAddedToUserList) == 8176 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_rtimeAddedToUserList) >= 4 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_eVisibility) == 8180 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_eVisibility) >= 4 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_bBanned) == 8184 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_bBanned) >= 1 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_bAcceptedForUse) == 8185 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_bAcceptedForUse) >= 1 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_bTagsTruncated) == 8186 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_bTagsTruncated) >= 1 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_rgchTags) == 8187 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_rgchTags) >= 1025 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_hFile) == 9216 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_hFile) >= 8 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_hPreviewFile) == 9224 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_hPreviewFile) >= 8 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_pchFileName) == 9232 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_pchFileName) >= 260 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_nFileSize) == 9492 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_nFileSize) >= 4 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_nPreviewFileSize) == 9496 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_nPreviewFileSize) >= 4 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_rgchURL) == 9500 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_rgchURL) >= 256 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_unVotesUp) == 9756 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_unVotesUp) >= 4 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_unVotesDown) == 9760 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_unVotesDown) >= 4 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_flScore) == 9764 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_flScore) >= 4 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_unNumChildren) == 9768 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_unNumChildren) >= 4 ); -C_ASSERT( offsetof(w64_SteamUGCDetails_t_160, m_ulTotalFilesSize) == 9776 ); -C_ASSERT( sizeof(w64_SteamUGCDetails_t_160().m_ulTotalFilesSize) >= 8 ); - -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160) >= 9772 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_nPublishedFileId) == 0 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_nPublishedFileId) >= 8 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_eResult) == 8 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_eResult) >= 4 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_eFileType) == 12 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_eFileType) >= 4 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_nCreatorAppID) == 16 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_nCreatorAppID) >= 4 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_nConsumerAppID) == 20 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_nConsumerAppID) >= 4 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_rgchTitle) == 24 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_rgchTitle) >= 129 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_rgchDescription) == 153 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_rgchDescription) >= 8000 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_ulSteamIDOwner) == 8156 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_ulSteamIDOwner) >= 8 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_rtimeCreated) == 8164 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_rtimeCreated) >= 4 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_rtimeUpdated) == 8168 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_rtimeUpdated) >= 4 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_rtimeAddedToUserList) == 8172 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_rtimeAddedToUserList) >= 4 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_eVisibility) == 8176 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_eVisibility) >= 4 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_bBanned) == 8180 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_bBanned) >= 1 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_bAcceptedForUse) == 8181 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_bAcceptedForUse) >= 1 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_bTagsTruncated) == 8182 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_bTagsTruncated) >= 1 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_rgchTags) == 8183 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_rgchTags) >= 1025 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_hFile) == 9208 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_hFile) >= 8 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_hPreviewFile) == 9216 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_hPreviewFile) >= 8 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_pchFileName) == 9224 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_pchFileName) >= 260 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_nFileSize) == 9484 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_nFileSize) >= 4 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_nPreviewFileSize) == 9488 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_nPreviewFileSize) >= 4 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_rgchURL) == 9492 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_rgchURL) >= 256 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_unVotesUp) == 9748 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_unVotesUp) >= 4 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_unVotesDown) == 9752 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_unVotesDown) >= 4 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_flScore) == 9756 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_flScore) >= 4 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_unNumChildren) == 9760 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_unNumChildren) >= 4 ); -C_ASSERT( offsetof(u64_SteamUGCDetails_t_160, m_ulTotalFilesSize) == 9764 ); -C_ASSERT( sizeof(u64_SteamUGCDetails_t_160().m_ulTotalFilesSize) >= 8 ); - -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160) >= 9784 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_nPublishedFileId) == 0 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_nPublishedFileId) >= 8 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_eResult) == 8 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_eResult) >= 4 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_eFileType) == 12 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_eFileType) >= 4 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_nCreatorAppID) == 16 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_nCreatorAppID) >= 4 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_nConsumerAppID) == 20 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_nConsumerAppID) >= 4 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_rgchTitle) == 24 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_rgchTitle) >= 129 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_rgchDescription) == 153 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_rgchDescription) >= 8000 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_ulSteamIDOwner) == 8160 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_ulSteamIDOwner) >= 8 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_rtimeCreated) == 8168 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_rtimeCreated) >= 4 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_rtimeUpdated) == 8172 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_rtimeUpdated) >= 4 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_rtimeAddedToUserList) == 8176 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_rtimeAddedToUserList) >= 4 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_eVisibility) == 8180 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_eVisibility) >= 4 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_bBanned) == 8184 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_bBanned) >= 1 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_bAcceptedForUse) == 8185 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_bAcceptedForUse) >= 1 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_bTagsTruncated) == 8186 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_bTagsTruncated) >= 1 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_rgchTags) == 8187 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_rgchTags) >= 1025 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_hFile) == 9216 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_hFile) >= 8 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_hPreviewFile) == 9224 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_hPreviewFile) >= 8 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_pchFileName) == 9232 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_pchFileName) >= 260 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_nFileSize) == 9492 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_nFileSize) >= 4 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_nPreviewFileSize) == 9496 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_nPreviewFileSize) >= 4 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_rgchURL) == 9500 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_rgchURL) >= 256 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_unVotesUp) == 9756 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_unVotesUp) >= 4 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_unVotesDown) == 9760 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_unVotesDown) >= 4 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_flScore) == 9764 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_flScore) >= 4 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_unNumChildren) == 9768 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_unNumChildren) >= 4 ); -C_ASSERT( offsetof(w32_SteamUGCDetails_t_160, m_ulTotalFilesSize) == 9776 ); -C_ASSERT( sizeof(w32_SteamUGCDetails_t_160().m_ulTotalFilesSize) >= 8 ); - -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160) >= 9772 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_nPublishedFileId) == 0 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_nPublishedFileId) >= 8 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_eResult) == 8 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_eResult) >= 4 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_eFileType) == 12 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_eFileType) >= 4 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_nCreatorAppID) == 16 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_nCreatorAppID) >= 4 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_nConsumerAppID) == 20 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_nConsumerAppID) >= 4 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_rgchTitle) == 24 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_rgchTitle) >= 129 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_rgchDescription) == 153 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_rgchDescription) >= 8000 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_ulSteamIDOwner) == 8156 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_ulSteamIDOwner) >= 8 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_rtimeCreated) == 8164 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_rtimeCreated) >= 4 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_rtimeUpdated) == 8168 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_rtimeUpdated) >= 4 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_rtimeAddedToUserList) == 8172 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_rtimeAddedToUserList) >= 4 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_eVisibility) == 8176 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_eVisibility) >= 4 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_bBanned) == 8180 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_bBanned) >= 1 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_bAcceptedForUse) == 8181 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_bAcceptedForUse) >= 1 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_bTagsTruncated) == 8182 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_bTagsTruncated) >= 1 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_rgchTags) == 8183 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_rgchTags) >= 1025 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_hFile) == 9208 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_hFile) >= 8 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_hPreviewFile) == 9216 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_hPreviewFile) >= 8 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_pchFileName) == 9224 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_pchFileName) >= 260 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_nFileSize) == 9484 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_nFileSize) >= 4 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_nPreviewFileSize) == 9488 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_nPreviewFileSize) >= 4 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_rgchURL) == 9492 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_rgchURL) >= 256 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_unVotesUp) == 9748 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_unVotesUp) >= 4 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_unVotesDown) == 9752 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_unVotesDown) >= 4 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_flScore) == 9756 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_flScore) >= 4 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_unNumChildren) == 9760 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_unNumChildren) >= 4 ); -C_ASSERT( offsetof(u32_SteamUGCDetails_t_160, m_ulTotalFilesSize) == 9764 ); -C_ASSERT( sizeof(u32_SteamUGCDetails_t_160().m_ulTotalFilesSize) >= 8 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x) >= 9784 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_nPublishedFileId) == 0 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_nPublishedFileId) >= 8 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_eResult) == 8 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_eResult) >= 4 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_eFileType) == 12 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_eFileType) >= 4 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_nCreatorAppID) == 16 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_nCreatorAppID) >= 4 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_nConsumerAppID) == 20 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_nConsumerAppID) >= 4 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_rgchTitle) == 24 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_rgchTitle) >= 129 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_rgchDescription) == 153 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_rgchDescription) >= 8000 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_ulSteamIDOwner) == 8160 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_ulSteamIDOwner) >= 8 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_rtimeCreated) == 8168 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_rtimeCreated) >= 4 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_rtimeUpdated) == 8172 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_rtimeUpdated) >= 4 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_rtimeAddedToUserList) == 8176 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_rtimeAddedToUserList) >= 4 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_eVisibility) == 8180 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_eVisibility) >= 4 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_bBanned) == 8184 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_bBanned) >= 1 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_bAcceptedForUse) == 8185 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_bAcceptedForUse) >= 1 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_bTagsTruncated) == 8186 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_bTagsTruncated) >= 1 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_rgchTags) == 8187 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_rgchTags) >= 1025 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_hFile) == 9216 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_hFile) >= 8 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_hPreviewFile) == 9224 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_hPreviewFile) >= 8 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_pchFileName) == 9232 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_pchFileName) >= 260 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_nFileSize) == 9492 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_nFileSize) >= 4 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_nPreviewFileSize) == 9496 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_nPreviewFileSize) >= 4 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_rgchURL) == 9500 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_rgchURL) >= 256 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_unVotesUp) == 9756 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_unVotesUp) >= 4 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_unVotesDown) == 9760 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_unVotesDown) >= 4 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_flScore) == 9764 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_flScore) >= 4 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_unNumChildren) == 9768 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_unNumChildren) >= 4 ); +C_ASSERT( offsetof(w64_SteamUGCDetails_t_159x, m_ulTotalFilesSize) == 9776 ); +C_ASSERT( sizeof(w64_SteamUGCDetails_t_159x().m_ulTotalFilesSize) >= 8 ); + +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x) >= 9772 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_nPublishedFileId) == 0 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_nPublishedFileId) >= 8 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_eResult) == 8 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_eResult) >= 4 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_eFileType) == 12 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_eFileType) >= 4 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_nCreatorAppID) == 16 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_nCreatorAppID) >= 4 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_nConsumerAppID) == 20 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_nConsumerAppID) >= 4 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_rgchTitle) == 24 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_rgchTitle) >= 129 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_rgchDescription) == 153 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_rgchDescription) >= 8000 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_ulSteamIDOwner) == 8156 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_ulSteamIDOwner) >= 8 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_rtimeCreated) == 8164 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_rtimeCreated) >= 4 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_rtimeUpdated) == 8168 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_rtimeUpdated) >= 4 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_rtimeAddedToUserList) == 8172 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_rtimeAddedToUserList) >= 4 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_eVisibility) == 8176 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_eVisibility) >= 4 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_bBanned) == 8180 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_bBanned) >= 1 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_bAcceptedForUse) == 8181 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_bAcceptedForUse) >= 1 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_bTagsTruncated) == 8182 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_bTagsTruncated) >= 1 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_rgchTags) == 8183 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_rgchTags) >= 1025 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_hFile) == 9208 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_hFile) >= 8 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_hPreviewFile) == 9216 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_hPreviewFile) >= 8 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_pchFileName) == 9224 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_pchFileName) >= 260 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_nFileSize) == 9484 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_nFileSize) >= 4 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_nPreviewFileSize) == 9488 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_nPreviewFileSize) >= 4 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_rgchURL) == 9492 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_rgchURL) >= 256 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_unVotesUp) == 9748 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_unVotesUp) >= 4 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_unVotesDown) == 9752 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_unVotesDown) >= 4 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_flScore) == 9756 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_flScore) >= 4 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_unNumChildren) == 9760 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_unNumChildren) >= 4 ); +C_ASSERT( offsetof(u64_SteamUGCDetails_t_159x, m_ulTotalFilesSize) == 9764 ); +C_ASSERT( sizeof(u64_SteamUGCDetails_t_159x().m_ulTotalFilesSize) >= 8 ); + +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x) >= 9784 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_nPublishedFileId) == 0 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_nPublishedFileId) >= 8 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_eResult) == 8 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_eResult) >= 4 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_eFileType) == 12 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_eFileType) >= 4 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_nCreatorAppID) == 16 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_nCreatorAppID) >= 4 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_nConsumerAppID) == 20 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_nConsumerAppID) >= 4 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_rgchTitle) == 24 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_rgchTitle) >= 129 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_rgchDescription) == 153 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_rgchDescription) >= 8000 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_ulSteamIDOwner) == 8160 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_ulSteamIDOwner) >= 8 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_rtimeCreated) == 8168 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_rtimeCreated) >= 4 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_rtimeUpdated) == 8172 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_rtimeUpdated) >= 4 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_rtimeAddedToUserList) == 8176 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_rtimeAddedToUserList) >= 4 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_eVisibility) == 8180 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_eVisibility) >= 4 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_bBanned) == 8184 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_bBanned) >= 1 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_bAcceptedForUse) == 8185 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_bAcceptedForUse) >= 1 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_bTagsTruncated) == 8186 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_bTagsTruncated) >= 1 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_rgchTags) == 8187 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_rgchTags) >= 1025 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_hFile) == 9216 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_hFile) >= 8 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_hPreviewFile) == 9224 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_hPreviewFile) >= 8 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_pchFileName) == 9232 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_pchFileName) >= 260 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_nFileSize) == 9492 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_nFileSize) >= 4 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_nPreviewFileSize) == 9496 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_nPreviewFileSize) >= 4 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_rgchURL) == 9500 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_rgchURL) >= 256 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_unVotesUp) == 9756 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_unVotesUp) >= 4 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_unVotesDown) == 9760 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_unVotesDown) >= 4 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_flScore) == 9764 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_flScore) >= 4 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_unNumChildren) == 9768 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_unNumChildren) >= 4 ); +C_ASSERT( offsetof(w32_SteamUGCDetails_t_159x, m_ulTotalFilesSize) == 9776 ); +C_ASSERT( sizeof(w32_SteamUGCDetails_t_159x().m_ulTotalFilesSize) >= 8 ); + +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x) >= 9772 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_nPublishedFileId) == 0 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_nPublishedFileId) >= 8 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_eResult) == 8 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_eResult) >= 4 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_eFileType) == 12 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_eFileType) >= 4 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_nCreatorAppID) == 16 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_nCreatorAppID) >= 4 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_nConsumerAppID) == 20 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_nConsumerAppID) >= 4 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_rgchTitle) == 24 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_rgchTitle) >= 129 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_rgchDescription) == 153 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_rgchDescription) >= 8000 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_ulSteamIDOwner) == 8156 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_ulSteamIDOwner) >= 8 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_rtimeCreated) == 8164 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_rtimeCreated) >= 4 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_rtimeUpdated) == 8168 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_rtimeUpdated) >= 4 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_rtimeAddedToUserList) == 8172 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_rtimeAddedToUserList) >= 4 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_eVisibility) == 8176 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_eVisibility) >= 4 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_bBanned) == 8180 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_bBanned) >= 1 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_bAcceptedForUse) == 8181 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_bAcceptedForUse) >= 1 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_bTagsTruncated) == 8182 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_bTagsTruncated) >= 1 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_rgchTags) == 8183 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_rgchTags) >= 1025 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_hFile) == 9208 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_hFile) >= 8 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_hPreviewFile) == 9216 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_hPreviewFile) >= 8 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_pchFileName) == 9224 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_pchFileName) >= 260 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_nFileSize) == 9484 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_nFileSize) >= 4 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_nPreviewFileSize) == 9488 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_nPreviewFileSize) >= 4 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_rgchURL) == 9492 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_rgchURL) >= 256 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_unVotesUp) == 9748 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_unVotesUp) >= 4 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_unVotesDown) == 9752 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_unVotesDown) >= 4 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_flScore) == 9756 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_flScore) >= 4 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_unNumChildren) == 9760 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_unNumChildren) >= 4 ); +C_ASSERT( offsetof(u32_SteamUGCDetails_t_159x, m_ulTotalFilesSize) == 9764 ); +C_ASSERT( sizeof(u32_SteamUGCDetails_t_159x().m_ulTotalFilesSize) >= 8 ); C_ASSERT( sizeof(w64_SteamUGCDetails_t_128x) >= 9776 ); C_ASSERT( offsetof(w64_SteamUGCDetails_t_128x, m_nPublishedFileId) == 0 ); @@ -15012,9 +15194,9 @@ C_ASSERT( offsetof(u32_SteamUGCDetails_t_126, m_flScore) == 9756 ); C_ASSERT( sizeof(u32_SteamUGCDetails_t_126().m_flScore) >= 4 ); #if defined(__x86_64__) || defined(__aarch64__) -w64_SteamUGCDetails_t_160::operator u64_SteamUGCDetails_t_160() const +w64_SteamUGCDetails_t_159x::operator u64_SteamUGCDetails_t_159x() const { - u64_SteamUGCDetails_t_160 ret; + u64_SteamUGCDetails_t_159x ret; ret.m_nPublishedFileId = this->m_nPublishedFileId; ret.m_eResult = this->m_eResult; ret.m_eFileType = this->m_eFileType; @@ -15047,9 +15229,9 @@ w64_SteamUGCDetails_t_160::operator u64_SteamUGCDetails_t_160() const #endif #if defined(__x86_64__) || defined(__aarch64__) -u64_SteamUGCDetails_t_160::operator w64_SteamUGCDetails_t_160() const +u64_SteamUGCDetails_t_159x::operator w64_SteamUGCDetails_t_159x() const { - w64_SteamUGCDetails_t_160 ret; + w64_SteamUGCDetails_t_159x ret; ret.m_nPublishedFileId = this->m_nPublishedFileId; ret.m_eResult = this->m_eResult; ret.m_eFileType = this->m_eFileType; @@ -15082,9 +15264,9 @@ u64_SteamUGCDetails_t_160::operator w64_SteamUGCDetails_t_160() const #endif #ifdef __i386__ -w32_SteamUGCDetails_t_160::operator u32_SteamUGCDetails_t_160() const +w32_SteamUGCDetails_t_159x::operator u32_SteamUGCDetails_t_159x() const { - u32_SteamUGCDetails_t_160 ret; + u32_SteamUGCDetails_t_159x ret; ret.m_nPublishedFileId = this->m_nPublishedFileId; ret.m_eResult = this->m_eResult; ret.m_eFileType = this->m_eFileType; @@ -15117,9 +15299,9 @@ w32_SteamUGCDetails_t_160::operator u32_SteamUGCDetails_t_160() const #endif #ifdef __i386__ -u32_SteamUGCDetails_t_160::operator w32_SteamUGCDetails_t_160() const +u32_SteamUGCDetails_t_159x::operator w32_SteamUGCDetails_t_159x() const { - w32_SteamUGCDetails_t_160 ret; + w32_SteamUGCDetails_t_159x ret; ret.m_nPublishedFileId = this->m_nPublishedFileId; ret.m_eResult = this->m_eResult; ret.m_eFileType = this->m_eFileType; @@ -15152,9 +15334,9 @@ u32_SteamUGCDetails_t_160::operator w32_SteamUGCDetails_t_160() const #endif #if defined(__x86_64__) || defined(__aarch64__) -w32_SteamUGCDetails_t_160::operator u64_SteamUGCDetails_t_160() const +w32_SteamUGCDetails_t_159x::operator u64_SteamUGCDetails_t_159x() const { - u64_SteamUGCDetails_t_160 ret; + u64_SteamUGCDetails_t_159x ret; ret.m_nPublishedFileId = this->m_nPublishedFileId; ret.m_eResult = this->m_eResult; ret.m_eFileType = this->m_eFileType; @@ -15187,9 +15369,9 @@ w32_SteamUGCDetails_t_160::operator u64_SteamUGCDetails_t_160() const #endif #if defined(__x86_64__) || defined(__aarch64__) -u64_SteamUGCDetails_t_160::operator w32_SteamUGCDetails_t_160() const +u64_SteamUGCDetails_t_159x::operator w32_SteamUGCDetails_t_159x() const { - w32_SteamUGCDetails_t_160 ret; + w32_SteamUGCDetails_t_159x ret; ret.m_nPublishedFileId = this->m_nPublishedFileId; ret.m_eResult = this->m_eResult; ret.m_eFileType = this->m_eFileType; @@ -18761,45 +18943,45 @@ u64_HTTPRequestHeadersReceived_t_121x::operator w32_HTTPRequestHeadersReceived_t } #endif -C_ASSERT( sizeof(w64_ItemInstalled_t_160) >= 32 ); -C_ASSERT( offsetof(w64_ItemInstalled_t_160, m_unAppID) == 0 ); -C_ASSERT( sizeof(w64_ItemInstalled_t_160().m_unAppID) >= 4 ); -C_ASSERT( offsetof(w64_ItemInstalled_t_160, m_nPublishedFileId) == 8 ); -C_ASSERT( sizeof(w64_ItemInstalled_t_160().m_nPublishedFileId) >= 8 ); -C_ASSERT( offsetof(w64_ItemInstalled_t_160, m_hLegacyContent) == 16 ); -C_ASSERT( sizeof(w64_ItemInstalled_t_160().m_hLegacyContent) >= 8 ); -C_ASSERT( offsetof(w64_ItemInstalled_t_160, m_unManifestID) == 24 ); -C_ASSERT( sizeof(w64_ItemInstalled_t_160().m_unManifestID) >= 8 ); - -C_ASSERT( sizeof(u64_ItemInstalled_t_160) >= 28 ); -C_ASSERT( offsetof(u64_ItemInstalled_t_160, m_unAppID) == 0 ); -C_ASSERT( sizeof(u64_ItemInstalled_t_160().m_unAppID) >= 4 ); -C_ASSERT( offsetof(u64_ItemInstalled_t_160, m_nPublishedFileId) == 4 ); -C_ASSERT( sizeof(u64_ItemInstalled_t_160().m_nPublishedFileId) >= 8 ); -C_ASSERT( offsetof(u64_ItemInstalled_t_160, m_hLegacyContent) == 12 ); -C_ASSERT( sizeof(u64_ItemInstalled_t_160().m_hLegacyContent) >= 8 ); -C_ASSERT( offsetof(u64_ItemInstalled_t_160, m_unManifestID) == 20 ); -C_ASSERT( sizeof(u64_ItemInstalled_t_160().m_unManifestID) >= 8 ); - -C_ASSERT( sizeof(w32_ItemInstalled_t_160) >= 32 ); -C_ASSERT( offsetof(w32_ItemInstalled_t_160, m_unAppID) == 0 ); -C_ASSERT( sizeof(w32_ItemInstalled_t_160().m_unAppID) >= 4 ); -C_ASSERT( offsetof(w32_ItemInstalled_t_160, m_nPublishedFileId) == 8 ); -C_ASSERT( sizeof(w32_ItemInstalled_t_160().m_nPublishedFileId) >= 8 ); -C_ASSERT( offsetof(w32_ItemInstalled_t_160, m_hLegacyContent) == 16 ); -C_ASSERT( sizeof(w32_ItemInstalled_t_160().m_hLegacyContent) >= 8 ); -C_ASSERT( offsetof(w32_ItemInstalled_t_160, m_unManifestID) == 24 ); -C_ASSERT( sizeof(w32_ItemInstalled_t_160().m_unManifestID) >= 8 ); - -C_ASSERT( sizeof(u32_ItemInstalled_t_160) >= 28 ); -C_ASSERT( offsetof(u32_ItemInstalled_t_160, m_unAppID) == 0 ); -C_ASSERT( sizeof(u32_ItemInstalled_t_160().m_unAppID) >= 4 ); -C_ASSERT( offsetof(u32_ItemInstalled_t_160, m_nPublishedFileId) == 4 ); -C_ASSERT( sizeof(u32_ItemInstalled_t_160().m_nPublishedFileId) >= 8 ); -C_ASSERT( offsetof(u32_ItemInstalled_t_160, m_hLegacyContent) == 12 ); -C_ASSERT( sizeof(u32_ItemInstalled_t_160().m_hLegacyContent) >= 8 ); -C_ASSERT( offsetof(u32_ItemInstalled_t_160, m_unManifestID) == 20 ); -C_ASSERT( sizeof(u32_ItemInstalled_t_160().m_unManifestID) >= 8 ); +C_ASSERT( sizeof(w64_ItemInstalled_t_159x) >= 32 ); +C_ASSERT( offsetof(w64_ItemInstalled_t_159x, m_unAppID) == 0 ); +C_ASSERT( sizeof(w64_ItemInstalled_t_159x().m_unAppID) >= 4 ); +C_ASSERT( offsetof(w64_ItemInstalled_t_159x, m_nPublishedFileId) == 8 ); +C_ASSERT( sizeof(w64_ItemInstalled_t_159x().m_nPublishedFileId) >= 8 ); +C_ASSERT( offsetof(w64_ItemInstalled_t_159x, m_hLegacyContent) == 16 ); +C_ASSERT( sizeof(w64_ItemInstalled_t_159x().m_hLegacyContent) >= 8 ); +C_ASSERT( offsetof(w64_ItemInstalled_t_159x, m_unManifestID) == 24 ); +C_ASSERT( sizeof(w64_ItemInstalled_t_159x().m_unManifestID) >= 8 ); + +C_ASSERT( sizeof(u64_ItemInstalled_t_159x) >= 28 ); +C_ASSERT( offsetof(u64_ItemInstalled_t_159x, m_unAppID) == 0 ); +C_ASSERT( sizeof(u64_ItemInstalled_t_159x().m_unAppID) >= 4 ); +C_ASSERT( offsetof(u64_ItemInstalled_t_159x, m_nPublishedFileId) == 4 ); +C_ASSERT( sizeof(u64_ItemInstalled_t_159x().m_nPublishedFileId) >= 8 ); +C_ASSERT( offsetof(u64_ItemInstalled_t_159x, m_hLegacyContent) == 12 ); +C_ASSERT( sizeof(u64_ItemInstalled_t_159x().m_hLegacyContent) >= 8 ); +C_ASSERT( offsetof(u64_ItemInstalled_t_159x, m_unManifestID) == 20 ); +C_ASSERT( sizeof(u64_ItemInstalled_t_159x().m_unManifestID) >= 8 ); + +C_ASSERT( sizeof(w32_ItemInstalled_t_159x) >= 32 ); +C_ASSERT( offsetof(w32_ItemInstalled_t_159x, m_unAppID) == 0 ); +C_ASSERT( sizeof(w32_ItemInstalled_t_159x().m_unAppID) >= 4 ); +C_ASSERT( offsetof(w32_ItemInstalled_t_159x, m_nPublishedFileId) == 8 ); +C_ASSERT( sizeof(w32_ItemInstalled_t_159x().m_nPublishedFileId) >= 8 ); +C_ASSERT( offsetof(w32_ItemInstalled_t_159x, m_hLegacyContent) == 16 ); +C_ASSERT( sizeof(w32_ItemInstalled_t_159x().m_hLegacyContent) >= 8 ); +C_ASSERT( offsetof(w32_ItemInstalled_t_159x, m_unManifestID) == 24 ); +C_ASSERT( sizeof(w32_ItemInstalled_t_159x().m_unManifestID) >= 8 ); + +C_ASSERT( sizeof(u32_ItemInstalled_t_159x) >= 28 ); +C_ASSERT( offsetof(u32_ItemInstalled_t_159x, m_unAppID) == 0 ); +C_ASSERT( sizeof(u32_ItemInstalled_t_159x().m_unAppID) >= 4 ); +C_ASSERT( offsetof(u32_ItemInstalled_t_159x, m_nPublishedFileId) == 4 ); +C_ASSERT( sizeof(u32_ItemInstalled_t_159x().m_nPublishedFileId) >= 8 ); +C_ASSERT( offsetof(u32_ItemInstalled_t_159x, m_hLegacyContent) == 12 ); +C_ASSERT( sizeof(u32_ItemInstalled_t_159x().m_hLegacyContent) >= 8 ); +C_ASSERT( offsetof(u32_ItemInstalled_t_159x, m_unManifestID) == 20 ); +C_ASSERT( sizeof(u32_ItemInstalled_t_159x().m_unManifestID) >= 8 ); C_ASSERT( sizeof(w64_ItemInstalled_t_130) >= 16 ); C_ASSERT( offsetof(w64_ItemInstalled_t_130, m_unAppID) == 0 ); @@ -18826,9 +19008,9 @@ C_ASSERT( offsetof(u32_ItemInstalled_t_130, m_nPublishedFileId) == 4 ); C_ASSERT( sizeof(u32_ItemInstalled_t_130().m_nPublishedFileId) >= 8 ); #if defined(__x86_64__) || defined(__aarch64__) -w64_ItemInstalled_t_160::operator u64_ItemInstalled_t_160() const +w64_ItemInstalled_t_159x::operator u64_ItemInstalled_t_159x() const { - u64_ItemInstalled_t_160 ret; + u64_ItemInstalled_t_159x ret; ret.m_unAppID = this->m_unAppID; ret.m_nPublishedFileId = this->m_nPublishedFileId; ret.m_hLegacyContent = this->m_hLegacyContent; @@ -18838,9 +19020,9 @@ w64_ItemInstalled_t_160::operator u64_ItemInstalled_t_160() const #endif #if defined(__x86_64__) || defined(__aarch64__) -u64_ItemInstalled_t_160::operator w64_ItemInstalled_t_160() const +u64_ItemInstalled_t_159x::operator w64_ItemInstalled_t_159x() const { - w64_ItemInstalled_t_160 ret; + w64_ItemInstalled_t_159x ret; ret.m_unAppID = this->m_unAppID; ret.m_nPublishedFileId = this->m_nPublishedFileId; ret.m_hLegacyContent = this->m_hLegacyContent; @@ -18850,9 +19032,9 @@ u64_ItemInstalled_t_160::operator w64_ItemInstalled_t_160() const #endif #ifdef __i386__ -w32_ItemInstalled_t_160::operator u32_ItemInstalled_t_160() const +w32_ItemInstalled_t_159x::operator u32_ItemInstalled_t_159x() const { - u32_ItemInstalled_t_160 ret; + u32_ItemInstalled_t_159x ret; ret.m_unAppID = this->m_unAppID; ret.m_nPublishedFileId = this->m_nPublishedFileId; ret.m_hLegacyContent = this->m_hLegacyContent; @@ -18862,9 +19044,9 @@ w32_ItemInstalled_t_160::operator u32_ItemInstalled_t_160() const #endif #ifdef __i386__ -u32_ItemInstalled_t_160::operator w32_ItemInstalled_t_160() const +u32_ItemInstalled_t_159x::operator w32_ItemInstalled_t_159x() const { - w32_ItemInstalled_t_160 ret; + w32_ItemInstalled_t_159x ret; ret.m_unAppID = this->m_unAppID; ret.m_nPublishedFileId = this->m_nPublishedFileId; ret.m_hLegacyContent = this->m_hLegacyContent; @@ -18874,9 +19056,9 @@ u32_ItemInstalled_t_160::operator w32_ItemInstalled_t_160() const #endif #if defined(__x86_64__) || defined(__aarch64__) -w32_ItemInstalled_t_160::operator u64_ItemInstalled_t_160() const +w32_ItemInstalled_t_159x::operator u64_ItemInstalled_t_159x() const { - u64_ItemInstalled_t_160 ret; + u64_ItemInstalled_t_159x ret; ret.m_unAppID = this->m_unAppID; ret.m_nPublishedFileId = this->m_nPublishedFileId; ret.m_hLegacyContent = this->m_hLegacyContent; @@ -18886,9 +19068,9 @@ w32_ItemInstalled_t_160::operator u64_ItemInstalled_t_160() const #endif #if defined(__x86_64__) || defined(__aarch64__) -u64_ItemInstalled_t_160::operator w32_ItemInstalled_t_160() const +u64_ItemInstalled_t_159x::operator w32_ItemInstalled_t_159x() const { - w32_ItemInstalled_t_160 ret; + w32_ItemInstalled_t_159x ret; ret.m_unAppID = this->m_unAppID; ret.m_nPublishedFileId = this->m_nPublishedFileId; ret.m_hLegacyContent = this->m_hLegacyContent; @@ -27347,29 +27529,29 @@ u64_SteamPartyBeaconLocation_t::operator w32_SteamPartyBeaconLocation_t() const } #endif -C_ASSERT( sizeof(w64_SteamUGCRequestUGCDetailsResult_t_160) >= 9792 ); -C_ASSERT( offsetof(w64_SteamUGCRequestUGCDetailsResult_t_160, m_details) == 0 ); -C_ASSERT( sizeof(w64_SteamUGCRequestUGCDetailsResult_t_160().m_details) >= 9784 ); -C_ASSERT( offsetof(w64_SteamUGCRequestUGCDetailsResult_t_160, m_bCachedData) == 9784 ); -C_ASSERT( sizeof(w64_SteamUGCRequestUGCDetailsResult_t_160().m_bCachedData) >= 1 ); +C_ASSERT( sizeof(w64_SteamUGCRequestUGCDetailsResult_t_159x) >= 9792 ); +C_ASSERT( offsetof(w64_SteamUGCRequestUGCDetailsResult_t_159x, m_details) == 0 ); +C_ASSERT( sizeof(w64_SteamUGCRequestUGCDetailsResult_t_159x().m_details) >= 9784 ); +C_ASSERT( offsetof(w64_SteamUGCRequestUGCDetailsResult_t_159x, m_bCachedData) == 9784 ); +C_ASSERT( sizeof(w64_SteamUGCRequestUGCDetailsResult_t_159x().m_bCachedData) >= 1 ); -C_ASSERT( sizeof(u64_SteamUGCRequestUGCDetailsResult_t_160) >= 9776 ); -C_ASSERT( offsetof(u64_SteamUGCRequestUGCDetailsResult_t_160, m_details) == 0 ); -C_ASSERT( sizeof(u64_SteamUGCRequestUGCDetailsResult_t_160().m_details) >= 9772 ); -C_ASSERT( offsetof(u64_SteamUGCRequestUGCDetailsResult_t_160, m_bCachedData) == 9772 ); -C_ASSERT( sizeof(u64_SteamUGCRequestUGCDetailsResult_t_160().m_bCachedData) >= 1 ); +C_ASSERT( sizeof(u64_SteamUGCRequestUGCDetailsResult_t_159x) >= 9776 ); +C_ASSERT( offsetof(u64_SteamUGCRequestUGCDetailsResult_t_159x, m_details) == 0 ); +C_ASSERT( sizeof(u64_SteamUGCRequestUGCDetailsResult_t_159x().m_details) >= 9772 ); +C_ASSERT( offsetof(u64_SteamUGCRequestUGCDetailsResult_t_159x, m_bCachedData) == 9772 ); +C_ASSERT( sizeof(u64_SteamUGCRequestUGCDetailsResult_t_159x().m_bCachedData) >= 1 ); -C_ASSERT( sizeof(w32_SteamUGCRequestUGCDetailsResult_t_160) >= 9792 ); -C_ASSERT( offsetof(w32_SteamUGCRequestUGCDetailsResult_t_160, m_details) == 0 ); -C_ASSERT( sizeof(w32_SteamUGCRequestUGCDetailsResult_t_160().m_details) >= 9784 ); -C_ASSERT( offsetof(w32_SteamUGCRequestUGCDetailsResult_t_160, m_bCachedData) == 9784 ); -C_ASSERT( sizeof(w32_SteamUGCRequestUGCDetailsResult_t_160().m_bCachedData) >= 1 ); +C_ASSERT( sizeof(w32_SteamUGCRequestUGCDetailsResult_t_159x) >= 9792 ); +C_ASSERT( offsetof(w32_SteamUGCRequestUGCDetailsResult_t_159x, m_details) == 0 ); +C_ASSERT( sizeof(w32_SteamUGCRequestUGCDetailsResult_t_159x().m_details) >= 9784 ); +C_ASSERT( offsetof(w32_SteamUGCRequestUGCDetailsResult_t_159x, m_bCachedData) == 9784 ); +C_ASSERT( sizeof(w32_SteamUGCRequestUGCDetailsResult_t_159x().m_bCachedData) >= 1 ); -C_ASSERT( sizeof(u32_SteamUGCRequestUGCDetailsResult_t_160) >= 9776 ); -C_ASSERT( offsetof(u32_SteamUGCRequestUGCDetailsResult_t_160, m_details) == 0 ); -C_ASSERT( sizeof(u32_SteamUGCRequestUGCDetailsResult_t_160().m_details) >= 9772 ); -C_ASSERT( offsetof(u32_SteamUGCRequestUGCDetailsResult_t_160, m_bCachedData) == 9772 ); -C_ASSERT( sizeof(u32_SteamUGCRequestUGCDetailsResult_t_160().m_bCachedData) >= 1 ); +C_ASSERT( sizeof(u32_SteamUGCRequestUGCDetailsResult_t_159x) >= 9776 ); +C_ASSERT( offsetof(u32_SteamUGCRequestUGCDetailsResult_t_159x, m_details) == 0 ); +C_ASSERT( sizeof(u32_SteamUGCRequestUGCDetailsResult_t_159x().m_details) >= 9772 ); +C_ASSERT( offsetof(u32_SteamUGCRequestUGCDetailsResult_t_159x, m_bCachedData) == 9772 ); +C_ASSERT( sizeof(u32_SteamUGCRequestUGCDetailsResult_t_159x().m_bCachedData) >= 1 ); C_ASSERT( sizeof(w64_SteamUGCRequestUGCDetailsResult_t_128x) >= 9784 ); C_ASSERT( offsetof(w64_SteamUGCRequestUGCDetailsResult_t_128x, m_details) == 0 ); @@ -27436,9 +27618,9 @@ C_ASSERT( offsetof(u32_SteamUGCRequestUGCDetailsResult_t_126, m_details) == 0 ); C_ASSERT( sizeof(u32_SteamUGCRequestUGCDetailsResult_t_126().m_details) >= 9760 ); #if defined(__x86_64__) || defined(__aarch64__) -w64_SteamUGCRequestUGCDetailsResult_t_160::operator u64_SteamUGCRequestUGCDetailsResult_t_160() const +w64_SteamUGCRequestUGCDetailsResult_t_159x::operator u64_SteamUGCRequestUGCDetailsResult_t_159x() const { - u64_SteamUGCRequestUGCDetailsResult_t_160 ret; + u64_SteamUGCRequestUGCDetailsResult_t_159x ret; ret.m_details = this->m_details; ret.m_bCachedData = this->m_bCachedData; return ret; @@ -27446,9 +27628,9 @@ w64_SteamUGCRequestUGCDetailsResult_t_160::operator u64_SteamUGCRequestUGCDetail #endif #if defined(__x86_64__) || defined(__aarch64__) -u64_SteamUGCRequestUGCDetailsResult_t_160::operator w64_SteamUGCRequestUGCDetailsResult_t_160() const +u64_SteamUGCRequestUGCDetailsResult_t_159x::operator w64_SteamUGCRequestUGCDetailsResult_t_159x() const { - w64_SteamUGCRequestUGCDetailsResult_t_160 ret; + w64_SteamUGCRequestUGCDetailsResult_t_159x ret; ret.m_details = this->m_details; ret.m_bCachedData = this->m_bCachedData; return ret; @@ -27456,9 +27638,9 @@ u64_SteamUGCRequestUGCDetailsResult_t_160::operator w64_SteamUGCRequestUGCDetail #endif #ifdef __i386__ -w32_SteamUGCRequestUGCDetailsResult_t_160::operator u32_SteamUGCRequestUGCDetailsResult_t_160() const +w32_SteamUGCRequestUGCDetailsResult_t_159x::operator u32_SteamUGCRequestUGCDetailsResult_t_159x() const { - u32_SteamUGCRequestUGCDetailsResult_t_160 ret; + u32_SteamUGCRequestUGCDetailsResult_t_159x ret; ret.m_details = this->m_details; ret.m_bCachedData = this->m_bCachedData; return ret; @@ -27466,9 +27648,9 @@ w32_SteamUGCRequestUGCDetailsResult_t_160::operator u32_SteamUGCRequestUGCDetail #endif #ifdef __i386__ -u32_SteamUGCRequestUGCDetailsResult_t_160::operator w32_SteamUGCRequestUGCDetailsResult_t_160() const +u32_SteamUGCRequestUGCDetailsResult_t_159x::operator w32_SteamUGCRequestUGCDetailsResult_t_159x() const { - w32_SteamUGCRequestUGCDetailsResult_t_160 ret; + w32_SteamUGCRequestUGCDetailsResult_t_159x ret; ret.m_details = this->m_details; ret.m_bCachedData = this->m_bCachedData; return ret; @@ -27476,9 +27658,9 @@ u32_SteamUGCRequestUGCDetailsResult_t_160::operator w32_SteamUGCRequestUGCDetail #endif #if defined(__x86_64__) || defined(__aarch64__) -w32_SteamUGCRequestUGCDetailsResult_t_160::operator u64_SteamUGCRequestUGCDetailsResult_t_160() const +w32_SteamUGCRequestUGCDetailsResult_t_159x::operator u64_SteamUGCRequestUGCDetailsResult_t_159x() const { - u64_SteamUGCRequestUGCDetailsResult_t_160 ret; + u64_SteamUGCRequestUGCDetailsResult_t_159x ret; ret.m_details = this->m_details; ret.m_bCachedData = this->m_bCachedData; return ret; @@ -27486,9 +27668,9 @@ w32_SteamUGCRequestUGCDetailsResult_t_160::operator u64_SteamUGCRequestUGCDetail #endif #if defined(__x86_64__) || defined(__aarch64__) -u64_SteamUGCRequestUGCDetailsResult_t_160::operator w32_SteamUGCRequestUGCDetailsResult_t_160() const +u64_SteamUGCRequestUGCDetailsResult_t_159x::operator w32_SteamUGCRequestUGCDetailsResult_t_159x() const { - w32_SteamUGCRequestUGCDetailsResult_t_160 ret; + w32_SteamUGCRequestUGCDetailsResult_t_159x ret; ret.m_details = this->m_details; ret.m_bCachedData = this->m_bCachedData; return ret; @@ -27840,12 +28022,12 @@ const struct callback_def callback_data[] = /*{ 2103, 122, 24, 20 },*/ { 2803, 162, 40, 32, []( void *d, const void *s ){ *(w32_SteamInputConfigurationLoaded_t *)d = *(const u32_SteamInputConfigurationLoaded_t *)s; } }, { 2804, 162, 32, 24, []( void *d, const void *s ){ *(w32_SteamInputGamepadSlotChange_t *)d = *(const u32_SteamInputGamepadSlotChange_t *)s; } }, - { 3402, 162, 9792, 9776, []( void *d, const void *s ){ *(w32_SteamUGCRequestUGCDetailsResult_t_160 *)d = *(const u32_SteamUGCRequestUGCDetailsResult_t_160 *)s; } }, + { 3402, 162, 9792, 9776, []( void *d, const void *s ){ *(w32_SteamUGCRequestUGCDetailsResult_t_159x *)d = *(const u32_SteamUGCRequestUGCDetailsResult_t_159x *)s; } }, { 3402, 159, 9784, 9768, []( void *d, const void *s ){ *(w32_SteamUGCRequestUGCDetailsResult_t_128x *)d = *(const u32_SteamUGCRequestUGCDetailsResult_t_128x *)s; } }, { 3402, 129, 9776, 9764, []( void *d, const void *s ){ *(w32_SteamUGCRequestUGCDetailsResult_t_129 *)d = *(const u32_SteamUGCRequestUGCDetailsResult_t_129 *)s; } }, { 3402, 128, 9768, 9760, []( void *d, const void *s ){ *(w32_SteamUGCRequestUGCDetailsResult_t_126 *)d = *(const u32_SteamUGCRequestUGCDetailsResult_t_126 *)s; } }, { 3403, 162, 24, 16, []( void *d, const void *s ){ *(w32_CreateItemResult_t *)d = *(const u32_CreateItemResult_t *)s; } }, - { 3405, 162, 32, 28, []( void *d, const void *s ){ *(w32_ItemInstalled_t_160 *)d = *(const u32_ItemInstalled_t_160 *)s; } }, + { 3405, 162, 32, 28, []( void *d, const void *s ){ *(w32_ItemInstalled_t_159x *)d = *(const u32_ItemInstalled_t_159x *)s; } }, { 3405, 159, 16, 12, []( void *d, const void *s ){ *(w32_ItemInstalled_t_130 *)d = *(const u32_ItemInstalled_t_130 *)s; } }, { 3406, 162, 24, 16, []( void *d, const void *s ){ *(w32_DownloadItemResult_t *)d = *(const u32_DownloadItemResult_t *)s; } }, { 3412, 162, 24, 20, []( void *d, const void *s ){ *(w32_AddUGCDependencyResult_t *)d = *(const u32_AddUGCDependencyResult_t *)s; } }, @@ -27952,12 +28134,12 @@ const struct callback_def wow64_callback_data[] = { 2103, 122, 24, 24, []( void *d, const void *s ){ *(w32_HTTPRequestDataReceived_t_121x *)d = *(const u64_HTTPRequestDataReceived_t_121x *)s; } }, { 2803, 162, 40, 32, []( void *d, const void *s ){ *(w32_SteamInputConfigurationLoaded_t *)d = *(const u64_SteamInputConfigurationLoaded_t *)s; } }, { 2804, 162, 32, 24, []( void *d, const void *s ){ *(w32_SteamInputGamepadSlotChange_t *)d = *(const u64_SteamInputGamepadSlotChange_t *)s; } }, - { 3402, 162, 9792, 9776, []( void *d, const void *s ){ *(w32_SteamUGCRequestUGCDetailsResult_t_160 *)d = *(const u64_SteamUGCRequestUGCDetailsResult_t_160 *)s; } }, + { 3402, 162, 9792, 9776, []( void *d, const void *s ){ *(w32_SteamUGCRequestUGCDetailsResult_t_159x *)d = *(const u64_SteamUGCRequestUGCDetailsResult_t_159x *)s; } }, { 3402, 159, 9784, 9768, []( void *d, const void *s ){ *(w32_SteamUGCRequestUGCDetailsResult_t_128x *)d = *(const u64_SteamUGCRequestUGCDetailsResult_t_128x *)s; } }, { 3402, 129, 9776, 9764, []( void *d, const void *s ){ *(w32_SteamUGCRequestUGCDetailsResult_t_129 *)d = *(const u64_SteamUGCRequestUGCDetailsResult_t_129 *)s; } }, { 3402, 128, 9768, 9760, []( void *d, const void *s ){ *(w32_SteamUGCRequestUGCDetailsResult_t_126 *)d = *(const u64_SteamUGCRequestUGCDetailsResult_t_126 *)s; } }, { 3403, 162, 24, 16, []( void *d, const void *s ){ *(w32_CreateItemResult_t *)d = *(const u64_CreateItemResult_t *)s; } }, - { 3405, 162, 32, 28, []( void *d, const void *s ){ *(w32_ItemInstalled_t_160 *)d = *(const u64_ItemInstalled_t_160 *)s; } }, + { 3405, 162, 32, 28, []( void *d, const void *s ){ *(w32_ItemInstalled_t_159x *)d = *(const u64_ItemInstalled_t_159x *)s; } }, { 3405, 159, 16, 12, []( void *d, const void *s ){ *(w32_ItemInstalled_t_130 *)d = *(const u64_ItemInstalled_t_130 *)s; } }, { 3406, 162, 24, 16, []( void *d, const void *s ){ *(w32_DownloadItemResult_t *)d = *(const u64_DownloadItemResult_t *)s; } }, { 3412, 162, 24, 20, []( void *d, const void *s ){ *(w32_AddUGCDependencyResult_t *)d = *(const u64_AddUGCDependencyResult_t *)s; } }, @@ -28062,12 +28244,12 @@ const struct callback_def callback_data[] = { 2103, 122, 24, 24, []( void *d, const void *s ){ *(w64_HTTPRequestDataReceived_t_121x *)d = *(const u64_HTTPRequestDataReceived_t_121x *)s; } }, { 2803, 162, 40, 32, []( void *d, const void *s ){ *(w64_SteamInputConfigurationLoaded_t *)d = *(const u64_SteamInputConfigurationLoaded_t *)s; } }, { 2804, 162, 32, 24, []( void *d, const void *s ){ *(w64_SteamInputGamepadSlotChange_t *)d = *(const u64_SteamInputGamepadSlotChange_t *)s; } }, - { 3402, 162, 9792, 9776, []( void *d, const void *s ){ *(w64_SteamUGCRequestUGCDetailsResult_t_160 *)d = *(const u64_SteamUGCRequestUGCDetailsResult_t_160 *)s; } }, + { 3402, 162, 9792, 9776, []( void *d, const void *s ){ *(w64_SteamUGCRequestUGCDetailsResult_t_159x *)d = *(const u64_SteamUGCRequestUGCDetailsResult_t_159x *)s; } }, { 3402, 159, 9784, 9768, []( void *d, const void *s ){ *(w64_SteamUGCRequestUGCDetailsResult_t_128x *)d = *(const u64_SteamUGCRequestUGCDetailsResult_t_128x *)s; } }, { 3402, 129, 9776, 9764, []( void *d, const void *s ){ *(w64_SteamUGCRequestUGCDetailsResult_t_129 *)d = *(const u64_SteamUGCRequestUGCDetailsResult_t_129 *)s; } }, { 3402, 128, 9768, 9760, []( void *d, const void *s ){ *(w64_SteamUGCRequestUGCDetailsResult_t_126 *)d = *(const u64_SteamUGCRequestUGCDetailsResult_t_126 *)s; } }, { 3403, 162, 24, 16, []( void *d, const void *s ){ *(w64_CreateItemResult_t *)d = *(const u64_CreateItemResult_t *)s; } }, - { 3405, 162, 32, 28, []( void *d, const void *s ){ *(w64_ItemInstalled_t_160 *)d = *(const u64_ItemInstalled_t_160 *)s; } }, + { 3405, 162, 32, 28, []( void *d, const void *s ){ *(w64_ItemInstalled_t_159x *)d = *(const u64_ItemInstalled_t_159x *)s; } }, { 3405, 159, 16, 12, []( void *d, const void *s ){ *(w64_ItemInstalled_t_130 *)d = *(const u64_ItemInstalled_t_130 *)s; } }, { 3406, 162, 24, 16, []( void *d, const void *s ){ *(w64_DownloadItemResult_t *)d = *(const u64_DownloadItemResult_t *)s; } }, { 3412, 162, 24, 20, []( void *d, const void *s ){ *(w64_AddUGCDependencyResult_t *)d = *(const u64_AddUGCDependencyResult_t *)s; } }, diff --git a/lsteamclient/unixlib_generated.h b/lsteamclient/unixlib_generated.h index 7356651600..0e4e2f464d 100644 --- a/lsteamclient/unixlib_generated.h +++ b/lsteamclient/unixlib_generated.h @@ -36159,6 +36159,1534 @@ struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION018_GetUserContentDescriptorPre uint32_t cMaxEntries; }; +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUserUGCRequest_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint32_t unAccountID; + uint32_t eListType; + uint32_t eMatchingUGCType; + uint32_t eSortOrder; + uint32_t nCreatorAppID; + uint32_t nConsumerAppID; + uint32_t unPage; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUserUGCRequest_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint32_t unAccountID; + uint32_t eListType; + uint32_t eMatchingUGCType; + uint32_t eSortOrder; + uint32_t nCreatorAppID; + uint32_t nConsumerAppID; + uint32_t unPage; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint32_t eQueryType; + uint32_t eMatchingeMatchingUGCTypeFileType; + uint32_t nCreatorAppID; + uint32_t nConsumerAppID; + uint32_t unPage; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint32_t eQueryType; + uint32_t eMatchingeMatchingUGCTypeFileType; + uint32_t nCreatorAppID; + uint32_t nConsumerAppID; + uint32_t unPage; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_2_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint32_t eQueryType; + uint32_t eMatchingeMatchingUGCTypeFileType; + uint32_t nCreatorAppID; + uint32_t nConsumerAppID; + const char *pchCursor; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_2_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint32_t eQueryType; + uint32_t eMatchingeMatchingUGCTypeFileType; + uint32_t nCreatorAppID; + uint32_t nConsumerAppID; + W32_PTR(const char *pchCursor, pchCursor, const char *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUGCDetailsRequest_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t *pvecPublishedFileID; + uint32_t unNumPublishedFileIDs; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUGCDetailsRequest_params +{ + struct u_iface u_iface; + uint64_t _ret; + W32_PTR(uint64_t *pvecPublishedFileID, pvecPublishedFileID, uint64_t *); + uint32_t unNumPublishedFileIDs; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SendQueryUGCRequest_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t handle; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SendQueryUGCRequest_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t handle; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCResult_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + w_SteamUGCDetails_t_159x *pDetails; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCResult_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + W32_PTR(w32_SteamUGCDetails_t_159x *pDetails, pDetails, w32_SteamUGCDetails_t_159x *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumTags_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t handle; + uint32_t index; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumTags_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t handle; + uint32_t index; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTag_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + uint32_t indexTag; + char *pchValue; + uint32_t cchValueSize; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTag_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + uint32_t indexTag; + W32_PTR(char *pchValue, pchValue, char *); + uint32_t cchValueSize; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTagDisplayName_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + uint32_t indexTag; + char *pchValue; + uint32_t cchValueSize; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTagDisplayName_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + uint32_t indexTag; + W32_PTR(char *pchValue, pchValue, char *); + uint32_t cchValueSize; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCPreviewURL_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + char *pchURL; + uint32_t cchURLSize; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCPreviewURL_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + W32_PTR(char *pchURL, pchURL, char *); + uint32_t cchURLSize; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCMetadata_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + char *pchMetadata; + uint32_t cchMetadatasize; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCMetadata_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + W32_PTR(char *pchMetadata, pchMetadata, char *); + uint32_t cchMetadatasize; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCChildren_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + uint64_t *pvecPublishedFileID; + uint32_t cMaxEntries; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCChildren_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + W32_PTR(uint64_t *pvecPublishedFileID, pvecPublishedFileID, uint64_t *); + uint32_t cMaxEntries; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCStatistic_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + uint32_t eStatType; + uint64_t *pStatValue; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCStatistic_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + uint32_t eStatType; + W32_PTR(uint64_t *pStatValue, pStatValue, uint64_t *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumAdditionalPreviews_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t handle; + uint32_t index; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumAdditionalPreviews_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t handle; + uint32_t index; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCAdditionalPreview_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + uint32_t previewIndex; + char *pchURLOrVideoID; + uint32_t cchURLSize; + char *pchOriginalFileName; + uint32_t cchOriginalFileNameSize; + uint32_t *pPreviewType; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCAdditionalPreview_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + uint32_t previewIndex; + W32_PTR(char *pchURLOrVideoID, pchURLOrVideoID, char *); + uint32_t cchURLSize; + W32_PTR(char *pchOriginalFileName, pchOriginalFileName, char *); + uint32_t cchOriginalFileNameSize; + W32_PTR(uint32_t *pPreviewType, pPreviewType, uint32_t *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumKeyValueTags_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t handle; + uint32_t index; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumKeyValueTags_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t handle; + uint32_t index; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + uint32_t keyValueTagIndex; + char *pchKey; + uint32_t cchKeySize; + char *pchValue; + uint32_t cchValueSize; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + uint32_t keyValueTagIndex; + W32_PTR(char *pchKey, pchKey, char *); + uint32_t cchKeySize; + W32_PTR(char *pchValue, pchValue, char *); + uint32_t cchValueSize; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_2_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + const char *pchKey; + char *pchValue; + uint32_t cchValueSize; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_2_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + W32_PTR(const char *pchKey, pchKey, const char *); + W32_PTR(char *pchValue, pchValue, char *); + uint32_t cchValueSize; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCContentDescriptors_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t handle; + uint32_t index; + uint32_t *pvecDescriptors; + uint32_t cMaxEntries; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCContentDescriptors_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t handle; + uint32_t index; + W32_PTR(uint32_t *pvecDescriptors, pvecDescriptors, uint32_t *); + uint32_t cMaxEntries; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ReleaseQueryUGCRequest_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ReleaseQueryUGCRequest_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTag_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + const char *pTagName; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTag_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + W32_PTR(const char *pTagName, pTagName, const char *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTagGroup_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + const w_SteamParamStringArray_t *pTagGroups; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTagGroup_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + W32_PTR(const w32_SteamParamStringArray_t *pTagGroups, pTagGroups, const w32_SteamParamStringArray_t *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddExcludedTag_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + const char *pTagName; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddExcludedTag_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + W32_PTR(const char *pTagName, pTagName, const char *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnOnlyIDs_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + int8_t bReturnOnlyIDs; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnOnlyIDs_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + int8_t bReturnOnlyIDs; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnKeyValueTags_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + int8_t bReturnKeyValueTags; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnKeyValueTags_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + int8_t bReturnKeyValueTags; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnLongDescription_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + int8_t bReturnLongDescription; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnLongDescription_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + int8_t bReturnLongDescription; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnMetadata_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + int8_t bReturnMetadata; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnMetadata_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + int8_t bReturnMetadata; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnChildren_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + int8_t bReturnChildren; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnChildren_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + int8_t bReturnChildren; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnAdditionalPreviews_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + int8_t bReturnAdditionalPreviews; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnAdditionalPreviews_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + int8_t bReturnAdditionalPreviews; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnTotalOnly_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + int8_t bReturnTotalOnly; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnTotalOnly_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + int8_t bReturnTotalOnly; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnPlaytimeStats_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t unDays; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnPlaytimeStats_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t unDays; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetLanguage_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + const char *pchLanguage; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetLanguage_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + W32_PTR(const char *pchLanguage, pchLanguage, const char *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowCachedResponse_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t unMaxAgeSeconds; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowCachedResponse_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t unMaxAgeSeconds; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAdminQuery_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + int8_t bAdminQuery; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAdminQuery_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + int8_t bAdminQuery; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetCloudFileNameFilter_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + const char *pMatchCloudFileName; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetCloudFileNameFilter_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + W32_PTR(const char *pMatchCloudFileName, pMatchCloudFileName, const char *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetMatchAnyTag_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + int8_t bMatchAnyTag; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetMatchAnyTag_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + int8_t bMatchAnyTag; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetSearchText_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + const char *pSearchText; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetSearchText_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + W32_PTR(const char *pSearchText, pSearchText, const char *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetRankedByTrendDays_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t unDays; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetRankedByTrendDays_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t unDays; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeCreatedDateRange_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t rtStart; + uint32_t rtEnd; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeCreatedDateRange_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t rtStart; + uint32_t rtEnd; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeUpdatedDateRange_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t rtStart; + uint32_t rtEnd; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeUpdatedDateRange_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t rtStart; + uint32_t rtEnd; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredKeyValueTag_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + const char *pKey; + const char *pValue; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredKeyValueTag_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + W32_PTR(const char *pKey, pKey, const char *); + W32_PTR(const char *pValue, pValue, const char *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RequestUGCDetails_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t nPublishedFileID; + uint32_t unMaxAgeSeconds; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RequestUGCDetails_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t nPublishedFileID; + uint32_t unMaxAgeSeconds; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateItem_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint32_t nConsumerAppId; + uint32_t eFileType; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateItem_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint32_t nConsumerAppId; + uint32_t eFileType; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartItemUpdate_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint32_t nConsumerAppId; + uint64_t nPublishedFileID; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartItemUpdate_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint32_t nConsumerAppId; + uint64_t nPublishedFileID; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTitle_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + const char *pchTitle; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTitle_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + W32_PTR(const char *pchTitle, pchTitle, const char *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemDescription_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + const char *pchDescription; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemDescription_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + W32_PTR(const char *pchDescription, pchDescription, const char *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemUpdateLanguage_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + const char *pchLanguage; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemUpdateLanguage_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + W32_PTR(const char *pchLanguage, pchLanguage, const char *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemMetadata_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + const char *pchMetaData; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemMetadata_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + W32_PTR(const char *pchMetaData, pchMetaData, const char *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemVisibility_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t eVisibility; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemVisibility_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t eVisibility; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTags_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t updateHandle; + const w_SteamParamStringArray_t *pTags; + int8_t bAllowAdminTags; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTags_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t updateHandle; + W32_PTR(const w32_SteamParamStringArray_t *pTags, pTags, const w32_SteamParamStringArray_t *); + int8_t bAllowAdminTags; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemContent_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + const char *pszContentFolder; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemContent_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + W32_PTR(const char *pszContentFolder, pszContentFolder, const char *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemPreview_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + const char *pszPreviewFile; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemPreview_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + W32_PTR(const char *pszPreviewFile, pszPreviewFile, const char *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowLegacyUpload_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + int8_t bAllowLegacyUpload; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowLegacyUpload_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + int8_t bAllowLegacyUpload; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAllItemKeyValueTags_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAllItemKeyValueTags_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemKeyValueTags_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + const char *pchKey; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemKeyValueTags_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + W32_PTR(const char *pchKey, pchKey, const char *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemKeyValueTag_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + const char *pchKey; + const char *pchValue; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemKeyValueTag_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + W32_PTR(const char *pchKey, pchKey, const char *); + W32_PTR(const char *pchValue, pchValue, const char *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewFile_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + const char *pszPreviewFile; + uint32_t type; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewFile_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + W32_PTR(const char *pszPreviewFile, pszPreviewFile, const char *); + uint32_t type; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewVideo_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + const char *pszVideoID; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewVideo_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + W32_PTR(const char *pszVideoID, pszVideoID, const char *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewFile_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + const char *pszPreviewFile; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewFile_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + W32_PTR(const char *pszPreviewFile, pszPreviewFile, const char *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewVideo_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + const char *pszVideoID; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewVideo_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; + W32_PTR(const char *pszVideoID, pszVideoID, const char *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemPreview_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemPreview_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t index; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddContentDescriptor_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t descid; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddContentDescriptor_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t descid; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveContentDescriptor_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t descid; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveContentDescriptor_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t handle; + uint32_t descid; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubmitItemUpdate_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t handle; + const char *pchChangeNote; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubmitItemUpdate_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t handle; + W32_PTR(const char *pchChangeNote, pchChangeNote, const char *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemUpdateProgress_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t handle; + uint64_t *punBytesProcessed; + uint64_t *punBytesTotal; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemUpdateProgress_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t handle; + W32_PTR(uint64_t *punBytesProcessed, punBytesProcessed, uint64_t *); + W32_PTR(uint64_t *punBytesTotal, punBytesTotal, uint64_t *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetUserItemVote_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t nPublishedFileID; + int8_t bVoteUp; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetUserItemVote_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t nPublishedFileID; + int8_t bVoteUp; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserItemVote_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t nPublishedFileID; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserItemVote_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t nPublishedFileID; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemToFavorites_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint32_t nAppId; + uint64_t nPublishedFileID; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemToFavorites_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint32_t nAppId; + uint64_t nPublishedFileID; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemFromFavorites_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint32_t nAppId; + uint64_t nPublishedFileID; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemFromFavorites_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint32_t nAppId; + uint64_t nPublishedFileID; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubscribeItem_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t nPublishedFileID; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubscribeItem_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t nPublishedFileID; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UnsubscribeItem_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t nPublishedFileID; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UnsubscribeItem_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t nPublishedFileID; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetNumSubscribedItems_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetNumSubscribedItems_params +{ + struct u_iface u_iface; + uint32_t _ret; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetSubscribedItems_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t *pvecPublishedFileID; + uint32_t cMaxEntries; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetSubscribedItems_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(uint64_t *pvecPublishedFileID, pvecPublishedFileID, uint64_t *); + uint32_t cMaxEntries; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemState_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t nPublishedFileID; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemState_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint64_t nPublishedFileID; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemInstallInfo_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t nPublishedFileID; + uint64_t *punSizeOnDisk; + char *pchFolder; + uint32_t cchFolderSize; + uint32_t *punTimeStamp; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemInstallInfo_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t nPublishedFileID; + W32_PTR(uint64_t *punSizeOnDisk, punSizeOnDisk, uint64_t *); + W32_PTR(char *pchFolder, pchFolder, char *); + uint32_t cchFolderSize; + W32_PTR(uint32_t *punTimeStamp, punTimeStamp, uint32_t *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemDownloadInfo_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t nPublishedFileID; + uint64_t *punBytesDownloaded; + uint64_t *punBytesTotal; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemDownloadInfo_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t nPublishedFileID; + W32_PTR(uint64_t *punBytesDownloaded, punBytesDownloaded, uint64_t *); + W32_PTR(uint64_t *punBytesTotal, punBytesTotal, uint64_t *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DownloadItem_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t nPublishedFileID; + int8_t bHighPriority; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DownloadItem_params +{ + struct u_iface u_iface; + int8_t _ret; + uint64_t nPublishedFileID; + int8_t bHighPriority; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_BInitWorkshopForGameServer_params +{ + struct u_iface u_iface; + int8_t _ret; + uint32_t unWorkshopDepotID; + const char *pszFolder; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_BInitWorkshopForGameServer_params +{ + struct u_iface u_iface; + int8_t _ret; + uint32_t unWorkshopDepotID; + W32_PTR(const char *pszFolder, pszFolder, const char *); +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SuspendDownloads_params +{ + struct u_iface u_iface; + int8_t bSuspend; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SuspendDownloads_params +{ + struct u_iface u_iface; + int8_t bSuspend; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartPlaytimeTracking_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t *pvecPublishedFileID; + uint32_t unNumPublishedFileIDs; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartPlaytimeTracking_params +{ + struct u_iface u_iface; + uint64_t _ret; + W32_PTR(uint64_t *pvecPublishedFileID, pvecPublishedFileID, uint64_t *); + uint32_t unNumPublishedFileIDs; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTracking_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t *pvecPublishedFileID; + uint32_t unNumPublishedFileIDs; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTracking_params +{ + struct u_iface u_iface; + uint64_t _ret; + W32_PTR(uint64_t *pvecPublishedFileID, pvecPublishedFileID, uint64_t *); + uint32_t unNumPublishedFileIDs; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTrackingForAllItems_params +{ + struct u_iface u_iface; + uint64_t _ret; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTrackingForAllItems_params +{ + struct u_iface u_iface; + uint64_t _ret; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddDependency_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t nParentPublishedFileID; + uint64_t nChildPublishedFileID; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddDependency_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t nParentPublishedFileID; + uint64_t nChildPublishedFileID; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveDependency_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t nParentPublishedFileID; + uint64_t nChildPublishedFileID; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveDependency_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t nParentPublishedFileID; + uint64_t nChildPublishedFileID; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddAppDependency_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t nPublishedFileID; + uint32_t nAppID; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddAppDependency_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t nPublishedFileID; + uint32_t nAppID; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAppDependency_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t nPublishedFileID; + uint32_t nAppID; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAppDependency_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t nPublishedFileID; + uint32_t nAppID; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetAppDependencies_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t nPublishedFileID; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetAppDependencies_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t nPublishedFileID; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DeleteItem_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t nPublishedFileID; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DeleteItem_params +{ + struct u_iface u_iface; + uint64_t _ret; + uint64_t nPublishedFileID; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ShowWorkshopEULA_params +{ + struct u_iface u_iface; + int8_t _ret; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ShowWorkshopEULA_params +{ + struct u_iface u_iface; + int8_t _ret; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetWorkshopEULAStatus_params +{ + struct u_iface u_iface; + uint64_t _ret; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetWorkshopEULAStatus_params +{ + struct u_iface u_iface; + uint64_t _ret; +}; + +struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserContentDescriptorPreferences_params +{ + struct u_iface u_iface; + uint32_t _ret; + uint32_t *pvecDescriptors; + uint32_t cMaxEntries; +}; + +struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserContentDescriptorPreferences_params +{ + struct u_iface u_iface; + uint32_t _ret; + W32_PTR(uint32_t *pvecDescriptors, pvecDescriptors, uint32_t *); + uint32_t cMaxEntries; +}; + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION020_CreateQueryUserUGCRequest_params { struct u_iface u_iface; @@ -36265,7 +37793,7 @@ struct ISteamUGC_STEAMUGC_INTERFACE_VERSION020_GetQueryUGCResult_params int8_t _ret; uint64_t handle; uint32_t index; - w_SteamUGCDetails_t_160 *pDetails; + w_SteamUGCDetails_t_159x *pDetails; }; struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION020_GetQueryUGCResult_params @@ -36274,7 +37802,7 @@ struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION020_GetQueryUGCResult_params int8_t _ret; uint64_t handle; uint32_t index; - W32_PTR(w32_SteamUGCDetails_t_160 *pDetails, pDetails, w32_SteamUGCDetails_t_160 *); + W32_PTR(w32_SteamUGCDetails_t_159x *pDetails, pDetails, w32_SteamUGCDetails_t_159x *); }; struct ISteamUGC_STEAMUGC_INTERFACE_VERSION020_GetQueryUGCNumTags_params @@ -37851,7 +39379,7 @@ struct ISteamUGC_STEAMUGC_INTERFACE_VERSION021_GetQueryUGCResult_params int8_t _ret; uint64_t handle; uint32_t index; - w_SteamUGCDetails_t_160 *pDetails; + w_SteamUGCDetails_t_159x *pDetails; }; struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION021_GetQueryUGCResult_params @@ -37860,7 +39388,7 @@ struct wow64_ISteamUGC_STEAMUGC_INTERFACE_VERSION021_GetQueryUGCResult_params int8_t _ret; uint64_t handle; uint32_t index; - W32_PTR(w32_SteamUGCDetails_t_160 *pDetails, pDetails, w32_SteamUGCDetails_t_160 *); + W32_PTR(w32_SteamUGCDetails_t_159x *pDetails, pDetails, w32_SteamUGCDetails_t_159x *); }; struct ISteamUGC_STEAMUGC_INTERFACE_VERSION021_GetQueryUGCNumTags_params @@ -99806,6 +101334,97 @@ enum unix_funcs unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION018_ShowWorkshopEULA, unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION018_GetWorkshopEULAStatus, unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION018_GetUserContentDescriptorPreferences, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUserUGCRequest, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_2, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUGCDetailsRequest, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SendQueryUGCRequest, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCResult, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumTags, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTag, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTagDisplayName, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCPreviewURL, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCMetadata, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCChildren, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCStatistic, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumAdditionalPreviews, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCAdditionalPreview, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumKeyValueTags, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_2, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCContentDescriptors, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ReleaseQueryUGCRequest, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTag, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTagGroup, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddExcludedTag, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnOnlyIDs, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnKeyValueTags, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnLongDescription, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnMetadata, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnChildren, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnAdditionalPreviews, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnTotalOnly, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnPlaytimeStats, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetLanguage, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowCachedResponse, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAdminQuery, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetCloudFileNameFilter, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetMatchAnyTag, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetSearchText, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetRankedByTrendDays, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeCreatedDateRange, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeUpdatedDateRange, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredKeyValueTag, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RequestUGCDetails, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateItem, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartItemUpdate, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTitle, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemDescription, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemUpdateLanguage, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemMetadata, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemVisibility, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTags, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemContent, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemPreview, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowLegacyUpload, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAllItemKeyValueTags, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemKeyValueTags, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemKeyValueTag, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewFile, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewVideo, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewFile, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewVideo, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemPreview, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddContentDescriptor, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveContentDescriptor, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubmitItemUpdate, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemUpdateProgress, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetUserItemVote, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserItemVote, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemToFavorites, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemFromFavorites, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubscribeItem, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UnsubscribeItem, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetNumSubscribedItems, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetSubscribedItems, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemState, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemInstallInfo, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemDownloadInfo, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DownloadItem, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_BInitWorkshopForGameServer, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SuspendDownloads, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartPlaytimeTracking, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTracking, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTrackingForAllItems, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddDependency, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveDependency, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddAppDependency, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAppDependency, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetAppDependencies, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DeleteItem, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ShowWorkshopEULA, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetWorkshopEULAStatus, + unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserContentDescriptorPreferences, unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION020_CreateQueryUserUGCRequest, unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION020_CreateQueryAllUGCRequest, unix_ISteamUGC_STEAMUGC_INTERFACE_VERSION020_CreateQueryAllUGCRequest_2, diff --git a/lsteamclient/winISteamUGC.c b/lsteamclient/winISteamUGC.c index ca58f07d9f..9456a3375c 100644 --- a/lsteamclient/winISteamUGC.c +++ b/lsteamclient/winISteamUGC.c @@ -16755,6 +16755,1450 @@ struct w_iface *create_winISteamUGC_STEAMUGC_INTERFACE_VERSION018( struct u_ifac return r; } +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUserUGCRequest, 32) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest, 24) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_2, 24) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUGCDetailsRequest, 12) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SendQueryUGCRequest, 12) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCResult, 20) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumTags, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTag, 28) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTagDisplayName, 28) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCPreviewURL, 24) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCMetadata, 24) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCChildren, 24) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCStatistic, 24) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumAdditionalPreviews, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCAdditionalPreview, 40) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumKeyValueTags, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag, 36) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_2, 28) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCContentDescriptors, 24) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_ReleaseQueryUGCRequest, 12) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTag, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTagGroup, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddExcludedTag, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnOnlyIDs, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnKeyValueTags, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnLongDescription, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnMetadata, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnChildren, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnAdditionalPreviews, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnTotalOnly, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnPlaytimeStats, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetLanguage, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowCachedResponse, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAdminQuery, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetCloudFileNameFilter, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetMatchAnyTag, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetSearchText, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetRankedByTrendDays, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeCreatedDateRange, 20) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeUpdatedDateRange, 20) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredKeyValueTag, 20) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RequestUGCDetails, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateItem, 12) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartItemUpdate, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTitle, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemDescription, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemUpdateLanguage, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemMetadata, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemVisibility, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTags, 20) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemContent, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemPreview, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowLegacyUpload, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAllItemKeyValueTags, 12) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemKeyValueTags, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemKeyValueTag, 20) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewFile, 20) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewVideo, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewFile, 20) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewVideo, 20) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemPreview, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddContentDescriptor, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveContentDescriptor, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubmitItemUpdate, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemUpdateProgress, 20) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetUserItemVote, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserItemVote, 12) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemToFavorites, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemFromFavorites, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubscribeItem, 12) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_UnsubscribeItem, 12) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetNumSubscribedItems, 4) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetSubscribedItems, 12) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemState, 12) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemInstallInfo, 28) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemDownloadInfo, 20) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_DownloadItem, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_BInitWorkshopForGameServer, 12) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SuspendDownloads, 8) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartPlaytimeTracking, 12) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTracking, 12) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTrackingForAllItems, 4) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddDependency, 20) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveDependency, 20) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddAppDependency, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAppDependency, 16) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetAppDependencies, 12) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_DeleteItem, 12) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_ShowWorkshopEULA, 4) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetWorkshopEULAStatus, 4) +DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserContentDescriptorPreferences, 12) + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUserUGCRequest(struct w_iface *_this, uint32_t unAccountID, uint32_t eListType, uint32_t eMatchingUGCType, uint32_t eSortOrder, uint32_t nCreatorAppID, uint32_t nConsumerAppID, uint32_t unPage) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUserUGCRequest_params params = + { + .u_iface = _this->u_iface, + .unAccountID = unAccountID, + .eListType = eListType, + .eMatchingUGCType = eMatchingUGCType, + .eSortOrder = eSortOrder, + .nCreatorAppID = nCreatorAppID, + .nConsumerAppID = nConsumerAppID, + .unPage = unPage, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUserUGCRequest, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest(struct w_iface *_this, uint32_t eQueryType, uint32_t eMatchingeMatchingUGCTypeFileType, uint32_t nCreatorAppID, uint32_t nConsumerAppID, uint32_t unPage) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_params params = + { + .u_iface = _this->u_iface, + .eQueryType = eQueryType, + .eMatchingeMatchingUGCTypeFileType = eMatchingeMatchingUGCTypeFileType, + .nCreatorAppID = nCreatorAppID, + .nConsumerAppID = nConsumerAppID, + .unPage = unPage, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_2(struct w_iface *_this, uint32_t eQueryType, uint32_t eMatchingeMatchingUGCTypeFileType, uint32_t nCreatorAppID, uint32_t nConsumerAppID, const char *pchCursor) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_2_params params = + { + .u_iface = _this->u_iface, + .eQueryType = eQueryType, + .eMatchingeMatchingUGCTypeFileType = eMatchingeMatchingUGCTypeFileType, + .nCreatorAppID = nCreatorAppID, + .nConsumerAppID = nConsumerAppID, + .pchCursor = pchCursor, + }; + TRACE("%p\n", _this); + IsBadStringPtrA(pchCursor, -1); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_2, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUGCDetailsRequest(struct w_iface *_this, uint64_t *pvecPublishedFileID, uint32_t unNumPublishedFileIDs) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUGCDetailsRequest_params params = + { + .u_iface = _this->u_iface, + .pvecPublishedFileID = pvecPublishedFileID, + .unNumPublishedFileIDs = unNumPublishedFileIDs, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUGCDetailsRequest, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SendQueryUGCRequest(struct w_iface *_this, uint64_t handle) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SendQueryUGCRequest_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SendQueryUGCRequest, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCResult(struct w_iface *_this, uint64_t handle, uint32_t index, w_SteamUGCDetails_t_159x *pDetails) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCResult_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .index = index, + .pDetails = pDetails, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCResult, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumTags(struct w_iface *_this, uint64_t handle, uint32_t index) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumTags_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .index = index, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumTags, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTag(struct w_iface *_this, uint64_t handle, uint32_t index, uint32_t indexTag, char *pchValue, uint32_t cchValueSize) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTag_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .index = index, + .indexTag = indexTag, + .pchValue = pchValue, + .cchValueSize = cchValueSize, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTag, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTagDisplayName(struct w_iface *_this, uint64_t handle, uint32_t index, uint32_t indexTag, char *pchValue, uint32_t cchValueSize) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTagDisplayName_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .index = index, + .indexTag = indexTag, + .pchValue = pchValue, + .cchValueSize = cchValueSize, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTagDisplayName, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCPreviewURL(struct w_iface *_this, uint64_t handle, uint32_t index, char *pchURL, uint32_t cchURLSize) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCPreviewURL_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .index = index, + .pchURL = pchURL, + .cchURLSize = cchURLSize, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCPreviewURL, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCMetadata(struct w_iface *_this, uint64_t handle, uint32_t index, char *pchMetadata, uint32_t cchMetadatasize) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCMetadata_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .index = index, + .pchMetadata = pchMetadata, + .cchMetadatasize = cchMetadatasize, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCMetadata, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCChildren(struct w_iface *_this, uint64_t handle, uint32_t index, uint64_t *pvecPublishedFileID, uint32_t cMaxEntries) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCChildren_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .index = index, + .pvecPublishedFileID = pvecPublishedFileID, + .cMaxEntries = cMaxEntries, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCChildren, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCStatistic(struct w_iface *_this, uint64_t handle, uint32_t index, uint32_t eStatType, uint64_t *pStatValue) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCStatistic_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .index = index, + .eStatType = eStatType, + .pStatValue = pStatValue, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCStatistic, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumAdditionalPreviews(struct w_iface *_this, uint64_t handle, uint32_t index) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumAdditionalPreviews_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .index = index, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumAdditionalPreviews, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCAdditionalPreview(struct w_iface *_this, uint64_t handle, uint32_t index, uint32_t previewIndex, char *pchURLOrVideoID, uint32_t cchURLSize, char *pchOriginalFileName, uint32_t cchOriginalFileNameSize, uint32_t *pPreviewType) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCAdditionalPreview_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .index = index, + .previewIndex = previewIndex, + .pchURLOrVideoID = pchURLOrVideoID, + .cchURLSize = cchURLSize, + .pchOriginalFileName = pchOriginalFileName, + .cchOriginalFileNameSize = cchOriginalFileNameSize, + .pPreviewType = pPreviewType, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCAdditionalPreview, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumKeyValueTags(struct w_iface *_this, uint64_t handle, uint32_t index) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumKeyValueTags_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .index = index, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumKeyValueTags, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag(struct w_iface *_this, uint64_t handle, uint32_t index, uint32_t keyValueTagIndex, char *pchKey, uint32_t cchKeySize, char *pchValue, uint32_t cchValueSize) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .index = index, + .keyValueTagIndex = keyValueTagIndex, + .pchKey = pchKey, + .cchKeySize = cchKeySize, + .pchValue = pchValue, + .cchValueSize = cchValueSize, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_2(struct w_iface *_this, uint64_t handle, uint32_t index, const char *pchKey, char *pchValue, uint32_t cchValueSize) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_2_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .index = index, + .pchKey = pchKey, + .pchValue = pchValue, + .cchValueSize = cchValueSize, + }; + TRACE("%p\n", _this); + IsBadStringPtrA(pchKey, -1); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_2, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCContentDescriptors(struct w_iface *_this, uint64_t handle, uint32_t index, uint32_t *pvecDescriptors, uint32_t cMaxEntries) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCContentDescriptors_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .index = index, + .pvecDescriptors = pvecDescriptors, + .cMaxEntries = cMaxEntries, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCContentDescriptors, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_ReleaseQueryUGCRequest(struct w_iface *_this, uint64_t handle) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ReleaseQueryUGCRequest_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ReleaseQueryUGCRequest, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTag(struct w_iface *_this, uint64_t handle, const char *pTagName) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTag_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .pTagName = pTagName, + }; + TRACE("%p\n", _this); + IsBadStringPtrA(pTagName, -1); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTag, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTagGroup(struct w_iface *_this, uint64_t handle, const w_SteamParamStringArray_t *pTagGroups) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTagGroup_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .pTagGroups = pTagGroups, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTagGroup, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddExcludedTag(struct w_iface *_this, uint64_t handle, const char *pTagName) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddExcludedTag_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .pTagName = pTagName, + }; + TRACE("%p\n", _this); + IsBadStringPtrA(pTagName, -1); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddExcludedTag, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnOnlyIDs(struct w_iface *_this, uint64_t handle, int8_t bReturnOnlyIDs) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnOnlyIDs_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .bReturnOnlyIDs = bReturnOnlyIDs, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnOnlyIDs, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnKeyValueTags(struct w_iface *_this, uint64_t handle, int8_t bReturnKeyValueTags) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnKeyValueTags_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .bReturnKeyValueTags = bReturnKeyValueTags, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnKeyValueTags, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnLongDescription(struct w_iface *_this, uint64_t handle, int8_t bReturnLongDescription) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnLongDescription_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .bReturnLongDescription = bReturnLongDescription, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnLongDescription, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnMetadata(struct w_iface *_this, uint64_t handle, int8_t bReturnMetadata) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnMetadata_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .bReturnMetadata = bReturnMetadata, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnMetadata, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnChildren(struct w_iface *_this, uint64_t handle, int8_t bReturnChildren) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnChildren_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .bReturnChildren = bReturnChildren, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnChildren, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnAdditionalPreviews(struct w_iface *_this, uint64_t handle, int8_t bReturnAdditionalPreviews) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnAdditionalPreviews_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .bReturnAdditionalPreviews = bReturnAdditionalPreviews, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnAdditionalPreviews, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnTotalOnly(struct w_iface *_this, uint64_t handle, int8_t bReturnTotalOnly) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnTotalOnly_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .bReturnTotalOnly = bReturnTotalOnly, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnTotalOnly, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnPlaytimeStats(struct w_iface *_this, uint64_t handle, uint32_t unDays) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnPlaytimeStats_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .unDays = unDays, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnPlaytimeStats, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetLanguage(struct w_iface *_this, uint64_t handle, const char *pchLanguage) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetLanguage_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .pchLanguage = pchLanguage, + }; + TRACE("%p\n", _this); + IsBadStringPtrA(pchLanguage, -1); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetLanguage, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowCachedResponse(struct w_iface *_this, uint64_t handle, uint32_t unMaxAgeSeconds) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowCachedResponse_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .unMaxAgeSeconds = unMaxAgeSeconds, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowCachedResponse, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAdminQuery(struct w_iface *_this, uint64_t handle, int8_t bAdminQuery) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAdminQuery_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .bAdminQuery = bAdminQuery, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAdminQuery, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetCloudFileNameFilter(struct w_iface *_this, uint64_t handle, const char *pMatchCloudFileName) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetCloudFileNameFilter_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .pMatchCloudFileName = pMatchCloudFileName, + }; + TRACE("%p\n", _this); + IsBadStringPtrA(pMatchCloudFileName, -1); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetCloudFileNameFilter, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetMatchAnyTag(struct w_iface *_this, uint64_t handle, int8_t bMatchAnyTag) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetMatchAnyTag_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .bMatchAnyTag = bMatchAnyTag, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetMatchAnyTag, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetSearchText(struct w_iface *_this, uint64_t handle, const char *pSearchText) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetSearchText_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .pSearchText = pSearchText, + }; + TRACE("%p\n", _this); + IsBadStringPtrA(pSearchText, -1); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetSearchText, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetRankedByTrendDays(struct w_iface *_this, uint64_t handle, uint32_t unDays) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetRankedByTrendDays_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .unDays = unDays, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetRankedByTrendDays, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeCreatedDateRange(struct w_iface *_this, uint64_t handle, uint32_t rtStart, uint32_t rtEnd) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeCreatedDateRange_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .rtStart = rtStart, + .rtEnd = rtEnd, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeCreatedDateRange, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeUpdatedDateRange(struct w_iface *_this, uint64_t handle, uint32_t rtStart, uint32_t rtEnd) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeUpdatedDateRange_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .rtStart = rtStart, + .rtEnd = rtEnd, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeUpdatedDateRange, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredKeyValueTag(struct w_iface *_this, uint64_t handle, const char *pKey, const char *pValue) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredKeyValueTag_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .pKey = pKey, + .pValue = pValue, + }; + TRACE("%p\n", _this); + IsBadStringPtrA(pKey, -1); + IsBadStringPtrA(pValue, -1); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredKeyValueTag, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RequestUGCDetails(struct w_iface *_this, uint64_t nPublishedFileID, uint32_t unMaxAgeSeconds) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RequestUGCDetails_params params = + { + .u_iface = _this->u_iface, + .nPublishedFileID = nPublishedFileID, + .unMaxAgeSeconds = unMaxAgeSeconds, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RequestUGCDetails, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateItem(struct w_iface *_this, uint32_t nConsumerAppId, uint32_t eFileType) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateItem_params params = + { + .u_iface = _this->u_iface, + .nConsumerAppId = nConsumerAppId, + .eFileType = eFileType, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateItem, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartItemUpdate(struct w_iface *_this, uint32_t nConsumerAppId, uint64_t nPublishedFileID) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartItemUpdate_params params = + { + .u_iface = _this->u_iface, + .nConsumerAppId = nConsumerAppId, + .nPublishedFileID = nPublishedFileID, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartItemUpdate, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTitle(struct w_iface *_this, uint64_t handle, const char *pchTitle) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTitle_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .pchTitle = pchTitle, + }; + TRACE("%p\n", _this); + IsBadStringPtrA(pchTitle, -1); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTitle, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemDescription(struct w_iface *_this, uint64_t handle, const char *pchDescription) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemDescription_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .pchDescription = pchDescription, + }; + TRACE("%p\n", _this); + IsBadStringPtrA(pchDescription, -1); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemDescription, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemUpdateLanguage(struct w_iface *_this, uint64_t handle, const char *pchLanguage) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemUpdateLanguage_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .pchLanguage = pchLanguage, + }; + TRACE("%p\n", _this); + IsBadStringPtrA(pchLanguage, -1); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemUpdateLanguage, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemMetadata(struct w_iface *_this, uint64_t handle, const char *pchMetaData) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemMetadata_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .pchMetaData = pchMetaData, + }; + TRACE("%p\n", _this); + IsBadStringPtrA(pchMetaData, -1); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemMetadata, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemVisibility(struct w_iface *_this, uint64_t handle, uint32_t eVisibility) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemVisibility_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .eVisibility = eVisibility, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemVisibility, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTags(struct w_iface *_this, uint64_t updateHandle, const w_SteamParamStringArray_t *pTags, int8_t bAllowAdminTags) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTags_params params = + { + .u_iface = _this->u_iface, + .updateHandle = updateHandle, + .pTags = pTags, + .bAllowAdminTags = bAllowAdminTags, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTags, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemContent(struct w_iface *_this, uint64_t handle, const char *pszContentFolder) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemContent_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .pszContentFolder = pszContentFolder, + }; + TRACE("%p\n", _this); + IsBadStringPtrA(pszContentFolder, -1); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemContent, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemPreview(struct w_iface *_this, uint64_t handle, const char *pszPreviewFile) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemPreview_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .pszPreviewFile = pszPreviewFile, + }; + TRACE("%p\n", _this); + IsBadStringPtrA(pszPreviewFile, -1); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemPreview, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowLegacyUpload(struct w_iface *_this, uint64_t handle, int8_t bAllowLegacyUpload) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowLegacyUpload_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .bAllowLegacyUpload = bAllowLegacyUpload, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowLegacyUpload, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAllItemKeyValueTags(struct w_iface *_this, uint64_t handle) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAllItemKeyValueTags_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAllItemKeyValueTags, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemKeyValueTags(struct w_iface *_this, uint64_t handle, const char *pchKey) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemKeyValueTags_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .pchKey = pchKey, + }; + TRACE("%p\n", _this); + IsBadStringPtrA(pchKey, -1); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemKeyValueTags, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemKeyValueTag(struct w_iface *_this, uint64_t handle, const char *pchKey, const char *pchValue) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemKeyValueTag_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .pchKey = pchKey, + .pchValue = pchValue, + }; + TRACE("%p\n", _this); + IsBadStringPtrA(pchKey, -1); + IsBadStringPtrA(pchValue, -1); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemKeyValueTag, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewFile(struct w_iface *_this, uint64_t handle, const char *pszPreviewFile, uint32_t type) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewFile_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .pszPreviewFile = pszPreviewFile, + .type = type, + }; + TRACE("%p\n", _this); + IsBadStringPtrA(pszPreviewFile, -1); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewFile, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewVideo(struct w_iface *_this, uint64_t handle, const char *pszVideoID) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewVideo_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .pszVideoID = pszVideoID, + }; + TRACE("%p\n", _this); + IsBadStringPtrA(pszVideoID, -1); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewVideo, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewFile(struct w_iface *_this, uint64_t handle, uint32_t index, const char *pszPreviewFile) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewFile_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .index = index, + .pszPreviewFile = pszPreviewFile, + }; + TRACE("%p\n", _this); + IsBadStringPtrA(pszPreviewFile, -1); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewFile, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewVideo(struct w_iface *_this, uint64_t handle, uint32_t index, const char *pszVideoID) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewVideo_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .index = index, + .pszVideoID = pszVideoID, + }; + TRACE("%p\n", _this); + IsBadStringPtrA(pszVideoID, -1); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewVideo, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemPreview(struct w_iface *_this, uint64_t handle, uint32_t index) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemPreview_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .index = index, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemPreview, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddContentDescriptor(struct w_iface *_this, uint64_t handle, uint32_t descid) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddContentDescriptor_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .descid = descid, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddContentDescriptor, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveContentDescriptor(struct w_iface *_this, uint64_t handle, uint32_t descid) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveContentDescriptor_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .descid = descid, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveContentDescriptor, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubmitItemUpdate(struct w_iface *_this, uint64_t handle, const char *pchChangeNote) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubmitItemUpdate_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .pchChangeNote = pchChangeNote, + }; + TRACE("%p\n", _this); + IsBadStringPtrA(pchChangeNote, -1); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubmitItemUpdate, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemUpdateProgress(struct w_iface *_this, uint64_t handle, uint64_t *punBytesProcessed, uint64_t *punBytesTotal) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemUpdateProgress_params params = + { + .u_iface = _this->u_iface, + .handle = handle, + .punBytesProcessed = punBytesProcessed, + .punBytesTotal = punBytesTotal, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemUpdateProgress, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetUserItemVote(struct w_iface *_this, uint64_t nPublishedFileID, int8_t bVoteUp) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetUserItemVote_params params = + { + .u_iface = _this->u_iface, + .nPublishedFileID = nPublishedFileID, + .bVoteUp = bVoteUp, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetUserItemVote, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserItemVote(struct w_iface *_this, uint64_t nPublishedFileID) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserItemVote_params params = + { + .u_iface = _this->u_iface, + .nPublishedFileID = nPublishedFileID, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserItemVote, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemToFavorites(struct w_iface *_this, uint32_t nAppId, uint64_t nPublishedFileID) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemToFavorites_params params = + { + .u_iface = _this->u_iface, + .nAppId = nAppId, + .nPublishedFileID = nPublishedFileID, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemToFavorites, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemFromFavorites(struct w_iface *_this, uint32_t nAppId, uint64_t nPublishedFileID) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemFromFavorites_params params = + { + .u_iface = _this->u_iface, + .nAppId = nAppId, + .nPublishedFileID = nPublishedFileID, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemFromFavorites, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubscribeItem(struct w_iface *_this, uint64_t nPublishedFileID) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubscribeItem_params params = + { + .u_iface = _this->u_iface, + .nPublishedFileID = nPublishedFileID, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubscribeItem, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_UnsubscribeItem(struct w_iface *_this, uint64_t nPublishedFileID) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UnsubscribeItem_params params = + { + .u_iface = _this->u_iface, + .nPublishedFileID = nPublishedFileID, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_UnsubscribeItem, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetNumSubscribedItems(struct w_iface *_this) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetNumSubscribedItems_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetNumSubscribedItems, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetSubscribedItems(struct w_iface *_this, uint64_t *pvecPublishedFileID, uint32_t cMaxEntries) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetSubscribedItems_params params = + { + .u_iface = _this->u_iface, + .pvecPublishedFileID = pvecPublishedFileID, + .cMaxEntries = cMaxEntries, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetSubscribedItems, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemState(struct w_iface *_this, uint64_t nPublishedFileID) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemState_params params = + { + .u_iface = _this->u_iface, + .nPublishedFileID = nPublishedFileID, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemState, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemInstallInfo(struct w_iface *_this, uint64_t nPublishedFileID, uint64_t *punSizeOnDisk, char *pchFolder, uint32_t cchFolderSize, uint32_t *punTimeStamp) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemInstallInfo_params params = + { + .u_iface = _this->u_iface, + .nPublishedFileID = nPublishedFileID, + .punSizeOnDisk = punSizeOnDisk, + .pchFolder = pchFolder, + .cchFolderSize = cchFolderSize, + .punTimeStamp = punTimeStamp, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemInstallInfo, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemDownloadInfo(struct w_iface *_this, uint64_t nPublishedFileID, uint64_t *punBytesDownloaded, uint64_t *punBytesTotal) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemDownloadInfo_params params = + { + .u_iface = _this->u_iface, + .nPublishedFileID = nPublishedFileID, + .punBytesDownloaded = punBytesDownloaded, + .punBytesTotal = punBytesTotal, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemDownloadInfo, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_DownloadItem(struct w_iface *_this, uint64_t nPublishedFileID, int8_t bHighPriority) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DownloadItem_params params = + { + .u_iface = _this->u_iface, + .nPublishedFileID = nPublishedFileID, + .bHighPriority = bHighPriority, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DownloadItem, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_BInitWorkshopForGameServer(struct w_iface *_this, uint32_t unWorkshopDepotID, const char *pszFolder) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_BInitWorkshopForGameServer_params params = + { + .u_iface = _this->u_iface, + .unWorkshopDepotID = unWorkshopDepotID, + .pszFolder = pszFolder, + }; + TRACE("%p\n", _this); + IsBadStringPtrA(pszFolder, -1); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_BInitWorkshopForGameServer, ¶ms ); + return params._ret; +} + +void __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SuspendDownloads(struct w_iface *_this, int8_t bSuspend) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SuspendDownloads_params params = + { + .u_iface = _this->u_iface, + .bSuspend = bSuspend, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_SuspendDownloads, ¶ms ); +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartPlaytimeTracking(struct w_iface *_this, uint64_t *pvecPublishedFileID, uint32_t unNumPublishedFileIDs) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartPlaytimeTracking_params params = + { + .u_iface = _this->u_iface, + .pvecPublishedFileID = pvecPublishedFileID, + .unNumPublishedFileIDs = unNumPublishedFileIDs, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartPlaytimeTracking, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTracking(struct w_iface *_this, uint64_t *pvecPublishedFileID, uint32_t unNumPublishedFileIDs) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTracking_params params = + { + .u_iface = _this->u_iface, + .pvecPublishedFileID = pvecPublishedFileID, + .unNumPublishedFileIDs = unNumPublishedFileIDs, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTracking, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTrackingForAllItems(struct w_iface *_this) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTrackingForAllItems_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTrackingForAllItems, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddDependency(struct w_iface *_this, uint64_t nParentPublishedFileID, uint64_t nChildPublishedFileID) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddDependency_params params = + { + .u_iface = _this->u_iface, + .nParentPublishedFileID = nParentPublishedFileID, + .nChildPublishedFileID = nChildPublishedFileID, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddDependency, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveDependency(struct w_iface *_this, uint64_t nParentPublishedFileID, uint64_t nChildPublishedFileID) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveDependency_params params = + { + .u_iface = _this->u_iface, + .nParentPublishedFileID = nParentPublishedFileID, + .nChildPublishedFileID = nChildPublishedFileID, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveDependency, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddAppDependency(struct w_iface *_this, uint64_t nPublishedFileID, uint32_t nAppID) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddAppDependency_params params = + { + .u_iface = _this->u_iface, + .nPublishedFileID = nPublishedFileID, + .nAppID = nAppID, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddAppDependency, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAppDependency(struct w_iface *_this, uint64_t nPublishedFileID, uint32_t nAppID) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAppDependency_params params = + { + .u_iface = _this->u_iface, + .nPublishedFileID = nPublishedFileID, + .nAppID = nAppID, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAppDependency, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetAppDependencies(struct w_iface *_this, uint64_t nPublishedFileID) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetAppDependencies_params params = + { + .u_iface = _this->u_iface, + .nPublishedFileID = nPublishedFileID, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetAppDependencies, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_DeleteItem(struct w_iface *_this, uint64_t nPublishedFileID) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DeleteItem_params params = + { + .u_iface = _this->u_iface, + .nPublishedFileID = nPublishedFileID, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_DeleteItem, ¶ms ); + return params._ret; +} + +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_ShowWorkshopEULA(struct w_iface *_this) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ShowWorkshopEULA_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_ShowWorkshopEULA, ¶ms ); + return params._ret; +} + +uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetWorkshopEULAStatus(struct w_iface *_this) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetWorkshopEULAStatus_params params = + { + .u_iface = _this->u_iface, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetWorkshopEULAStatus, ¶ms ); + return params._ret; +} + +uint32_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserContentDescriptorPreferences(struct w_iface *_this, uint32_t *pvecDescriptors, uint32_t cMaxEntries) +{ + struct ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserContentDescriptorPreferences_params params = + { + .u_iface = _this->u_iface, + .pvecDescriptors = pvecDescriptors, + .cMaxEntries = cMaxEntries, + }; + TRACE("%p\n", _this); + STEAMCLIENT_CALL( ISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserContentDescriptorPreferences, ¶ms ); + return params._ret; +} + +extern vtable_ptr winISteamUGC_STEAMUGC_INTERFACE_VERSION019_vtable; + +DEFINE_RTTI_DATA0(winISteamUGC_STEAMUGC_INTERFACE_VERSION019, 0, ".?AVISteamUGC@@") + +__ASM_BLOCK_BEGIN(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_vtables) + __ASM_VTABLE(winISteamUGC_STEAMUGC_INTERFACE_VERSION019, + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUserUGCRequest) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest_2) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryAllUGCRequest) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateQueryUGCDetailsRequest) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SendQueryUGCRequest) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCResult) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumTags) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTag) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCTagDisplayName) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCPreviewURL) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCMetadata) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCChildren) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCStatistic) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumAdditionalPreviews) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCAdditionalPreview) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCNumKeyValueTags) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag_2) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCKeyValueTag) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetQueryUGCContentDescriptors) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_ReleaseQueryUGCRequest) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTag) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredTagGroup) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddExcludedTag) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnOnlyIDs) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnKeyValueTags) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnLongDescription) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnMetadata) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnChildren) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnAdditionalPreviews) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnTotalOnly) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetReturnPlaytimeStats) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetLanguage) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowCachedResponse) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAdminQuery) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetCloudFileNameFilter) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetMatchAnyTag) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetSearchText) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetRankedByTrendDays) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeCreatedDateRange) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetTimeUpdatedDateRange) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddRequiredKeyValueTag) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RequestUGCDetails) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_CreateItem) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartItemUpdate) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTitle) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemDescription) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemUpdateLanguage) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemMetadata) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemVisibility) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemTags) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemContent) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetItemPreview) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetAllowLegacyUpload) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAllItemKeyValueTags) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemKeyValueTags) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemKeyValueTag) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewFile) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemPreviewVideo) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewFile) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_UpdateItemPreviewVideo) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemPreview) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddContentDescriptor) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveContentDescriptor) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubmitItemUpdate) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemUpdateProgress) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SetUserItemVote) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserItemVote) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddItemToFavorites) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveItemFromFavorites) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SubscribeItem) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_UnsubscribeItem) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetNumSubscribedItems) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetSubscribedItems) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemState) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemInstallInfo) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetItemDownloadInfo) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_DownloadItem) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_BInitWorkshopForGameServer) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_SuspendDownloads) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_StartPlaytimeTracking) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTracking) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_StopPlaytimeTrackingForAllItems) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddDependency) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveDependency) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_AddAppDependency) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_RemoveAppDependency) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetAppDependencies) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_DeleteItem) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_ShowWorkshopEULA) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetWorkshopEULAStatus) + VTABLE_ADD_FUNC(winISteamUGC_STEAMUGC_INTERFACE_VERSION019_GetUserContentDescriptorPreferences) + ); +__ASM_BLOCK_END + +struct w_iface *create_winISteamUGC_STEAMUGC_INTERFACE_VERSION019( struct u_iface u_iface ) +{ + struct w_iface *r = alloc_mem_for_iface(sizeof(struct w_iface), "STEAMUGC_INTERFACE_VERSION019"); + TRACE("-> %p\n", r); + r->vtable = alloc_vtable(&winISteamUGC_STEAMUGC_INTERFACE_VERSION019_vtable, 91, "STEAMUGC_INTERFACE_VERSION019"); + r->u_iface = u_iface; + return r; +} + DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION020_CreateQueryUserUGCRequest, 32) DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION020_CreateQueryAllUGCRequest, 24) DEFINE_THISCALL_WRAPPER(winISteamUGC_STEAMUGC_INTERFACE_VERSION020_CreateQueryAllUGCRequest_2, 24) @@ -16926,7 +18370,7 @@ uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION020_SendQueryUGCReque return params._ret; } -int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION020_GetQueryUGCResult(struct w_iface *_this, uint64_t handle, uint32_t index, w_SteamUGCDetails_t_160 *pDetails) +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION020_GetQueryUGCResult(struct w_iface *_this, uint64_t handle, uint32_t index, w_SteamUGCDetails_t_159x *pDetails) { struct ISteamUGC_STEAMUGC_INTERFACE_VERSION020_GetQueryUGCResult_params params = { @@ -18424,7 +19868,7 @@ uint64_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION021_SendQueryUGCReque return params._ret; } -int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION021_GetQueryUGCResult(struct w_iface *_this, uint64_t handle, uint32_t index, w_SteamUGCDetails_t_160 *pDetails) +int8_t __thiscall winISteamUGC_STEAMUGC_INTERFACE_VERSION021_GetQueryUGCResult(struct w_iface *_this, uint64_t handle, uint32_t index, w_SteamUGCDetails_t_159x *pDetails) { struct ISteamUGC_STEAMUGC_INTERFACE_VERSION021_GetQueryUGCResult_params params = { @@ -19800,6 +21244,7 @@ void init_winISteamUGC_rtti( char *base ) init_winISteamUGC_STEAMUGC_INTERFACE_VERSION016_rtti( base ); init_winISteamUGC_STEAMUGC_INTERFACE_VERSION017_rtti( base ); init_winISteamUGC_STEAMUGC_INTERFACE_VERSION018_rtti( base ); + init_winISteamUGC_STEAMUGC_INTERFACE_VERSION019_rtti( base ); init_winISteamUGC_STEAMUGC_INTERFACE_VERSION020_rtti( base ); init_winISteamUGC_STEAMUGC_INTERFACE_VERSION021_rtti( base ); #endif /* defined(__x86_64__) || defined(__aarch64__) */