From 507e24ef029d0312f4f53134818516480daea0c0 Mon Sep 17 00:00:00 2001 From: Sebastian Pape <Sebastian.Pape@rwth-aachen.de> Date: Tue, 17 Sep 2019 13:31:13 +0200 Subject: [PATCH 1/3] Removed HMD Mode check and added custom argument check for cave launch --- .../CAVEOverlay/Private/CAVEOverlayController.cpp | 13 ++++++++----- Source/CAVEOverlay/Public/CAVEOverlayController.h | 3 +-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Source/CAVEOverlay/Private/CAVEOverlayController.cpp b/Source/CAVEOverlay/Private/CAVEOverlayController.cpp index d15ec0f..721e9e4 100644 --- a/Source/CAVEOverlay/Private/CAVEOverlayController.cpp +++ b/Source/CAVEOverlay/Private/CAVEOverlayController.cpp @@ -10,6 +10,7 @@ #include "Components/InputComponent.h" #include "Cluster/IDisplayClusterClusterManager.h" #include "IDisplayClusterGameManager.h" +#include "IDisplayClusterConfigManager.h" #include "UObject/ConstructorHelpers.h" #include <array> #include "Components/StaticMeshComponent.h" @@ -181,10 +182,12 @@ void ACAVEOverlayController::BeginPlay() Super::BeginPlay(); //Read situation - bHMD_Mode = GEngine->XRSystem.IsValid() && GEngine->XRSystem->IsHeadTrackingAllowed(); - bDisplay_Cluster_Mode = IDisplayCluster::Get().GetOperationMode() == EDisplayClusterOperationMode::Cluster; - - if (!bDisplay_Cluster_Mode) return; // Not our business + if (IDisplayCluster::Get().GetOperationMode() == EDisplayClusterOperationMode::Cluster) { + auto ClusterConfigCustom = IDisplayCluster::Get().GetConfigMgr()->GetConfigCustom(); + bCAVE_Mode = ClusterConfigCustom.Args.Contains("Hardware_Platform") && ClusterConfigCustom.Args.Find("Hardware_Platform")->ToLower().Compare("aixcave"); + } + + if (!bCAVE_Mode) return; // Not our business //Input config InputComponent->BindAction("Action4", EInputEvent::IE_Pressed, this, &ACAVEOverlayController::CycleDoorType); @@ -253,7 +256,7 @@ void ACAVEOverlayController::Tick(float DeltaTime) { Super::Tick(DeltaTime); - if (!bDisplay_Cluster_Mode) return; // Not our business + if (!bCAVE_Mode) return; // Not our business RefreshPawnComponents(); if (!bAttached && Cave_Origin) diff --git a/Source/CAVEOverlay/Public/CAVEOverlayController.h b/Source/CAVEOverlay/Public/CAVEOverlayController.h index af23882..9ea5ba1 100644 --- a/Source/CAVEOverlay/Public/CAVEOverlayController.h +++ b/Source/CAVEOverlay/Public/CAVEOverlayController.h @@ -29,8 +29,7 @@ protected: private: //Execution Modes - bool bHMD_Mode = false; - bool bDisplay_Cluster_Mode = false; + bool bCAVE_Mode = false; //Screen Types enum EScreen_Type { SCREEN_MASTER, SCREEN_NORMAL, SCREEN_DOOR_PARTIAL, SCREEN_DOOR }; -- GitLab From db7f7464aa678545461c876ea04bad6ca7269cee Mon Sep 17 00:00:00 2001 From: Sebastian Pape <Sebastian.Pape@rwth-aachen.de> Date: Wed, 18 Sep 2019 13:56:40 +0200 Subject: [PATCH 2/3] Changed Compare function to equal function --- Source/CAVEOverlay/Private/CAVEOverlayController.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/CAVEOverlay/Private/CAVEOverlayController.cpp b/Source/CAVEOverlay/Private/CAVEOverlayController.cpp index 721e9e4..71f9675 100644 --- a/Source/CAVEOverlay/Private/CAVEOverlayController.cpp +++ b/Source/CAVEOverlay/Private/CAVEOverlayController.cpp @@ -184,7 +184,7 @@ void ACAVEOverlayController::BeginPlay() //Read situation if (IDisplayCluster::Get().GetOperationMode() == EDisplayClusterOperationMode::Cluster) { auto ClusterConfigCustom = IDisplayCluster::Get().GetConfigMgr()->GetConfigCustom(); - bCAVE_Mode = ClusterConfigCustom.Args.Contains("Hardware_Platform") && ClusterConfigCustom.Args.Find("Hardware_Platform")->ToLower().Compare("aixcave"); + bCAVE_Mode = ClusterConfigCustom.Args.Contains("Hardware_Platform") && ClusterConfigCustom.Args.Find("Hardware_Platform")->Equals("aixcave", ESearchCase::IgnoreCase); } if (!bCAVE_Mode) return; // Not our business -- GitLab From a388078b1042c03da94de43cfade4729d7c95ed4 Mon Sep 17 00:00:00 2001 From: Sebastian Pape <sebastian.pape@rwth-aachen.de> Date: Wed, 18 Sep 2019 16:23:52 +0200 Subject: [PATCH 3/3] Hide Black Overlay on Master if Door is open --- Source/CAVEOverlay/Private/CAVEOverlayController.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/CAVEOverlay/Private/CAVEOverlayController.cpp b/Source/CAVEOverlay/Private/CAVEOverlayController.cpp index 71f9675..6e2b756 100644 --- a/Source/CAVEOverlay/Private/CAVEOverlayController.cpp +++ b/Source/CAVEOverlay/Private/CAVEOverlayController.cpp @@ -154,7 +154,7 @@ void ACAVEOverlayController::SetDoorMode(EDoor_Mode M) Door_Current_Opening_Width_Absolute = Wall_Distance * 2; if (Screen_Type == SCREEN_DOOR) Overlay->BlackBox->SetRenderScale(FVector2D(1, 1)); if (Screen_Type == SCREEN_DOOR_PARTIAL) Overlay->BlackBox->SetRenderScale(FVector2D(1, 1)); - if (Screen_Type == SCREEN_MASTER) Overlay->BlackBox->SetRenderScale(FVector2D(1, 1)); + if (Screen_Type == SCREEN_MASTER) Overlay->BlackBox->SetRenderScale(FVector2D(0, 1)); Overlay->BlackBox->SetVisibility(ESlateVisibility::Visible); break; case EDoor_Mode::DOOR_CLOSED: -- GitLab