Files
UnrealEngineUWP/Engine/Source/Developer/HTML5/HTML5PlatformEditor/Classes/HTML5TargetSettings.h
Thomas Sarkanen 8ba3c4c087 Merging //UE4/Dev-Main to Dev-Anim (//UE4/Dev-Anim) @ CL 4643671
#rb none
#jira none

[CL 4665410 by Thomas Sarkanen in Dev-Anim branch]
2018-12-17 06:31:16 -05:00

153 lines
5.3 KiB
C++

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
/*=============================================================================
HTML5TargetSettings.h: Declares the UHTML5TargetSettings class.
=============================================================================*/
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "UObject/Object.h"
#include "Engine/EngineTypes.h"
#include "HTML5TargetSettings.generated.h"
/**
* Enumerates available Canvas Scaling Modes
*/
UENUM()
namespace ECanvasScalingMode
{
enum Type
{
Stretch = 1,
Aspect,
Fixed,
};
}
/**
* Implements the settings for the HTML5 target platform.
*/
UCLASS(config=Engine, defaultconfig)
class HTML5PLATFORMEDITOR_API UHTML5TargetSettings
: public UObject
{
public:
GENERATED_UCLASS_BODY()
// ------------------------------------------------------------
/**
* Use IndexedDB storage
*/
UPROPERTY(GlobalConfig, EditAnywhere, Category=Emscripten, Meta = (DisplayName = "IndexedDB storage"))
bool EnableIndexedDB;
/**
* Use Fixed TimeStep
*/
UPROPERTY(GlobalConfig, EditAnywhere, Category=Emscripten, Meta = (DisplayName = "Fixed TimeStep (i.e. use requestAnimationFrame)"))
bool UseFixedTimeStep; // need to make a note of: answerhub 409629
// TODO: re-enable these when they become supported in WASM
// /**
// * Enable SIMD
// * NOTE 1: this does not currently work with WASM - it will be forced false in this case.
// * NOTE 2: SIMD will be supported during WASM builds in a future emscripten release.
// */
// UPROPERTY(GlobalConfig, EditAnywhere, Category=Emscripten, Meta = (DisplayName = "SIMD support"))
// bool EnableSIMD;
// TODO: re-enable these when they become supported in WASM
// /**
// * Enable Multithreading
// * NOTE 1: this is not supported currently in WASM - it will be forced false in this case.
// * NOTE 2: Multithreading will be supported during WASM builds in a future emscripten release.
// */
// UPROPERTY(GlobalConfig, EditAnywhere, Category=Emscripten, Meta = (DisplayName = "Multithreading support"))
// bool EnableMultithreading;
/**
* Enable Tracing (trace.h)
*/
UPROPERTY(GlobalConfig, EditAnywhere, Category=Emscripten, Meta = (DisplayName = "Tracing support"))
bool EnableTracing;
// ------------------------------------------------------------
/**
* Canvas scaling mode
* How the canvas size changes when the browser window is resized by dragging from the corner.
* STRETCH : dynamic dimensions (both canvas size and app resolution scales)
* ASPECT : use the aspect ratio that the canvas will be constrained to (canvas will scale while app stays locked)
* FIXED : fixed resolution that the app will render to (canvas and app dimensions will be locked)
*/
UPROPERTY(GlobalConfig, EditAnywhere, Category=Canvas)
TEnumAsByte<ECanvasScalingMode::Type> CanvasScalingMode;
// ------------------------------------------------------------
/**
* Compress Files
* NOTE 1: it is also recommended to NOT enable PAK file packaging - this is currently redundant
* NOTE 2: future emscripten version will allow separate (asset) files in a new FileSystem feature - which will make use of this (as well as PAK file) option again
*/
UPROPERTY(GlobalConfig, EditAnywhere, Category=Packaging, Meta = (DisplayName = "Compress files during shipping packaging"))
bool Compressed;
// ------------------------------------------------------------
/**
* Port to use when deploying game from the editor
*/
UPROPERTY(GlobalConfig, EditAnywhere, Category = Launch, Meta = (DisplayName = "Port to use when deploying game from the editor", ClampMin="49152", ClampMax="65535"))
int32 DeployServerPort;
// ------------------------------------------------------------
UPROPERTY(GlobalConfig, EditAnywhere, Category = Amazon_S3, Meta = (DisplayName = "Upload builds to Amazon S3 when packaging"))
bool UploadToS3;
/**
* Required
*/
UPROPERTY(GlobalConfig, EditAnywhere, Category = Amazon_S3, Meta = (DisplayName = "Amazon S3 Region", EditCondition = "UploadToS3"))
FString S3Region;
/**
* Required
*/
UPROPERTY(GlobalConfig, EditAnywhere, Category = Amazon_S3, Meta = (DisplayName = "Amazon S3 Key ID", EditCondition = "UploadToS3"))
FString S3KeyID;
/**
* Required
*/
UPROPERTY(GlobalConfig, EditAnywhere, Category = Amazon_S3, Meta = (DisplayName = "Amazon S3 Secret Access Key", EditCondition = "UploadToS3"))
FString S3SecretAccessKey;
/**
* Required
*/
UPROPERTY(GlobalConfig, EditAnywhere, Category = Amazon_S3, Meta = (DisplayName = "Amazon S3 Bucket Name", EditCondition = "UploadToS3"))
FString S3BucketName;
/**
* Provide another level of nesting beyond the bucket. Can be left empty, defaults to game name. DO NOT LEAVE A TRAILING SLASH!
*/
UPROPERTY(GlobalConfig, EditAnywhere, Category = Amazon_S3, Meta = (DisplayName = "Nested Folder Name", EditCondition = "UploadToS3"))
FString S3FolderName;
/** Which of the currently enabled spatialization plugins to use on Windows. */
UPROPERTY(config, EditAnywhere, Category = "Audio")
FString SpatializationPlugin;
/** Which of the currently enabled reverb plugins to use on Windows. */
UPROPERTY(config, EditAnywhere, Category = "Audio")
FString ReverbPlugin;
/** Which of the currently enabled occlusion plugins to use on Windows. */
UPROPERTY(config, EditAnywhere, Category = "Audio")
FString OcclusionPlugin;
};