Files
UnrealEngineUWP/Engine/Source/Developer/HTML5/HTML5TargetPlatform/Private/HTML5TargetPlatform.h
jason bestimt 339414b7e5 #CodeReview: jason.bestimt,nick.whiting,mike.beach
Merge conflict.
jason.bestimt, please merge this change by hand.
More info at https://robomerge.epicgames.net/

/src/ROBOMERGE_DEVVR_Dev_VR/Engine/Plugins/Lumin/MagicLeap/Source/MagicLeap/Private/FoundObjectComponent.cpp - resolving branch from //UE4/Main/Engine/Plugins/Lumin/MagicLeap/Source/MagicLeap/Private/FoundObjectComponent.cpp#3
Branch resolve:
at: branch
ay: ignore
/src/ROBOMERGE_DEVVR_Dev_VR/Engine/Plugins/Lumin/MagicLeap/Source/MagicLeap/Private/MeshTrackerComponent.cpp - merging //UE4/Main/Engine/Plugins/Lumin/MagicLeap/Source/MagicLeap/Private/MeshTrackerComponent.cpp#4
/src/ROBOMERGE_DEVVR_Dev_VR/Engine/Plugins/Lumin/MagicLeap/Source/MLSDK/Public/MagicLeapPluginUtil.h - merging //UE4/Main/Engine/Plugins/Lumin/MagicLeap/Source/MLSDK/Public/MagicLeapPluginUtil.h#4


--------------------------------------
Copying //UE4/Release-Staging-4.20 to //UE4/Dev-Main (Source: //UE4/Release-4.20 [at] 4212847)
#lockdown Nick.Penwarden

============================
  MAJOR FEATURES & CHANGES
============================

Change 4212847 by Jack.Porter

	Fix foliage serialization issue introduced in CL 4206551
	#jira UE-61765

Change 4208376 by Mike.Beach

	Temporarily removing a block dealing with the VR shared depth buffers that was saving us on a theoretically uneeded depth copy. For the moment, the added depth copy ensures that the depth buffer is set as a input param when needed, and that the swapchain behavior that we do under the hood doesn't interfere with the state caching system. We need to better understand what's going wrong here before we can add this block back in.

	#jira UE-61597

Change 4208297 by Mitchell.Wilson

	Updating lighting on examples 3.1 and 3.3 of the Niagara level. Fixing some spacing issues in the text of exmaple 1.5.
	#jira UE-61738

Change 4207996 by Mitchell.Wilson

	Checking in new icons and launch images.
	#jira UE-61724

Change 4207953 by Frankie.DiPietro

	Editing QAGame test content for VolumeMaterials. Added empty material for particle lights

	#jira UE-29618

Change 4207860 by Marc.Audy

	Fix any key not triggering actions
	#jira UE-61732

Change 4207836 by Ben.Marsh

	New icon from Mitchell.

	#jira

Change 4207228 by Mitchell.Wilson

	Adding all missing iOS icons and launch images.
	#jira UE-61724

Change 4207067 by Michael.Trepka

	Fixed a crash introduced with CL 4183733 - TSharedPtr doesn't work well with ObjC blocks

	#jira UE-61553

Change 4206551 by Jack.Porter

	Cook foliage for HTML5 using full precision instance transforms
	Remove previous shader fix for this issue
	#jira UE-61642
	#jira UE-61141

Change 4206512 by jonathan.lindquist

	Submitting missing files
	Cleared with Nick Bullard-Bradley
	#jira UE-61714

Change 4206421 by Ben.Marsh

	Delete any existing temporary workspace created for SyncDepotPath before trying to sync from it.

	#jira UE-61712

Change 4205345 by Sam.Deiter

	#jira - UE-61567 Fixed a typo in the TPS file for the Cinzel font that is used in game.

Change 4204854 by Sam.Deiter

	#jira - UE-61567 Checking in the Cinzel font that is used in game.

Change 4204665 by Rex.Hill

	Fixed changing media tracks causing video to restart from beginning on Windows.
	#jira UE-61683

Change 4204584 by Michael.Trepka

	Change the order of calls in FMacWindow::Show() to avoid deadlocks when showing certain modal dialog boxes.

	#jira UE-61553

Change 4204541 by Yasiman.Ahsani

	Adding TPS licenses.

	#Jira UE-29618

Change 4203023 by Mitchell.Wilson

	Updating nearly equal tolerance to resolve a scaling regression on some devices.
	#jira UE-61261

Change 4202956 by Marcus.Wassmer

	Disable Aftermath until a fix for a memory leak is found

	#jira UE-58673

Change 4202953 by Patrick.Boutot

	Fixed crash in DC components when the DC is not initialized
	#jira UE-61646

Change 4202952 by Patrick.Boutot

	Fix crash when launching MediaBundle in Standalone
	#jira UE-61669, UE-61672

Change 4202900 by Jason.Bestimt

	Setting bGenerateOverlapEvents back to private

	#JIRA:UE-61678

Change 4202601 by Ben.Marsh

	Reduce log spam when building PhysX for Mac/IOS/TVOS. Console output causes massive regression in build times under Mono (10m -> 3h).

	#jira

Change 4202477 by Sorin.Gradinaru

	UE-61270 RemoteSessionApp does not change orientation connecting to a project in portrait mode on Android

	#jira UE-61270
	#Android
	#4.20

[at]jack.porter

	Setting Orientation: FullSensor for Android builds

Change 4201671 by Mike.Beach

	Only attempting to load dlls if the MLSDK is set up (avoiding needless warnings for users who aren't using the MLSDK).

	#jira UE-61388

Change 4200166 by Matt.Kuhlenschmidt

	Prevent invalidation panel crash when pushing the current clip state when there isnt one

	#jira UE-61534

#rb none

#ROBOMERGE-SOURCE: CL 4217598 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-OWNER: jason.bestimt

[CL 4218011 by jason bestimt in Dev-VR branch]
2018-07-17 16:08:53 -04:00

148 lines
4.4 KiB
C++

// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved.
/*=============================================================================
HTML5TargetPlatform.h: Declares the FHTML5TargetPlatform class.
=============================================================================*/
#pragma once
#include "CoreMinimal.h"
#include "Misc/ConfigCacheIni.h"
#include "HTML5/HTML5PlatformProperties.h"
#include "Interfaces/ITargetPlatform.h"
#include "Common/TargetPlatformBase.h"
#include "Developer/HTML5/HTML5TargetPlatform/Private/HTML5TargetDevice.h"
#if WITH_ENGINE
#include "StaticMeshResources.h"
#endif // WITH_ENGINE
class UTextureLODSettings;
/**
* Implements the HTML5 target platform.
*/
class FHTML5TargetPlatform
: public TTargetPlatformBase<FHTML5PlatformProperties>
{
public:
/**
* Default constructor.
*/
FHTML5TargetPlatform( );
void RefreshHTML5Setup();
//~ Begin ITargetPlatform Interface
virtual void EnableDeviceCheck(bool OnOff) override {}
virtual void GetAllDevices( TArray<ITargetDevicePtr>& OutDevices ) const override;
virtual ECompressionFlags GetBaseCompressionMethod( ) const override;
virtual bool GenerateStreamingInstallManifest(const TMultiMap<FString, int32>& ChunkMap, const TSet<int32>& ChunkIDsInUse) const override
{
return true;
}
virtual ITargetDevicePtr GetDefaultDevice( ) const override;
virtual ITargetDevicePtr GetDevice( const FTargetDeviceId& DeviceId ) override;
virtual bool IsRunningPlatform( ) const override;
virtual bool SupportsFeature( ETargetPlatformFeatures Feature ) const override
{
switch (Feature)
{
case ETargetPlatformFeatures::Packaging:
return true;
case ETargetPlatformFeatures::MobileRendering:
return true;
case ETargetPlatformFeatures::DeferredRendering:
return false;
case ETargetPlatformFeatures::HalfFloatVertexFormat:
return false;
}
return TTargetPlatformBase<FHTML5PlatformProperties>::SupportsFeature(Feature);
}
virtual bool IsSdkInstalled(bool bProjectHasCode, FString& OutDocumentationPath) const override;
#if WITH_ENGINE
virtual void GetAllPossibleShaderFormats( TArray<FName>& OutFormats ) const override;
virtual void GetAllTargetedShaderFormats( TArray<FName>& OutFormats ) const override;
virtual const class FStaticMeshLODSettings& GetStaticMeshLODSettings() const override;
virtual void GetTextureFormats( const UTexture* InTexture, TArray<FName>& OutFormats ) const override;
virtual void GetAllTextureFormats(TArray<FName>& OutFormats) const override;
virtual void GetReflectionCaptureFormats( TArray<FName>& OutFormats ) const override
{
OutFormats.Add(FName(TEXT("EncodedHDR")));
}
virtual const UTextureLODSettings& GetTextureLODSettings() const override;
virtual void RegisterTextureLODSettings(const UTextureLODSettings* InTextureLODSettings) override
{
HTML5LODSettings = InTextureLODSettings;
}
virtual FName GetWaveFormat( const class USoundWave* Wave ) const override;
virtual void GetAllWaveFormats(TArray<FName>& OutFormats) const override;
virtual FPlatformAudioCookOverrides* GetAudioCompressionSettings() const override;
#endif // WITH_ENGINE
DECLARE_DERIVED_EVENT(FHTML5TargetPlatform, ITargetPlatform::FOnTargetDeviceDiscovered, FOnTargetDeviceDiscovered);
virtual FOnTargetDeviceDiscovered& OnDeviceDiscovered( ) override
{
return DeviceDiscoveredEvent;
}
DECLARE_DERIVED_EVENT(FHTML5TargetPlatform, ITargetPlatform::FOnTargetDeviceLost, FOnTargetDeviceLost);
virtual FOnTargetDeviceLost& OnDeviceLost( ) override
{
return DeviceLostEvent;
}
//~ End ITargetPlatform Interface
private:
// Holds the HTML5 engine settings.
FConfigFile HTML5EngineSettings;
// Holds the local device.
TMap<FString, FHTML5TargetDevicePtr> Devices;
#if WITH_ENGINE
// Holds the cached target LOD settings.
const UTextureLODSettings* HTML5LODSettings;
// Holds the static mesh LOD settings.
FStaticMeshLODSettings StaticMeshLODSettings;
#endif
// Holds an event delegate that is executed when a new target device has been discovered.
FOnTargetDeviceDiscovered DeviceDiscoveredEvent;
// Holds an event delegate that is executed when a target device has been lost, i.e. disconnected or timed out.
FOnTargetDeviceLost DeviceLostEvent;
// The name of the default device
FString DefaultDeviceName;
// Holds a critical section for locking access to the collection of devices.
static FCriticalSection DevicesCriticalSection;
void PopulateDevices(TArray<FString>& DeviceMaps, FString prefix);
};