// @lint-ignore-every LICENSELINT // Copyright Epic Games, Inc. All Rights Reserved. #include "OculusXRHMD_ConsoleCommands.h" #if OCULUS_HMD_SUPPORTED_PLATFORMS #include "OculusXRHMD.h" #include "OculusXRSceneCaptureCubemap.h" namespace OculusXRHMD { //------------------------------------------------------------------------------------------------- // FConsoleCommands //------------------------------------------------------------------------------------------------- /// @cond DOXYGEN_WARNINGS FConsoleCommands::FConsoleCommands(class FOculusXRHMD* InHMDPtr) : UpdateOnRenderThreadCommand(TEXT("vr.oculus.bUpdateOnRenderThread"), *NSLOCTEXT("OculusRift", "CCommandText_UpdateRT", "Oculus Rift specific extension.\nEnables or disables updating on the render thread.").ToString(), FConsoleCommandWithWorldArgsAndOutputDeviceDelegate::CreateRaw(InHMDPtr, &FOculusXRHMD::UpdateOnRenderThreadCommandHandler)) , PixelDensityMinCommand(TEXT("vr.oculus.PixelDensity.min"), *NSLOCTEXT("OculusRift", "CCommandText_PixelDensityMin", "Oculus Rift specific extension.\nMinimum pixel density when adaptive pixel density is enabled").ToString(), FConsoleCommandWithWorldArgsAndOutputDeviceDelegate::CreateRaw(InHMDPtr, &FOculusXRHMD::PixelDensityMinCommandHandler)) , PixelDensityMaxCommand(TEXT("vr.oculus.PixelDensity.max"), *NSLOCTEXT("OculusRift", "CCommandText_PixelDensityMax", "Oculus Rift specific extension.\nMaximum pixel density when adaptive pixel density is enabled").ToString(), FConsoleCommandWithWorldArgsAndOutputDeviceDelegate::CreateRaw(InHMDPtr, &FOculusXRHMD::PixelDensityMaxCommandHandler)) , HQBufferCommand(TEXT("vr.oculus.bHQBuffer"), *NSLOCTEXT("OculusRift", "CCommandText_HQBuffer", "Oculus Rift specific extension.\nEnable or disable using floating point texture format for the eye layer.").ToString(), FConsoleCommandWithWorldArgsAndOutputDeviceDelegate::CreateRaw(InHMDPtr, &FOculusXRHMD::HQBufferCommandHandler)) , HQDistortionCommand(TEXT("vr.oculus.bHQDistortion"), *NSLOCTEXT("OculusRift", "CCommandText_HQDistortion", "Oculus Rift specific extension.\nEnable or disable using multiple mipmap levels for the eye layer.").ToString(), FConsoleCommandWithWorldArgsAndOutputDeviceDelegate::CreateRaw(InHMDPtr, &FOculusXRHMD::HQDistortionCommandHandler)) , ShowGlobalMenuCommand(TEXT("vr.oculus.ShowGlobalMenu"), *NSLOCTEXT("OculusRift", "CCommandText_GlobalMenu", "Oculus Rift specific extension.\nOpens the global menu.").ToString(), FConsoleCommandWithWorldArgsAndOutputDeviceDelegate::CreateRaw(InHMDPtr, &FOculusXRHMD::ShowGlobalMenuCommandHandler)) , ShowQuitMenuCommand(TEXT("vr.oculus.ShowQuitMenu"), *NSLOCTEXT("OculusRift", "CCommandText_QuitMenu", "Oculus Rift specific extension.\nOpens the quit menu.").ToString(), FConsoleCommandWithWorldArgsAndOutputDeviceDelegate::CreateRaw(InHMDPtr, &FOculusXRHMD::ShowQuitMenuCommandHandler)) #if !UE_BUILD_SHIPPING , StatsCommand(TEXT("vr.oculus.Debug.bShowStats"), *NSLOCTEXT("OculusRift", "CCommandText_Stats", "Oculus Rift specific extension.\nEnable or disable rendering of stats.").ToString(), FConsoleCommandWithWorldArgsAndOutputDeviceDelegate::CreateRaw(InHMDPtr, &FOculusXRHMD::StatsCommandHandler)) , CubemapCommand(TEXT("vr.oculus.Debug.CaptureCubemap"), *NSLOCTEXT("OculusRift", "CCommandText_Cubemap", "Oculus Rift specific extension.\nCaptures a cubemap for Oculus Home.\nOptional arguments (default is zero for all numeric arguments):\n xoff= -- X axis offset from the origin\n yoff= -- Y axis offset\n zoff= -- Z axis offset\n yaw= -- the direction to look into (roll and pitch is fixed to zero)\n mobile -- Generate a Mobile format cubemap\n (height of the captured cubemap will be 1024 instead of 2048 pixels)\n").ToString(), FConsoleCommandWithWorldArgsAndOutputDeviceDelegate::CreateStatic(&UOculusXRSceneCaptureCubemap::CaptureCubemapCommandHandler)) , ShowSettingsCommand(TEXT("vr.oculus.Debug.Show"), *NSLOCTEXT("OculusRift", "CCommandText_Show", "Oculus Rift specific extension.\nShows the current value of various stereo rendering params.").ToString(), FConsoleCommandWithWorldArgsAndOutputDeviceDelegate::CreateRaw(InHMDPtr, &FOculusXRHMD::ShowSettingsCommandHandler)) , IPDCommand(TEXT("vr.oculus.Debug.IPD"), *NSLOCTEXT("OculusRift", "CCommandText_IPD", "Oculus Rift specific extension.\nShows or changes the current interpupillary distance in meters.").ToString(), FConsoleCommandWithWorldArgsAndOutputDeviceDelegate::CreateRaw(InHMDPtr, &FOculusXRHMD::IPDCommandHandler)) #endif // !UE_BUILD_SHIPPING { } bool FConsoleCommands::Exec(UWorld* InWorld, const TCHAR* Cmd, FOutputDevice& Ar) { const TCHAR* OrigCmd = Cmd; FString AliasedCommand; if (FParse::Command(&Cmd, TEXT("OVRGLOBALMENU"))) { AliasedCommand = TEXT("vr.oculus.ShowGlobalMenu"); } else if (FParse::Command(&Cmd, TEXT("OVRQUITMENU"))) { AliasedCommand = TEXT("vr.oculus.ShowQuitMenu"); } #if !UE_BUILD_SHIPPING else if (FParse::Command(&Cmd, TEXT("vr.oculus.Debug.EnforceHeadTracking"))) { AliasedCommand = TEXT("vr.HeadTracking.bEnforced"); } #endif // !UE_BUILD_SHIPPING if (!AliasedCommand.IsEmpty()) { Ar.Logf(ELogVerbosity::Warning, TEXT("%s is deprecated. Use %s instead"), OrigCmd, *AliasedCommand); return IConsoleManager::Get().ProcessUserConsoleInput(*AliasedCommand, Ar, InWorld); } return false; } /// @endcond } // namespace OculusXRHMD #endif // OCULUS_HMD_SUPPORTED_PLATFORMS