From 186ac827c85504c62e96d86bd990ea5208a8f99c Mon Sep 17 00:00:00 2001 From: Christopher Bruns Date: Sat, 28 Mar 2020 07:51:18 -0700 Subject: [PATCH] Use better error message when interface check fails (fixes issue #74) --- src/translate/generator.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/translate/generator.py b/src/translate/generator.py index 8b3ab95..ca3b90a 100644 --- a/src/translate/generator.py +++ b/src/translate/generator.py @@ -286,13 +286,18 @@ def __str__(self): # Expose functions # #################### - def _checkInitError(error): + def _checkInterfaceVersion(version_key): """ Replace openvr error return code with a python exception """ - if error != VRInitError_None: - shutdown() - raise OpenVRError("%s (error number %d)" % (getVRInitErrorAsSymbol(error), error)) + if isInterfaceVersionValid(version_key): + return + shutdown() + error = VRInitError_Init_InterfaceNotFound + msg = f"The installed SteamVR runtime could not provide API version {version_key} requested by pyopenvr. "\\ + f"You may need to update SteamVR or use an older version of pyopenvr. "\\ + f"{getVRInitErrorAsSymbol(error)} (error number {error})." + raise OpenVRError(msg) # Copying VR_Init inline implementation from https://github.com/ValveSoftware/openvr/blob/master/headers/openvr.h