From 8c72d417243eea75a82fb20de4372891d82cbb32 Mon Sep 17 00:00:00 2001 From: Luz4r Date: Thu, 19 Sep 2024 16:55:52 +0200 Subject: [PATCH 01/16] Add getting pixel indices for specified area to hide for recording and ss - Add blueprint callable functions to specifie areas to hide - Add blueprint callable function to set what color is placed in hidden pixels --- .../Private/BH_GameInstanceSubsystem.cpp | 15 ++++ .../Private/BH_GameRecorder.cpp | 77 +++++++++++++++++++ .../Private/BH_GameRecorder.h | 9 +++ .../BetaHubBugReporter/Private/BH_Manager.cpp | 17 +++- .../Private/BH_PopupWidget.cpp | 4 +- .../Private/BH_PopupWidget.h | 2 +- .../Private/BH_ReportFormWidget.cpp | 3 +- .../Public/BH_GameInstanceSubsystem.h | 9 +++ Source/BetaHubBugReporter/Public/BH_Manager.h | 4 + 9 files changed, 135 insertions(+), 5 deletions(-) diff --git a/Source/BetaHubBugReporter/Private/BH_GameInstanceSubsystem.cpp b/Source/BetaHubBugReporter/Private/BH_GameInstanceSubsystem.cpp index 88aabca..bb1cd30 100644 --- a/Source/BetaHubBugReporter/Private/BH_GameInstanceSubsystem.cpp +++ b/Source/BetaHubBugReporter/Private/BH_GameInstanceSubsystem.cpp @@ -33,4 +33,19 @@ void UBH_GameInstanceSubsystem::Deinitialize() { Manager->StopService(); } +} + +void UBH_GameInstanceSubsystem::HideScreenAreaFromReport(FVector4 AreaToHide) +{ + Manager->HideScreenAreaFromReport(AreaToHide); +} + +void UBH_GameInstanceSubsystem::HideScreenAreaFromReportArray(TArray AreasToHide) +{ + Manager->HideScreenAreaFromReportArray(AreasToHide); +} + +void UBH_GameInstanceSubsystem::SetHiddenAreaColor(FLinearColor NewColor) +{ + Manager->SetHiddenAreaColor(NewColor.ToFColor(false)); } \ No newline at end of file diff --git a/Source/BetaHubBugReporter/Private/BH_GameRecorder.cpp b/Source/BetaHubBugReporter/Private/BH_GameRecorder.cpp index 95ae1ca..6e481c4 100644 --- a/Source/BetaHubBugReporter/Private/BH_GameRecorder.cpp +++ b/Source/BetaHubBugReporter/Private/BH_GameRecorder.cpp @@ -26,6 +26,7 @@ UBH_GameRecorder::UBH_GameRecorder(const FObjectInitializer& ObjectInitializer) , bCopyTextureStarted(false) , StagingTexture(nullptr) , RawFrameBufferPool(3) + , HiddenAreaColor(FColor::Black) { FrameBuffer = ObjectInitializer.CreateDefaultSubobject(this, TEXT("FrameBuffer")); } @@ -206,6 +207,18 @@ void UBH_GameRecorder::Tick(float DeltaTime) { PendingPixels[i] = PendingLinearPixels[i].ToFColor(false); } + + TArray HiddenIdices; + + for (FVector4 DisabledRect : HiddenAreas) + { + HiddenIdices.Append(GetPixelIndicesFromViewportRectangle(FVector2D(DisabledRect.X, DisabledRect.Y), FVector2D(DisabledRect.Z, DisabledRect.W), TextureBuffer->GetWidth(), TextureBuffer->GetHeight())); + } + + for (int32 Index : HiddenIdices) + { + PendingPixels[Index] = HiddenAreaColor; + } // Resize image to frame ResizeImageToFrame(PendingPixels, TextureBuffer->GetWidth(), TextureBuffer->GetHeight(), FrameWidth, FrameHeight, ResizedPixels); @@ -251,6 +264,55 @@ void UBH_GameRecorder::ResizeImageToFrame( } } +TArray UBH_GameRecorder::GetPixelIndicesFromViewportRectangle(const FVector2D& TopLeftViewportCoords, const FVector2D& BottomRightViewportCoords, int32 TextureWidth, int32 TextureHeight) +{ + TArray PixelIndices; + + // Get viewport size + FVector2D ViewportSize; + GEngine->GameViewport->GetViewportSize(ViewportSize); + + // Check if viewport size and texture size are valid + if (ViewportSize.X <= 0 || ViewportSize.Y <= 0 || TextureWidth <= 0 || TextureHeight <= 0) + { + return PixelIndices; // Return empty if sizes are invalid + } + + // Normalize the viewport coordinates (0 to 1) + float NormalizedTopLeftX = TopLeftViewportCoords.X / ViewportSize.X; + float NormalizedTopLeftY = TopLeftViewportCoords.Y / ViewportSize.Y; + float NormalizedBottomRightX = BottomRightViewportCoords.X / ViewportSize.X; + float NormalizedBottomRightY = BottomRightViewportCoords.Y / ViewportSize.Y; + + // Convert normalized coordinates to texture coordinates + int32 TextureX1 = FMath::Clamp(static_cast(NormalizedTopLeftX * TextureWidth), 0, TextureWidth - 1); + int32 TextureY1 = FMath::Clamp(static_cast(NormalizedTopLeftY * TextureHeight), 0, TextureHeight - 1); + int32 TextureX2 = FMath::Clamp(static_cast(NormalizedBottomRightX * TextureWidth), 0, TextureWidth - 1); + int32 TextureY2 = FMath::Clamp(static_cast(NormalizedBottomRightY * TextureHeight), 0, TextureHeight - 1); + + // Ensure coordinates are properly ordered (Top-left and bottom-right) + int32 StartX = FMath::Min(TextureX1, TextureX2); + int32 EndX = FMath::Max(TextureX1, TextureX2); + int32 StartY = FMath::Min(TextureY1, TextureY2); + int32 EndY = FMath::Max(TextureY1, TextureY2); + + // Iterate through the rectangle area to collect indices + for (int32 Y = StartY; Y <= EndY; ++Y) + { + for (int32 X = StartX; X <= EndX; ++X) + { + int32 PixelIndex = Y * TextureWidth + X; + + // Check if the pixel index is within the bounds of the array + if (PixelIndex >= 0 && PixelIndex < PendingPixels.Num()) + { + PixelIndices.Add(PixelIndex); + } + } + } + + return PixelIndices; +} bool UBH_GameRecorder::IsTickable() const { @@ -409,6 +471,21 @@ FString UBH_GameRecorder::CaptureScreenshotToJPG(const FString& Filename) return ScreenshotFilename; } +void UBH_GameRecorder::HideScreenAreaFromReport(FVector4 AreaToHide) +{ + HiddenAreas.Add(AreaToHide); +} + +void UBH_GameRecorder::HideScreenAreaFromReportArray(TArray AreasToHide) +{ + HiddenAreas.Append(AreasToHide); +} + +void UBH_GameRecorder::SetHiddenAreaColor(FColor NewColor) +{ + HiddenAreaColor = NewColor; +} + #if ENGINE_MINOR_VERSION < 4 bool ConvertRAWSurfaceDataToFLinearColor(EPixelFormat Format, uint32 Width, uint32 Height, uint8 *In, uint32 SrcPitch, FLinearColor* Out, FReadSurfaceDataFlags InFlags) { diff --git a/Source/BetaHubBugReporter/Private/BH_GameRecorder.h b/Source/BetaHubBugReporter/Private/BH_GameRecorder.h index 1ce386f..9a5bdfe 100644 --- a/Source/BetaHubBugReporter/Private/BH_GameRecorder.h +++ b/Source/BetaHubBugReporter/Private/BH_GameRecorder.h @@ -38,6 +38,10 @@ class BETAHUBBUGREPORTER_API UBH_GameRecorder : public UObject, public FTickable virtual bool IsTickable() const override; virtual TStatId GetStatId() const override; + void HideScreenAreaFromReport(FVector4 AreaToHide); + void HideScreenAreaFromReportArray(TArray AreasToHide); + void SetHiddenAreaColor(FColor NewColor); + private: UPROPERTY() UBH_FrameBuffer* FrameBuffer; @@ -45,6 +49,9 @@ class BETAHUBBUGREPORTER_API UBH_GameRecorder : public UObject, public FTickable UPROPERTY() ABH_SceneCaptureActor* SceneCaptureActor; + TArray HiddenAreas; + FColor HiddenAreaColor; + TSharedPtr VideoEncoder; int32 TargetFPS; FTimespan RecordingDuration; @@ -76,4 +83,6 @@ class BETAHUBBUGREPORTER_API UBH_GameRecorder : public UObject, public FTickable void SetFrameData(int32 Width, int32 Height, const TArray& Data); void ResizeImageToFrame(const TArray& ImageData, uint32 ImageWidth, uint32 ImageHeight, uint32 FrameWidth, uint32 FrameHeight, TArray& ResizedData); + + TArray GetPixelIndicesFromViewportRectangle(const FVector2D& TopLeftViewportCoords, const FVector2D& BottomRightViewportCoords, int32 TextureWidth, int32 TextureHeight); }; diff --git a/Source/BetaHubBugReporter/Private/BH_Manager.cpp b/Source/BetaHubBugReporter/Private/BH_Manager.cpp index 6f11e2d..12905d8 100644 --- a/Source/BetaHubBugReporter/Private/BH_Manager.cpp +++ b/Source/BetaHubBugReporter/Private/BH_Manager.cpp @@ -85,4 +85,19 @@ void UBH_Manager::OnPlayerControllerChanged(APlayerController* PC) InputComponent->BindKey(Settings->ShortcutKey, IE_Pressed, this, &UBH_Manager::OnBackgroundServiceRequestWidget); PC->PushInputComponent(InputComponent); } -} \ No newline at end of file +} + +void UBH_Manager::HideScreenAreaFromReport(FVector4 AreaToHide) +{ + BackgroundService->GetGameRecorder()->HideScreenAreaFromReport(AreaToHide); +} + +void UBH_Manager::HideScreenAreaFromReportArray(TArray AreasToHide) +{ + BackgroundService->GetGameRecorder()->HideScreenAreaFromReportArray(AreasToHide); +} + +void UBH_Manager::SetHiddenAreaColor(FColor NewColor) +{ + BackgroundService->GetGameRecorder()->SetHiddenAreaColor(NewColor); +} diff --git a/Source/BetaHubBugReporter/Private/BH_PopupWidget.cpp b/Source/BetaHubBugReporter/Private/BH_PopupWidget.cpp index 2bbaf7e..e799cb2 100644 --- a/Source/BetaHubBugReporter/Private/BH_PopupWidget.cpp +++ b/Source/BetaHubBugReporter/Private/BH_PopupWidget.cpp @@ -3,9 +3,9 @@ #include "BH_PopupWidget.h" -void UBH_PopupWidget::NativeConstruct() +void UBH_PopupWidget::NativeOnInitialized() { - Super::NativeConstruct(); + Super::NativeOnInitialized(); if (this->CloseButton) { diff --git a/Source/BetaHubBugReporter/Private/BH_PopupWidget.h b/Source/BetaHubBugReporter/Private/BH_PopupWidget.h index 4b63c70..c98a578 100644 --- a/Source/BetaHubBugReporter/Private/BH_PopupWidget.h +++ b/Source/BetaHubBugReporter/Private/BH_PopupWidget.h @@ -20,7 +20,7 @@ class UBH_PopupWidget : public UUserWidget void OnCloseClicked(); protected: - virtual void NativeConstruct() override; + virtual void NativeOnInitialized() override; public: UPROPERTY(meta = (BindWidget)) diff --git a/Source/BetaHubBugReporter/Private/BH_ReportFormWidget.cpp b/Source/BetaHubBugReporter/Private/BH_ReportFormWidget.cpp index 9e32a5d..84f954f 100644 --- a/Source/BetaHubBugReporter/Private/BH_ReportFormWidget.cpp +++ b/Source/BetaHubBugReporter/Private/BH_ReportFormWidget.cpp @@ -139,6 +139,7 @@ void UBH_ReportFormWidget::OnSubmitButtonClicked() void UBH_ReportFormWidget::OnCloseClicked() { GameRecorder->StartRecording(Settings->MaxRecordedFrames, Settings->MaxRecordingDuration); + RestoreCursorState(); RemoveFromParent(); } @@ -146,7 +147,7 @@ void UBH_ReportFormWidget::ShowPopup(const FString& Title, const FString& Descri { if (Settings->PopupWidgetClass) { - UBH_PopupWidget* PopupWidget = CreateWidget(GetWorld(), Settings->PopupWidgetClass); + UBH_PopupWidget* PopupWidget = CreateWidget(GetOwningPlayer(), Settings->PopupWidgetClass); if (PopupWidget) { PopupWidget->SetMessage(Title, Description); diff --git a/Source/BetaHubBugReporter/Public/BH_GameInstanceSubsystem.h b/Source/BetaHubBugReporter/Public/BH_GameInstanceSubsystem.h index 6a06b86..45aa7ae 100644 --- a/Source/BetaHubBugReporter/Public/BH_GameInstanceSubsystem.h +++ b/Source/BetaHubBugReporter/Public/BH_GameInstanceSubsystem.h @@ -16,6 +16,15 @@ class BETAHUBBUGREPORTER_API UBH_GameInstanceSubsystem : public UGameInstanceSub virtual void Initialize(FSubsystemCollectionBase& Collection) override; virtual void Deinitialize() override; + UFUNCTION(BlueprintCallable, Category = BetaHub, meta = (ToolTip = "Specify rect (top left and bottom right viewport cords) to hide this area when submitting bug")) + void HideScreenAreaFromReport(FVector4 AreaToHide); + + UFUNCTION(BlueprintCallable, Category = BetaHub, meta = (ToolTip = "Specify array of rects (top left and bottom right viewport cords) to hide this area when submitting bug")) + void HideScreenAreaFromReportArray(TArray AreasToHide); + + UFUNCTION(BlueprintCallable, Category = BetaHub, meta = (ToolTip = "Specify color for the hidden area on the screen\nDefault: Black")) + void SetHiddenAreaColor(FLinearColor NewColor); + private: UPROPERTY() UBH_Manager* Manager; diff --git a/Source/BetaHubBugReporter/Public/BH_Manager.h b/Source/BetaHubBugReporter/Public/BH_Manager.h index a384abd..3b9455b 100644 --- a/Source/BetaHubBugReporter/Public/BH_Manager.h +++ b/Source/BetaHubBugReporter/Public/BH_Manager.h @@ -40,4 +40,8 @@ class BETAHUBBUGREPORTER_API UBH_Manager : public UObject // Callback function to handle widget spawning UFUNCTION(BlueprintCallable, Category="Bug Report") void OnBackgroundServiceRequestWidget(); + + void HideScreenAreaFromReport(FVector4 AreaToHide); + void HideScreenAreaFromReportArray(TArray AreasToHide); + void SetHiddenAreaColor(FColor NewColor); }; From e53d44a9cb01ce9f82d65fcc65fab455730ac783 Mon Sep 17 00:00:00 2001 From: Luz4r Date: Wed, 20 Nov 2024 13:54:56 +0100 Subject: [PATCH 02/16] Fix crash when starting recording on UE5.5... - When calling ReadPixels, change it to be run on GameThread --- Source/BetaHubBugReporter/Private/BH_GameRecorder.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Source/BetaHubBugReporter/Private/BH_GameRecorder.cpp b/Source/BetaHubBugReporter/Private/BH_GameRecorder.cpp index d0d3787..02b7a40 100644 --- a/Source/BetaHubBugReporter/Private/BH_GameRecorder.cpp +++ b/Source/BetaHubBugReporter/Private/BH_GameRecorder.cpp @@ -311,8 +311,15 @@ void UBH_GameRecorder::OnBackBufferReady(SWindow& Window, const FTexture2DRHIRef if (!bCopyTextureStarted && StagingTexture != nullptr) { - ReadPixels(BackBuffer); +#if ENGINE_MINOR_VERSION >= 5 + AsyncTask(ENamedThreads::GameThread, [this, BackBuffer]() + { + ReadPixels(BackBuffer); + }); } +#else + ReadPixels(BackBuffer); +#endif } void UBH_GameRecorder::ReadPixels(const FTexture2DRHIRef& BackBuffer) @@ -364,6 +371,7 @@ void UBH_GameRecorder::ReadPixels(const FTexture2DRHIRef& BackBuffer) RawFrameBufferQueue.Enqueue(TextureBuffer); RHICmdList.UnmapStagingSurface(StagingTexture); + } ); From ec7012473ec86ec52e12d52fc28c4f1932ac81ac Mon Sep 17 00:00:00 2001 From: Luz4r Date: Wed, 20 Nov 2024 14:15:06 +0100 Subject: [PATCH 03/16] Change deprecated classes for UE5.5 --- .../BetaHubBugReporter/Private/BH_GameRecorder.cpp | 12 ++++++------ Source/BetaHubBugReporter/Private/BH_GameRecorder.h | 8 ++++---- .../BetaHubBugReporter/Private/BH_VideoEncoder.cpp | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Source/BetaHubBugReporter/Private/BH_GameRecorder.cpp b/Source/BetaHubBugReporter/Private/BH_GameRecorder.cpp index 02b7a40..09295fd 100644 --- a/Source/BetaHubBugReporter/Private/BH_GameRecorder.cpp +++ b/Source/BetaHubBugReporter/Private/BH_GameRecorder.cpp @@ -26,11 +26,11 @@ UBH_GameRecorder::UBH_GameRecorder(const FObjectInitializer& ObjectInitializer) , bIsRecording(false) , bCopyTextureStarted(false) , StagingTexture(nullptr) - , RawFrameBufferPool(3) , ViewportWidth(0) , ViewportHeight(0) , FrameWidth(0) , FrameHeight(0) + , RawFrameBufferPool(3) { FrameBuffer = ObjectInitializer.CreateDefaultSubobject(this, TEXT("FrameBuffer")); } @@ -241,7 +241,7 @@ TStatId UBH_GameRecorder::GetStatId() const RETURN_QUICK_DECLARE_CYCLE_STAT(UBH_GameRecorder, STATGROUP_Tickables); } -void UBH_GameRecorder::OnBackBufferReady(SWindow& Window, const FTexture2DRHIRef& BackBuffer) +void UBH_GameRecorder::OnBackBufferReady(SWindow& Window, const FTextureRHIRef& BackBuffer) { #if WITH_EDITOR //Hack for now TODO @@ -273,7 +273,7 @@ void UBH_GameRecorder::OnBackBufferReady(SWindow& Window, const FTexture2DRHIRef { FViewport* Viewport = GEngine->GameViewport->GetGameViewport(); - FTexture2DRHIRef GameBuffer = BackBuffer; + FTextureRHIRef GameBuffer = BackBuffer; if (!GameBuffer) { UE_LOG(LogBetaHub, Error, TEXT("Failed to get game buffer. Will try next time...")); @@ -322,7 +322,7 @@ void UBH_GameRecorder::OnBackBufferReady(SWindow& Window, const FTexture2DRHIRef #endif } -void UBH_GameRecorder::ReadPixels(const FTexture2DRHIRef& BackBuffer) +void UBH_GameRecorder::ReadPixels(const FTextureRHIRef& BackBuffer) { if (!GEngine || !GEngine->GameViewport) return; @@ -349,7 +349,7 @@ void UBH_GameRecorder::ReadPixels(const FTexture2DRHIRef& BackBuffer) return; } - FTexture2DRHIRef Texture = BackBuffer; + FTextureRHIRef Texture = BackBuffer; FRHICopyTextureInfo CopyInfo; RHICmdList.CopyTexture(Texture, StagingTexture, CopyInfo); @@ -379,7 +379,7 @@ void UBH_GameRecorder::ReadPixels(const FTexture2DRHIRef& BackBuffer) bCopyTextureStarted = true; } -void UBH_GameRecorder::OnBackBufferResized(const FTexture2DRHIRef& BackBuffer) +void UBH_GameRecorder::OnBackBufferResized(const FTextureRHIRef& BackBuffer) { FIntVector ViewportSize = BackBuffer->GetDesc().GetSize(); ViewportWidth = FrameWidth = ViewportSize.X; diff --git a/Source/BetaHubBugReporter/Private/BH_GameRecorder.h b/Source/BetaHubBugReporter/Private/BH_GameRecorder.h index f97049a..4d4a621 100644 --- a/Source/BetaHubBugReporter/Private/BH_GameRecorder.h +++ b/Source/BetaHubBugReporter/Private/BH_GameRecorder.h @@ -58,7 +58,7 @@ class BETAHUBBUGREPORTER_API UBH_GameRecorder : public UObject, public FTickable TArray PendingPixels; TArray ResizedPixels; - FTexture2DRHIRef StagingTexture; + FTextureRHIRef StagingTexture; EPixelFormat StagingTextureFormat; int32 ViewportWidth; @@ -70,14 +70,14 @@ class BETAHUBBUGREPORTER_API UBH_GameRecorder : public UObject, public FTickable BH_AsyncQueue> RawFrameBufferQueue; BH_AsyncPool> RawFrameBufferPool; - void ReadPixels(const FTexture2DRHIRef& BackBuffer); + void ReadPixels(const FTextureRHIRef& BackBuffer); void SetFrameData(int32 Width, int32 Height, const TArray& Data); void ResizeImageToFrame(const TArray& ImageData, uint32 ImageWidth, uint32 ImageHeight, uint32 FrameWidth, uint32 FrameHeight, TArray& ResizedData); - void OnBackBufferReady(SWindow& Window, const FTexture2DRHIRef& BackBuffer); + void OnBackBufferReady(SWindow& Window, const FTextureRHIRef& BackBuffer); - void OnBackBufferResized(const FTexture2DRHIRef& BackBuffer); + void OnBackBufferResized(const FTextureRHIRef& BackBuffer); //Hack TODO TSet CreatedWindows; diff --git a/Source/BetaHubBugReporter/Private/BH_VideoEncoder.cpp b/Source/BetaHubBugReporter/Private/BH_VideoEncoder.cpp index 5b643ca..9a09386 100644 --- a/Source/BetaHubBugReporter/Private/BH_VideoEncoder.cpp +++ b/Source/BetaHubBugReporter/Private/BH_VideoEncoder.cpp @@ -298,7 +298,7 @@ FString BH_VideoEncoder::MergeSegments(int32 MaxSegments) SegmentFiles.Sort(); if (SegmentFiles.Num() > MaxSegments) { - SegmentFiles.RemoveAt(0, SegmentFiles.Num() - MaxSegments, true); + SegmentFiles.RemoveAt(0, SegmentFiles.Num() - MaxSegments, EAllowShrinking::Yes); } // Check if there are any segments to merge From e311b4da4063dbf4b1c295dd41272c9688f3fb62 Mon Sep 17 00:00:00 2001 From: Luz4r Date: Wed, 20 Nov 2024 14:21:29 +0100 Subject: [PATCH 04/16] Fix typo in macro for lower UE version than 5.5 --- Source/BetaHubBugReporter/Private/BH_GameRecorder.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/BetaHubBugReporter/Private/BH_GameRecorder.cpp b/Source/BetaHubBugReporter/Private/BH_GameRecorder.cpp index 09295fd..1be3609 100644 --- a/Source/BetaHubBugReporter/Private/BH_GameRecorder.cpp +++ b/Source/BetaHubBugReporter/Private/BH_GameRecorder.cpp @@ -316,10 +316,10 @@ void UBH_GameRecorder::OnBackBufferReady(SWindow& Window, const FTextureRHIRef& { ReadPixels(BackBuffer); }); - } #else ReadPixels(BackBuffer); #endif + } } void UBH_GameRecorder::ReadPixels(const FTextureRHIRef& BackBuffer) From 0259cf2e39ea166bac3ec3c3bde0e653c9d60b12 Mon Sep 17 00:00:00 2001 From: Luz4r Date: Wed, 20 Nov 2024 17:18:56 +0100 Subject: [PATCH 05/16] Add deleting all segments when starting new recording --- .../Private/BH_VideoEncoder.cpp | 34 ++++++++++++++----- .../Private/BH_VideoEncoder.h | 2 ++ 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/Source/BetaHubBugReporter/Private/BH_VideoEncoder.cpp b/Source/BetaHubBugReporter/Private/BH_VideoEncoder.cpp index 9a09386..85c7329 100644 --- a/Source/BetaHubBugReporter/Private/BH_VideoEncoder.cpp +++ b/Source/BetaHubBugReporter/Private/BH_VideoEncoder.cpp @@ -49,14 +49,7 @@ BH_VideoEncoder::BH_VideoEncoder( PlatformFile.CreateDirectory(*segmentsDir); } - // Remove all existing segment files - IFileManager& FileManager = IFileManager::Get(); - TArray SegmentFiles; - FileManager.FindFiles(SegmentFiles, *(segmentsDir / TEXT("segment_*.mp4")), true, false); - for (const FString& SegmentFile : SegmentFiles) - { - FileManager.Delete(*(segmentsDir / SegmentFile)); - } + RemoveAllSegments(); outputFile = FPaths::Combine(segmentsDir, TEXT("segment_%06d.mp4")); encodingSettings = TEXT("-y -f rawvideo -pix_fmt bgra -s ") + @@ -112,6 +105,8 @@ void BH_VideoEncoder::StartRecording() UE_LOG(LogBetaHub, Log, TEXT("Preferred FFmpeg options: %s"), *PreferredFfmpegOptions); } + RemoveAllSegments(); + thread = FRunnableThread::Create(this, TEXT("BH_VideoEncoderThread"), 0, TPri_Normal); } } @@ -365,6 +360,27 @@ FString BH_VideoEncoder::MergeSegments(int32 MaxSegments) } } +void BH_VideoEncoder::FindAllSegments(TArray& FileNames) +{ + IFileManager& FileManager = IFileManager::Get(); + FileManager.FindFiles(FileNames, *(segmentsDir / TEXT("segment_*.mp4")), true, false); +} + +void BH_VideoEncoder::RemoveAllSegments() +{ + UE_LOG(LogBetaHub, Error, TEXT("Removing all segments!")); + + // Remove all existing segment files + IFileManager& FileManager = IFileManager::Get(); + TArray SegmentFiles; + FindAllSegments(SegmentFiles); + + for (const FString& SegmentFile : SegmentFiles) + { + FileManager.Delete(*(segmentsDir / SegmentFile)); + } +} + void BH_VideoEncoder::RemoveOldSegments() { // Removing by count instead of age, because video can be paused and we don't @@ -372,7 +388,7 @@ void BH_VideoEncoder::RemoveOldSegments() IFileManager& FileManager = IFileManager::Get(); TArray SegmentFiles; - FileManager.FindFiles(SegmentFiles, *(segmentsDir / TEXT("segment_*.mp4")), true, false); + FindAllSegments(SegmentFiles); // Sort segment files based on their numerical part SegmentFiles.Sort([](const FString& A, const FString& B) diff --git a/Source/BetaHubBugReporter/Private/BH_VideoEncoder.h b/Source/BetaHubBugReporter/Private/BH_VideoEncoder.h index 8159d2a..01c2645 100644 --- a/Source/BetaHubBugReporter/Private/BH_VideoEncoder.h +++ b/Source/BetaHubBugReporter/Private/BH_VideoEncoder.h @@ -36,6 +36,8 @@ class BH_VideoEncoder : public FRunnable FDateTime LastSegmentCheckTime; void RunEncoding(); + void FindAllSegments(TArray& FileNames); + void RemoveAllSegments(); void RemoveOldSegments(); int32 GetSegmentCountToKeep(); From 8c9c3da6d1256c81d62d1ed04b7ff19f0a131b8b Mon Sep 17 00:00:00 2001 From: Luz4r Date: Thu, 21 Nov 2024 15:47:47 +0100 Subject: [PATCH 06/16] Change binding to use enhanced input plugin --- BetaHubBugReporter.uplugin | 8 +++++- .../BetaHubBugReporter.Build.cs | 1 + .../BetaHubBugReporter/Private/BH_Manager.cpp | 26 +++++++++++++++---- Source/BetaHubBugReporter/Public/BH_Manager.h | 5 +++- .../Public/BH_PluginSettings.h | 1 + 5 files changed, 34 insertions(+), 7 deletions(-) diff --git a/BetaHubBugReporter.uplugin b/BetaHubBugReporter.uplugin index d405fe1..c24f5ec 100644 --- a/BetaHubBugReporter.uplugin +++ b/BetaHubBugReporter.uplugin @@ -6,7 +6,7 @@ "Description": "Bug reporting functionality for BetaHub.io", "Category": "Other", "CreatedBy": "Upsoft sp. z o. o.", - "EngineVersion": "5.3.0", + "EngineVersion": "5.5.0", "CreatedByURL": "https://betahub.io/", "DocsURL": "https://www.betahub.io/docs/integration-guides/#unreal-plugin-integration", "MarketplaceURL": "", @@ -25,6 +25,12 @@ ] } ], + "Plugins": [ + { + "Name": "EnhancedInput", + "Enabled": true + } + ], "AdditionalFiles": [ "ThirdParty/FFmpeg/Windows/ffmpeg.exe" ] diff --git a/Source/BetaHubBugReporter/BetaHubBugReporter.Build.cs b/Source/BetaHubBugReporter/BetaHubBugReporter.Build.cs index ac4ba32..dc4792f 100644 --- a/Source/BetaHubBugReporter/BetaHubBugReporter.Build.cs +++ b/Source/BetaHubBugReporter/BetaHubBugReporter.Build.cs @@ -47,6 +47,7 @@ public BetaHubBugReporter(ReadOnlyTargetRules Target) : base(Target) "JsonUtilities", "RenderCore", "RHI", + "EnhancedInput" // ... add private dependencies that you statically link with here ... } ); diff --git a/Source/BetaHubBugReporter/Private/BH_Manager.cpp b/Source/BetaHubBugReporter/Private/BH_Manager.cpp index 12905d8..9f0c2cb 100644 --- a/Source/BetaHubBugReporter/Private/BH_Manager.cpp +++ b/Source/BetaHubBugReporter/Private/BH_Manager.cpp @@ -1,10 +1,20 @@ #include "BH_Manager.h" #include "BH_Log.h" +#include "EnhancedInputComponent.h" +#include "EnhancedInputSubsystems.h" +#include "InputMappingContext.h" UBH_Manager::UBH_Manager() : InputComponent(nullptr) { Settings = GetMutableDefault(); + + IA_ShowReportForm = GetMutableDefault(); + IA_ShowReportForm->bTriggerWhenPaused = true; + IA_ShowReportForm->bReserveAllMappings = true; + BetaHubMappingContext = GetMutableDefault(); + + BetaHubMappingContext->MapKey(IA_ShowReportForm, Settings->ShortcutKey); } void UBH_Manager::StartService(UGameInstance* GI) @@ -78,12 +88,18 @@ void UBH_Manager::OnPlayerControllerChanged(APlayerController* PC) { CurrentPlayerController = PC; - if (PC) + //Add Input Mapping Context + UEnhancedInputLocalPlayerSubsystem* Subsystem = ULocalPlayer::GetSubsystem(PC->GetLocalPlayer()); + + if (Subsystem && BetaHubMappingContext) + { + Subsystem->AddMappingContext(BetaHubMappingContext, 0); + } + + if (PC && IA_ShowReportForm) { - InputComponent = NewObject(PC); - InputComponent->RegisterComponent(); - InputComponent->BindKey(Settings->ShortcutKey, IE_Pressed, this, &UBH_Manager::OnBackgroundServiceRequestWidget); - PC->PushInputComponent(InputComponent); + InputComponent = Cast(PC->InputComponent); + InputComponent->BindAction(IA_ShowReportForm, ETriggerEvent::Completed, this, &UBH_Manager::OnBackgroundServiceRequestWidget); } } diff --git a/Source/BetaHubBugReporter/Public/BH_Manager.h b/Source/BetaHubBugReporter/Public/BH_Manager.h index 3b9455b..6402ec3 100644 --- a/Source/BetaHubBugReporter/Public/BH_Manager.h +++ b/Source/BetaHubBugReporter/Public/BH_Manager.h @@ -21,10 +21,13 @@ class BETAHUBBUGREPORTER_API UBH_Manager : public UObject void OnLocalPlayerAdded(ULocalPlayer* Player); void OnPlayerControllerChanged(APlayerController* PC); - TObjectPtr InputComponent; + TObjectPtr InputComponent; TObjectPtr CurrentPlayerController; + TObjectPtr IA_ShowReportForm; + TObjectPtr BetaHubMappingContext; + public: UBH_Manager(); diff --git a/Source/BetaHubBugReporter/Public/BH_PluginSettings.h b/Source/BetaHubBugReporter/Public/BH_PluginSettings.h index 4e478a7..b88a139 100644 --- a/Source/BetaHubBugReporter/Public/BH_PluginSettings.h +++ b/Source/BetaHubBugReporter/Public/BH_PluginSettings.h @@ -4,6 +4,7 @@ #include "UObject/NoExportTypes.h" #include "BH_ReportFormWidget.h" #include "BH_PopupWidget.h" +#include "InputAction.h" #include "BH_PluginSettings.generated.h" UCLASS(Config=Game, defaultconfig) From c37cab8e3bb6833d6a633274678c27bb3e7377e0 Mon Sep 17 00:00:00 2001 From: Luz4r Date: Tue, 7 Jan 2025 12:15:46 +0100 Subject: [PATCH 07/16] Add supported engine versions to .uplugin... and fix deprecated code for UE 5.5 and 5.3 --- BetaHubBugReporter.uplugin | 2 +- Source/BetaHubBugReporter/Private/BH_VideoEncoder.cpp | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/BetaHubBugReporter.uplugin b/BetaHubBugReporter.uplugin index c24f5ec..69aa3b8 100644 --- a/BetaHubBugReporter.uplugin +++ b/BetaHubBugReporter.uplugin @@ -6,7 +6,7 @@ "Description": "Bug reporting functionality for BetaHub.io", "Category": "Other", "CreatedBy": "Upsoft sp. z o. o.", - "EngineVersion": "5.5.0", + "EngineVersion": [ "5.3.0", "5.4.0", "5.5.0" ], "CreatedByURL": "https://betahub.io/", "DocsURL": "https://www.betahub.io/docs/integration-guides/#unreal-plugin-integration", "MarketplaceURL": "", diff --git a/Source/BetaHubBugReporter/Private/BH_VideoEncoder.cpp b/Source/BetaHubBugReporter/Private/BH_VideoEncoder.cpp index 85c7329..ef13dc8 100644 --- a/Source/BetaHubBugReporter/Private/BH_VideoEncoder.cpp +++ b/Source/BetaHubBugReporter/Private/BH_VideoEncoder.cpp @@ -293,7 +293,11 @@ FString BH_VideoEncoder::MergeSegments(int32 MaxSegments) SegmentFiles.Sort(); if (SegmentFiles.Num() > MaxSegments) { +#if ENGINE_MINOR_VERSION >= 5 SegmentFiles.RemoveAt(0, SegmentFiles.Num() - MaxSegments, EAllowShrinking::Yes); +#else + SegmentFiles.RemoveAt(0, SegmentFiles.Num() - MaxSegments, true); +#endif } // Check if there are any segments to merge From c4440d831f34fe49e7a6abd1d25b0a96c1e217f6 Mon Sep 17 00:00:00 2001 From: Luz4r Date: Tue, 14 Jan 2025 13:05:20 +0100 Subject: [PATCH 08/16] Add data table for hidden pixels areas for screen recording... Prepare editor widget to show currently saved areas of screen to hide when recording --- Content/DT_HiddenPixels.uasset | Bin 0 -> 2441 bytes Content/EWBP_AreaCords.uasset | Bin 0 -> 50676 bytes Content/EWBP_HiddenPixelsList.uasset | Bin 0 -> 59557 bytes Content/SHiddenPixelsRect.uasset | Bin 0 -> 4274 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Content/DT_HiddenPixels.uasset create mode 100644 Content/EWBP_AreaCords.uasset create mode 100644 Content/EWBP_HiddenPixelsList.uasset create mode 100644 Content/SHiddenPixelsRect.uasset diff --git a/Content/DT_HiddenPixels.uasset b/Content/DT_HiddenPixels.uasset new file mode 100644 index 0000000000000000000000000000000000000000..1412a440bb02a2f8455fa5393dc32ff8cec1380f GIT binary patch literal 2441 zcmbVOeQZ-z6hG_(Cm&kDO&u81Xc>_uO-S z=i{Dx&uwS+-t+p!d_KRul4w~4(eFHin5FNsKQ-PRfBV$f*N&;P-!|QG6U)x+IDUFA za`?jXZ#+lZr{k{mEE~U$=uV!SBf?NOW``o#ksgsrYlhI8qkV%Llf%Pev^zN=QaYoE z*6?_8iOG_qifA3Pt=?cL9`Z+{F(v8_D$$l;G|;N}Vl6>$tD=MgCK_Pmx4xQ)W17Yj zOHCC$%QMDd9`CO4ZLf0Gb{v@bTs-y4i63(fbxrxLbzLvydMn>t>N<+p@PkCE`Ll%1 zz13NvBcwwU?|%Bn+Axc-nO{(7g#QnK7D`v?lr=9C{48iya%d(z{* zhL+_jygF6mKz)mnZq?XfVndD2251&m_0$i}Ib>CEQOwFsuU&#cUpmtz#ze|29^BEP zBeVC_ux1O_J+1lam)v^~UF*#c`BTRbOderubR@}@c|QDH2hK}Lsk%n!$S{PdEB5tbb9f95T>q3i) zM>&UKtAu-}tIt?%Nw{pFzxnFkQeX+*C6(g-VjOp;NsHlXuY$YP(%GkS{_HrJ%VN0I zSBYD1=`Qg;ZYYEMm*p}iyp3|NkjYx1#jiv%N9fsA(U-(aQ=Ay+pAt-6K}^eep0u3p zmqwP(J^>shm+84v7H6;sk_+VlFR4WFM ysT6ShjZ|?TLF;%d`d?*+|5UyF$I(5mdry9adfX068;yM*+FbR;Cyj1P2K;}i^Q}w( literal 0 HcmV?d00001 diff --git a/Content/EWBP_AreaCords.uasset b/Content/EWBP_AreaCords.uasset new file mode 100644 index 0000000000000000000000000000000000000000..5e5d5b7e8d791e2a6a140876a50e51bce871ea65 GIT binary patch literal 50676 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 BXrurD literal 0 HcmV?d00001 diff --git a/Content/SHiddenPixelsRect.uasset b/Content/SHiddenPixelsRect.uasset new file mode 100644 index 0000000000000000000000000000000000000000..6b3133f694126beb0eb273d23cdd6ef882266ad2 GIT binary patch literal 4274 zcmb_g3vd)w7JbMsin@p({tbu-BqW*144Hr*<`ebvrhSiX3|Sm3TV zPwr`pYzub{U*C}`ylmuEgbU4o_`RySe~o!^>#+9B$aq&d;f^lYcHnTR^VpDmo=w4* zt4hWZZs%Eyjis?P#7(6-9SfyfXY-_PnA|9Bs8-`~uGOncc_KBNx0uAo*tPUL(T_3u zW$D3;jiPZ%c}>(|b- z1ieG!etM45b94K=4VT7>>N-|^JNU)T3S^o-@k@dj_&MU^NqP5iXjJv45Xia z?C8eYGltQssHiFGFPhC0TuJeX{t~~SGj{OJ>w2NnCIP+;Hyy%c6oq5?PzxvDbQ0YN zlb;YPU9{n}E^TNr)TCJ&)(ze?Gj=;B-PMYUE{<80N`duq;ep_?>=D~V{F z6%Tl*;9MdE4MWM)8+wu(W`@;l`%Hy~SVY&%Xk0aCYBgHQRJ0b(UfR^L2ZqF=ni5O! z^7tGz-pWn(?>pz8JK{9HE}byd8%TE}Uuv>F#lxR>ZE8@K@M+2-&hA>bcNNr!5^0_^ zRLyM6Bsn|#yuWmv1FWtm9Giv?*tQlf#2UG=NY#`?O)9LDQ7qCnb>_v{1UnjY3?)ep zv2?8U`jOcjbGWjwUMGb_UU%yIjY3_<h%UD`O2$8-m-cj0vEl!d&(G}0|*+Td9cnYHuF_Yjdf zCFywM?_9A0(XXS%AbdX1_Kyx2iFi3&E59kIg^|LIWBqrZgUq)I!Qlyh@cfa>2wktV zEL2+g4SI``P?ssDs%wyyN-C7o!_3TTNT=9|qZ5(8w{X_~&L?Dpew*1t=uOj~Jr0w} zAxF`a9mW`HGAt#WWSyfPY=$|O&kk1^``bx`!$RMv7%GY=!c(G@$tZSf!S>IE>~ze@ zz5gG5&X2=wIE}OG{mA*7oDD5jJU1WR7X;+vv%bTO!4K)Dn~%`l_I5D@>;+`D+H-sfCE!bpCm-~b<>oy`O$dPEoYJ=L|MKeEeKVhVdf12e{d50ZcWp>!Y?K1gzybY8 zKkztqoEiXMgq$|zcJ>m%#zX+dHD6m+QYN5y?&;~g)6+T5bi7biNV^e33mij_yD}Uk zX`!?jR?5o9+zo}akjLZ3XU!c=Wj4ChMHZ3A%WETL9YB@agsW{j@W=`YDQo}|f35&7 zw+8VRwn>LPHo+~m&$He6#Y>AXnEvL}RijI;*j0EUjO!R+j5UZi?#}rS4yOrla|Jz@}{$7D2K1n$7#3I#x9@ksbPCMaD%uj+~{ zdhZOyHbbF3VsPw{p9|UZ9Uj?da|p8G=Mbd-xb* Date: Tue, 14 Jan 2025 17:34:17 +0100 Subject: [PATCH 09/16] Preparing for creating new areas with dragging on screen lines --- Content/WBP_DrawAreasToHide.uasset | Bin 0 -> 107109 bytes .../BetaHubBugReporter/Private/BH_Manager.cpp | 23 ++++++++++++++++-- Source/BetaHubBugReporter/Public/BH_Manager.h | 4 +++ .../Public/BH_PluginSettings.h | 8 ++++++ 4 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 Content/WBP_DrawAreasToHide.uasset diff --git a/Content/WBP_DrawAreasToHide.uasset b/Content/WBP_DrawAreasToHide.uasset new file mode 100644 index 0000000000000000000000000000000000000000..7cd0afa7c529523a98979702a4b04cec6109be28 GIT binary patch literal 107109 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%0D@i)@Q?b9wu^anTL5Lq8Y5FVK&U# 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 B`C$M6 literal 0 HcmV?d00001 diff --git a/Source/BetaHubBugReporter/Private/BH_Manager.cpp b/Source/BetaHubBugReporter/Private/BH_Manager.cpp index fa0f5a3..e718bd8 100644 --- a/Source/BetaHubBugReporter/Private/BH_Manager.cpp +++ b/Source/BetaHubBugReporter/Private/BH_Manager.cpp @@ -18,10 +18,14 @@ UBH_Manager::UBH_Manager() IA_ShowReportForm = GetMutableDefault(); IA_ShowReportForm->bTriggerWhenPaused = true; - IA_ShowReportForm->bReserveAllMappings = true; + + IA_DrawScreenAreaToHide = GetMutableDefault(); + IA_DrawScreenAreaToHide->bTriggerWhenPaused = true; + BetaHubMappingContext = GetMutableDefault(); BetaHubMappingContext->MapKey(IA_ShowReportForm, Settings->ShortcutKey); + BetaHubMappingContext->MapKey(IA_DrawScreenAreaToHide, Settings->DrawAreasKey); } void UBH_Manager::StartService(UGameInstance* GI) @@ -79,6 +83,20 @@ void UBH_Manager::OnBackgroundServiceRequestWidget() } } +void UBH_Manager::StartDrawingAreasToHide() +{ + auto NewWidget = CreateWidget(CurrentPlayerController, Settings->DrawingAreasToHideWidgetClass); + + if (NewWidget) + { + NewWidget->AddToViewport(99999); + } + else + { + UE_LOG(LogBetaHub, Error, TEXT("Drawing areas widget cannot be created!")); + } +} + UBH_ReportFormWidget* UBH_Manager::SpawnBugReportWidget(bool bTryCaptureMouse) { if (!BackgroundService) @@ -115,10 +133,11 @@ void UBH_Manager::OnPlayerControllerChanged(APlayerController* PC) Subsystem->AddMappingContext(BetaHubMappingContext, 0); } - if (PC && IA_ShowReportForm) + if (PC && IA_ShowReportForm && IA_DrawScreenAreaToHide) { InputComponent = Cast(PC->InputComponent); InputComponent->BindAction(IA_ShowReportForm, ETriggerEvent::Completed, this, &UBH_Manager::OnBackgroundServiceRequestWidget); + InputComponent->BindAction(IA_DrawScreenAreaToHide, ETriggerEvent::Completed, this, &UBH_Manager::StartDrawingAreasToHide); } } diff --git a/Source/BetaHubBugReporter/Public/BH_Manager.h b/Source/BetaHubBugReporter/Public/BH_Manager.h index 2fdbc05..6af5bce 100644 --- a/Source/BetaHubBugReporter/Public/BH_Manager.h +++ b/Source/BetaHubBugReporter/Public/BH_Manager.h @@ -55,6 +55,7 @@ class BETAHUBBUGREPORTER_API UBH_Manager : public UObject TObjectPtr CurrentPlayerController; TObjectPtr IA_ShowReportForm; + TObjectPtr IA_DrawScreenAreaToHide; TObjectPtr BetaHubMappingContext; public: @@ -73,6 +74,9 @@ class BETAHUBBUGREPORTER_API UBH_Manager : public UObject UFUNCTION(BlueprintCallable, Category="Bug Report") void OnBackgroundServiceRequestWidget(); + UFUNCTION(BlueprintCallable, Category = "Bug Report") + void StartDrawingAreasToHide(); + void HideScreenAreaFromReport(FVector4 AreaToHide); void HideScreenAreaFromReportArray(TArray AreasToHide); void SetHiddenAreaColor(FColor NewColor); diff --git a/Source/BetaHubBugReporter/Public/BH_PluginSettings.h b/Source/BetaHubBugReporter/Public/BH_PluginSettings.h index 52dc0e2..b8129fb 100644 --- a/Source/BetaHubBugReporter/Public/BH_PluginSettings.h +++ b/Source/BetaHubBugReporter/Public/BH_PluginSettings.h @@ -35,6 +35,10 @@ class BETAHUBBUGREPORTER_API UBH_PluginSettings : public UObject meta=(ToolTip="The shortcut key to open the bug report form.")) FKey ShortcutKey; + UPROPERTY(EditAnywhere, Config, Category = "Settings", + meta = (ToolTip = "The shortcut key to draw screen areas to hide.")) + FKey DrawAreasKey; + UPROPERTY(EditAnywhere, Config, Category="Settings", meta=(ToolTip="The maximum number of frames per second (FPS) to record in the bug report video.")) int32 MaxRecordedFrames; @@ -59,6 +63,10 @@ class BETAHUBBUGREPORTER_API UBH_PluginSettings : public UObject meta=(ToolTip="The path to the widget that will be used to display the popup messages.")) TSubclassOf PopupWidgetClass; + UPROPERTY(EditAnywhere, Config, Category="Settings", + meta = (ToolTip = "The path to the widget to draw areas to hide screen from recording.")) + TSubclassOf DrawingAreasToHideWidgetClass; + virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent); private: From 5254a3dee88c7194cc39685ec5c2c0f579791527 Mon Sep 17 00:00:00 2001 From: Luz4r Date: Thu, 16 Jan 2025 15:20:56 +0100 Subject: [PATCH 10/16] Change using created IMC from blueprint rather than code --- Content/IA_ShowBugReportForm.uasset | Bin 0 -> 1433 bytes Content/IA_ShowHidingArea.uasset | Bin 0 -> 1418 bytes Content/IA_StartDrawingAreaToHide.uasset | Bin 0 -> 1531 bytes Content/IMC_BetaHub.uasset | Bin 0 -> 3510 bytes Content/IMC_BetaHubDrawingAreaToHide.uasset | Bin 0 -> 2936 bytes Content/WBP_DrawAreasToHide.uasset | Bin 107109 -> 165271 bytes .../BetaHubBugReporter/Private/BH_Manager.cpp | 20 ++++++------------ .../Private/BH_PluginSettings.cpp | 13 +++++++++++- Source/BetaHubBugReporter/Public/BH_Manager.h | 2 -- .../Public/BH_PluginSettings.h | 10 +++------ 10 files changed, 22 insertions(+), 23 deletions(-) create mode 100644 Content/IA_ShowBugReportForm.uasset create mode 100644 Content/IA_ShowHidingArea.uasset create mode 100644 Content/IA_StartDrawingAreaToHide.uasset create mode 100644 Content/IMC_BetaHub.uasset create mode 100644 Content/IMC_BetaHubDrawingAreaToHide.uasset diff --git a/Content/IA_ShowBugReportForm.uasset b/Content/IA_ShowBugReportForm.uasset new file mode 100644 index 0000000000000000000000000000000000000000..e6c77164bcb789381eba1d61fecd130eac2946ff GIT binary patch literal 1433 zcmX@utTpe)|Ns9Jm>C$jm>3wo0%;In1md?D8=ky$n(~GFmf<4D-EMjsKrt~^1_n(a zt?!gtlIT&IkU1cSumT|i!?SaCOhQ0f zTRYU%R68g&CpED+Ro7I{l%PCN6BwlZaYzO+e1P_+f{a80zySRZ3Mr7CnMiUVreA(u zD#I7%qr9>}PC#OEc4B&}PkwS@PG(hNNoIbYUt(@*aY15oDuYl-Wd})NeR5gLY!RTT z`oYOXnFS^K&iO^Dq5er(smUb_KRk8q#E|4%^D+|il2cPW^9o8!7_P26{e}%F>ztEV zT+C2XUNKP=$io_;=6uRYJRnJsM#p53lNp305_mX)V!psc;gVRA$nd0L%VZ9q0MvgB z#qJ%V0th}_-CUg|sn8S$juxO2hQGkT1L;Kv=<5Ce)v=>10`g(%Kn{Wdm>7%?qG4jl z>VR>H0saB)K^6ps69|A36EBzr$rey11_erd(8SLGGz!HmWW_LdpsV46Dgq@YCn#GP zDN!Mtk8B=@jcyjQJj_01F=RH#T=a;>nJV~!A;$)F6i6dZg-Sq4So%asgL=pb3glOi z-G0CC$jm>3wo0%;In1md?D8=ky$n(~GFmf<4D-EMjsKrwb!1_m`C zt?!gtlIT&IEWs`(exc}ze7 z5EcUB6Yu`b7um?=wM);Dt#84H_I8fey%v4~F3V>`HK*kLd;_u@WDdw7tU$=X@a&u& zlMs;B)(&+w)ecI{Nlh$H)iu>KB`6Qn1O}fq`rd*V4nX_EKt>_~U}*ja1rx~5C?q)$ z(=R_SmEjBXQC?XfCm=C7J25@gCqFqcC$lQCBr`wHFEKZ@xF9h(l|iVavV-`54!Q4n zQ3PnDesFS8W=}SYp_qlN80HRiHC#|dpk(9( zWs4vsCuH-H%>%K~%|e!k*@rBK%m$f@5z#;~%p}1E47Tskpabc`o^X_aGO%QclJxYD zlM=|6AY1)_*`O>Hk{E4~bRs2aJ+Q1gK{M4EKtULmm{Xb>QdyA707_g=`T4-io(C>Z yU;zviCIFCwS`nz0VDWVjSgKC{wzNUd`p89)&t%XnD7$A7$Z~4GrU6tOq#ghez7j0} literal 0 HcmV?d00001 diff --git a/Content/IA_StartDrawingAreaToHide.uasset b/Content/IA_StartDrawingAreaToHide.uasset new file mode 100644 index 0000000000000000000000000000000000000000..a9f3432dbf247d10d57bfcf00151bc90de8f48e1 GIT binary patch literal 1531 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 YPh=1|nVIr&zndGswkINzeAUr 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%0D@i)@Q?b9wu^anTL5Lq8Y5FVK&U# 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 B`C$M6 diff --git a/Source/BetaHubBugReporter/Private/BH_Manager.cpp b/Source/BetaHubBugReporter/Private/BH_Manager.cpp index e718bd8..6fa1aa7 100644 --- a/Source/BetaHubBugReporter/Private/BH_Manager.cpp +++ b/Source/BetaHubBugReporter/Private/BH_Manager.cpp @@ -16,16 +16,7 @@ UBH_Manager::UBH_Manager() { Settings = GetMutableDefault(); - IA_ShowReportForm = GetMutableDefault(); - IA_ShowReportForm->bTriggerWhenPaused = true; - - IA_DrawScreenAreaToHide = GetMutableDefault(); - IA_DrawScreenAreaToHide->bTriggerWhenPaused = true; - - BetaHubMappingContext = GetMutableDefault(); - - BetaHubMappingContext->MapKey(IA_ShowReportForm, Settings->ShortcutKey); - BetaHubMappingContext->MapKey(IA_DrawScreenAreaToHide, Settings->DrawAreasKey); + BetaHubMappingContext = Settings->BetaHubMappingContext; } void UBH_Manager::StartService(UGameInstance* GI) @@ -89,7 +80,7 @@ void UBH_Manager::StartDrawingAreasToHide() if (NewWidget) { - NewWidget->AddToViewport(99999); + NewWidget->AddToViewport(); } else { @@ -133,11 +124,14 @@ void UBH_Manager::OnPlayerControllerChanged(APlayerController* PC) Subsystem->AddMappingContext(BetaHubMappingContext, 0); } - if (PC && IA_ShowReportForm && IA_DrawScreenAreaToHide) + TObjectPtr IA_ShowReportForm = BetaHubMappingContext->GetMapping(0).Action; + TObjectPtr IA_ShowDrawArea = BetaHubMappingContext->GetMapping(1).Action; + + if (PC && IA_ShowReportForm && IA_ShowDrawArea) { InputComponent = Cast(PC->InputComponent); InputComponent->BindAction(IA_ShowReportForm, ETriggerEvent::Completed, this, &UBH_Manager::OnBackgroundServiceRequestWidget); - InputComponent->BindAction(IA_DrawScreenAreaToHide, ETriggerEvent::Completed, this, &UBH_Manager::StartDrawingAreasToHide); + InputComponent->BindAction(IA_ShowDrawArea, ETriggerEvent::Completed, this, &UBH_Manager::StartDrawingAreasToHide); } } diff --git a/Source/BetaHubBugReporter/Private/BH_PluginSettings.cpp b/Source/BetaHubBugReporter/Private/BH_PluginSettings.cpp index c305096..122ad2d 100644 --- a/Source/BetaHubBugReporter/Private/BH_PluginSettings.cpp +++ b/Source/BetaHubBugReporter/Private/BH_PluginSettings.cpp @@ -3,6 +3,7 @@ #include "BH_PluginSettings.h" #include "BH_Log.h" +#include "InputMappingContext.h" #include "UObject/ConstructorHelpers.h" UBH_PluginSettings::UBH_PluginSettings() @@ -11,7 +12,6 @@ UBH_PluginSettings::UBH_PluginSettings() ApiEndpoint = TEXT("https://app.betahub.io"); bSpawnBackgroundServiceOnStartup = true; bEnableShortcut = true; - ShortcutKey = EKeys::F12; MaxRecordedFrames = 30; MaxRecordingDuration = 60; MaxVideoWidth = 2000; @@ -20,6 +20,8 @@ UBH_PluginSettings::UBH_PluginSettings() static ConstructorHelpers::FClassFinder WidgetClassFinder1(TEXT("/BetaHubBugReporter/BugReportForm")); static ConstructorHelpers::FClassFinder WidgetClassFinder2(TEXT("/BetaHubBugReporter/BugReportFormPopup")); + static ConstructorHelpers::FObjectFinder MappingContextFinder(TEXT("/BetaHubBugReporter/IMC_BetaHub")); + if (WidgetClassFinder1.Succeeded()) { ReportFormWidgetClass = WidgetClassFinder1.Class; @@ -38,6 +40,15 @@ UBH_PluginSettings::UBH_PluginSettings() UE_LOG(LogBetaHub, Error, TEXT("Failed to find widget class at specified path.")); } + if (MappingContextFinder.Succeeded()) + { + BetaHubMappingContext = MappingContextFinder.Object; + } + else + { + UE_LOG(LogBetaHub, Error, TEXT("Failed to find Input Mapping Context.")); + } + ValidateSettings(); } diff --git a/Source/BetaHubBugReporter/Public/BH_Manager.h b/Source/BetaHubBugReporter/Public/BH_Manager.h index 6af5bce..d0056ec 100644 --- a/Source/BetaHubBugReporter/Public/BH_Manager.h +++ b/Source/BetaHubBugReporter/Public/BH_Manager.h @@ -54,8 +54,6 @@ class BETAHUBBUGREPORTER_API UBH_Manager : public UObject TObjectPtr CurrentPlayerController; - TObjectPtr IA_ShowReportForm; - TObjectPtr IA_DrawScreenAreaToHide; TObjectPtr BetaHubMappingContext; public: diff --git a/Source/BetaHubBugReporter/Public/BH_PluginSettings.h b/Source/BetaHubBugReporter/Public/BH_PluginSettings.h index b8129fb..dd450f2 100644 --- a/Source/BetaHubBugReporter/Public/BH_PluginSettings.h +++ b/Source/BetaHubBugReporter/Public/BH_PluginSettings.h @@ -31,13 +31,9 @@ class BETAHUBBUGREPORTER_API UBH_PluginSettings : public UObject meta=(ToolTip="Enable or disable the shortcut key to open the bug report form.")) bool bEnableShortcut; - UPROPERTY(EditAnywhere, Config, Category="Settings", - meta=(ToolTip="The shortcut key to open the bug report form.")) - FKey ShortcutKey; - - UPROPERTY(EditAnywhere, Config, Category = "Settings", - meta = (ToolTip = "The shortcut key to draw screen areas to hide.")) - FKey DrawAreasKey; + UPROPERTY(EditAnywhere, Category = "Settings", + meta = (ToolTip = "Input mapping context for BetaHub interactions.")) + TObjectPtr BetaHubMappingContext; UPROPERTY(EditAnywhere, Config, Category="Settings", meta=(ToolTip="The maximum number of frames per second (FPS) to record in the bug report video.")) From 0ece95913b53e2ab47eb5ddd6465c1f27139dcbc Mon Sep 17 00:00:00 2001 From: Luz4r Date: Fri, 17 Jan 2025 16:59:27 +0100 Subject: [PATCH 11/16] Change widgets from drawing areas to hide to common ui --- Content/DT_HiddenPixels.uasset | Bin 2441 -> 2143 bytes Content/IA_StartDrawingAreaToHide.uasset | Bin 1531 -> 1531 bytes Content/IA_StopDrawingAreaToHide.uasset | Bin 0 -> 1526 bytes Content/IMC_BetaHubDrawingAreaToHide.uasset | Bin 2936 -> 4024 bytes Content/WBP_DrawAreaToHide.uasset | Bin 0 -> 178098 bytes Content/WBP_DrawAreasToHide.uasset | Bin 165271 -> 179223 bytes Content/WBP_TEST.uasset | Bin 0 -> 19462 bytes 7 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Content/IA_StopDrawingAreaToHide.uasset create mode 100644 Content/WBP_DrawAreaToHide.uasset create mode 100644 Content/WBP_TEST.uasset diff --git a/Content/DT_HiddenPixels.uasset b/Content/DT_HiddenPixels.uasset index 1412a440bb02a2f8455fa5393dc32ff8cec1380f..0599564548230dc14ffe394da900db8a08e508fd 100644 GIT binary patch delta 678 zcmeAazArGrg_WP3fk9<*9i#Zf1Q9-Q1_p*&Mj!zME0`ziajJ(xm<$ZeK*j+U1_q#V zpcDgx02@e#fk6gHgRl+|hc9pbIRBrP`}(biJd(f7U9nGAOy_^Jm`~TfVCDsEdP_kj zgUk`1_%B!~45&ey17rjO{09P%gZO|#`W%ys8AB#NX4IPO$@G#D>PCUdSL4Zr6#{8G24yQlq;CMFMWI3< zQ=Fjem+X`E*m~F$fPwm-ZSn!O{V~WcV&H@-14_dIFfth!ej9QP(c*8fyB@SK(???*5ph807Jr4{Qv*} delta 918 zcmbVKO=uHA6n?Xr-E68&6E{g~Vxfqjh?MMRsUAFR6H`e+(_PlA^ot)=z7-PyYJ=m)dk`~R7pZ<%@P!6AJn39t)q ziSDJzT)G4RHwAqN8Hv)|JsOGt2@>|`02EFxfLVh*0C$M_JficgRGF0h`6Kt=fA(9C z-+XWP7WS>5DIB}o9!Weg`k!)Tu2WiC8`;^WgwYh2_=|M{544R;<0+gLr*=>j3^x4> zHfU$hzm7BqzTSA*i=V{agDwReZcI)2SB4w2{^jYD{>AGP&cuGZI#{pODsH(}cdPb* zJ>=9K=fHql8LB$vnhV9nE5aGH{?HeLAHemY&CpFYw|u-4omKm2PQP3P0)##vI-1r6i6SZ_|7i8`z4% zusVYMe(|EL9uHJ5*s0>W6tgW8lU38ea+JS33WHxz1QW|L*V<%Z*S{Ob$Kq}IF!(tz z;xlAJ6LA0d41J`lI^!P61jQ|w_X3?b>cr2K@qZoq7Q7%E8XB%QI9!n( KST-bT=D9!Ab%j3w diff --git a/Content/IA_StartDrawingAreaToHide.uasset b/Content/IA_StartDrawingAreaToHide.uasset index a9f3432dbf247d10d57bfcf00151bc90de8f48e1..1d50dc301e881943140f5335bf21cdcb7ee4adc5 100644 GIT binary patch delta 36 ucmV+<0Nelj3;PR@%Mdd{F)*dWiA#n$o(Pl7qc@S;AO!&c?V(Dt0s90Z{0~I{ delta 36 ucmV+<0Nelj3;PR@%MhDNRP_!J?n#q)T@((|i&CY5{4@LwM zLBG;dL1AwhKJ-+O7}Y~T5Y$VQFIf@fn~BiRcFz2)qoLLr?wr5xo_p^(=ibqCTW?J# z5{dRSfUH!2@5qT#a7=U#kAD@fPiDU>xg$K<>)wpEqZt52$UP$0Sxvk{jE5V!s%Sdb zJhehwldh-%jde%lu%L0)tkgt89N_@DI5diiG=dAQNA556?GSur+e`h$!cJdtKnMm) zePW4FUgj$gc>TpmFyf&Ncb0BV-c15hHF6rQIEF4A`SJ1md-1IQLsRJT!>PyOnt`Fr z{5|(JwhvtGI@L>SQykhz27W0pal0-x54FO=mY}z=kw-a;@glF=Yxn^^zp9$YkCO~K z)?bxL!bM#F31-GgnA8Mi3tjNs;iL6MMTs_Oipn*;2VCjH7nY;3qgjiD!(40aGXr!0v5k;Dr>Il@4D}?qssWL$$IR*WvB`m*1A4*B@oE80g)n zudGIG-bVQHX{;iL05n;UXzP%-sy&C2cmNwJz;p)VeGjfJLxXirh*kIJyJqwx?&h{Z zZs&C=`iXvF(z8s_D7GbHK~1u8KM`kC4$agQHrcpr+ko7*Erz2!5IJ$baUIiY{^?vq z6n~Q;nODjZ|6M6c3%y`x?89qPXKjooF9@d7+PylfAKlKzqBGMT>hX$nakE2rIc7S#+--OZ7L8c| z)Le&IG|roQR1Q>5y33r&#yz)N56v@mGZe?qMH@@fECsD}cNSWU+^1Kcl+Fx aPhV58waL(?&^1YGrBAN0qSny2MQyB|3Cn8ojg#igMV`lqb;+kE|9J7lvIP8?D7GQXD506a$R<2_0h^4N8dNtokWK+bDi9punjFY3 zKKUh^wq62M=r7O_5J?7LbTcq$0x^gN#y0~m5QBgQKUmvRF8;|G>?&%1(6nd)m7r@e zMbR?(2b+K-C~1HI6A(LrSwI?;q$cZeiBFDU_n4f(&M|ojyDi&#pygY*CO>E2#s*5w z|ClB(=5S_{0=bxJ@*9qOTpS?nAS;%rvr9Jdh?%wUOMK#5&O zrL7`VixQOn4b-O&Ws5>-5QVPp7f_wrBzEa~Rj8srKmlba8=FQAs2qp_ISK>_se@UH zN8Mz04&KS<*=593AVxBP!XXqCLO`&VV=^O$6H_45WJL}!F-?ddIQX1kZ0^Z{oJo^+ zbK0`a0EXgRj>-Qxx3PgDNRMIiE-q&_Zje!ollge>P2%O8{Epj+@$Y0qo(Gd<_@yQX H@Mi!3H$zZ( diff --git a/Content/WBP_DrawAreaToHide.uasset b/Content/WBP_DrawAreaToHide.uasset new file mode 100644 index 0000000000000000000000000000000000000000..d4908d2593b04b469a1f9a6446305ffcc39c640b GIT binary patch literal 178098 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 YPh=1|nVIr&zndGswkINze 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 Date: Mon, 20 Jan 2025 16:25:16 +0100 Subject: [PATCH 12/16] Add blueprint function library for easier saving and accessing saved areas to hide --- Content/BetaHubFunctionLibrary.uasset | Bin 17719 -> 21857 bytes Content/WBP_DrawAreaToHide.uasset | Bin 178098 -> 181408 bytes Content/WBP_DrawAreasToHide.uasset | Bin 179223 -> 0 bytes Content/WBP_TEST.uasset | Bin 19462 -> 0 bytes .../Private/BH_BlueprintFunctionLibrary.cpp | 19 ++++++++++++ .../Private/BH_SavedAreasToHide.cpp | 19 ++++++++++++ .../Private/BH_SavedAreasToHide.h | 29 ++++++++++++++++++ .../Public/BH_BlueprintFunctionLibrary.h | 29 ++++++++++++++++++ 8 files changed, 96 insertions(+) delete mode 100644 Content/WBP_DrawAreasToHide.uasset delete mode 100644 Content/WBP_TEST.uasset create mode 100644 Source/BetaHubBugReporter/Private/BH_BlueprintFunctionLibrary.cpp create mode 100644 Source/BetaHubBugReporter/Private/BH_SavedAreasToHide.cpp create mode 100644 Source/BetaHubBugReporter/Private/BH_SavedAreasToHide.h create mode 100644 Source/BetaHubBugReporter/Public/BH_BlueprintFunctionLibrary.h diff --git a/Content/BetaHubFunctionLibrary.uasset b/Content/BetaHubFunctionLibrary.uasset index d9af4ebfdfc76abaadc77d66d20f920732cbeaae..33c21a458ef62a5b7065cdac145a46f159067e63 100644 GIT binary patch literal 21857 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 literal 17719 zcmc&+33yahmc9i+6hTozR0JxB>|`ek+5(kIWdX8~5JZ$vsd|-^R;ohPt6*$ITG4hL z7yO!0T3hM%8$U#wb{)oUmH9;N_G`grx@}uq9c7r2!Hsc2MVRy7ch7sTDwRrMLVH8i zd-t4k&wjUeU$Nu5>GvNxdi3bZ!9olhB*bTQMLCf^7w%Y5@@>`L6Fyxpo?5$V`s6Hv z-Eh{pmFw<i@Ap=9a&_ynjT5U_bfu)xk&R*X=vdP_t#~)6YEDMX-r~ZuCoKG;< zicNp@Ec)G~hqs=-zI%-S-CTlw)V^)+hpxLnKlyL@o9934$(c&9>j^P~uDLEv_g2MQ zUGcWXT4yAxYf%Py;$fd2jD!~kTch4+HxXwEjlK^%grI-oFzJv@*WzMNX+cF{MTyH( z=JAxfN?iG6?%BmT4lVaQQ8Z~ue)kj4K`{70ks)HR7$lA?c;0b3)n?3C zQZakRVlAY3W7@3QIfW80#Fm+xd%;s9Sw`;5BCUj2Mr;OG7%={(@E(P)Y6&pZhC4>z zHI8{Wd@8YMX;~VHhWzD`u&!OHi4M z?#&~I6S}oJR^boo-qw&NM&I!D)nfr$sI_^0-L;zLZ;I5%qitH_6G5c|*-Lhb zxd-mK8c9>`)wQ+=vHNQ6-8)Cx0F9LR!El=xb=vsXP5?aQjm3n%`pP>|^Ql^F2YOw3 zU9G#NHWJpvlV24~LoSy`HDc_fF63O~4SUT2vZz z>x3tsMy44cOYgN$Z=VaFaGJ{zKr9ZN{sw%4rlzB=J$PabB7*#p+P}Uv>k$UjM`9O? zoy%_=WCJV{QO`#jG8au^V*8OzA($?c_Vd9zMfExi!D%8T@Yrm;>hMdEb5`$qV*-b<0ujWC?`_lK6lO18zw zhqof*A0JInns7ovpJZdDW90dt-ijuKtc~cwKsRD8hHm)nd0k;XiBogVE-w}z2b