2014-12-07 19:09:38 -05:00
|
|
|
// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "AndroidRuntimeSettings.generated.h"
|
|
|
|
|
|
|
|
|
|
UENUM()
|
|
|
|
|
namespace EAndroidScreenOrientation
|
|
|
|
|
{
|
|
|
|
|
enum Type
|
|
|
|
|
{
|
|
|
|
|
// Portrait orientation (the display is taller than it is wide)
|
|
|
|
|
Portrait UMETA(ManifestValue = "portrait"),
|
|
|
|
|
|
|
|
|
|
// Portrait orientation rotated 180 degrees
|
|
|
|
|
ReversePortrait UMETA(ManifestValue = "reversePortrait"),
|
|
|
|
|
|
|
|
|
|
// Use either portrait or reverse portrait orientation, based on the device orientation sensor
|
|
|
|
|
SensorPortrait UMETA(ManifestValue = "sensorPortrait"),
|
|
|
|
|
|
|
|
|
|
// Landscape orientation (the display is wider than it is tall)
|
|
|
|
|
Landscape UMETA(ManifestValue = "landscape"),
|
|
|
|
|
|
|
|
|
|
// Landscape orientation rotated 180 degrees
|
|
|
|
|
ReverseLandscape UMETA(ManifestValue = "reverseLandscape"),
|
|
|
|
|
|
|
|
|
|
// Use either landscape or reverse landscape orientation, based on the device orientation sensor
|
|
|
|
|
SensorLandscape UMETA(ManifestValue = "sensorLandscape"),
|
|
|
|
|
|
|
|
|
|
// Use any orientation the device normally supports, based on the device orientation sensor
|
|
|
|
|
Sensor UMETA(ManifestValue = "sensor"),
|
|
|
|
|
|
|
|
|
|
// Use any orientation (including ones the device wouldn't choose in Sensor mode), based on the device orientation sensor
|
|
|
|
|
FullSensor UMETA(ManifestValue = "fullSensor"),
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
2014-06-27 17:59:00 -04:00
|
|
|
// Depth buffer precision preferences
|
|
|
|
|
UENUM()
|
|
|
|
|
namespace EAndroidDepthBufferPreference
|
|
|
|
|
{
|
|
|
|
|
enum Type
|
|
|
|
|
{
|
|
|
|
|
Default = 0 UMETA(DisplayName = "Default", ManifestValue = "0"),
|
|
|
|
|
Bits16 = 16 UMETA(DisplayName = "16-bit", ManifestValue = "16"),
|
|
|
|
|
Bits24 = 24 UMETA(DisplayName = "24-bit", ManifestValue = "24"),
|
|
|
|
|
Bits32 = 32 UMETA(DisplayName = "32-bit", ManifestValue = "32"),
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
2014-04-23 20:22:19 -04:00
|
|
|
/**
|
|
|
|
|
* Holds the game-specific achievement name and corresponding ID from Google Play services.
|
|
|
|
|
*/
|
|
|
|
|
USTRUCT()
|
|
|
|
|
struct FGooglePlayAchievementMapping
|
|
|
|
|
{
|
|
|
|
|
GENERATED_USTRUCT_BODY()
|
|
|
|
|
|
|
|
|
|
// The game-specific achievement name (the one passed in to WriteAchievement calls)
|
|
|
|
|
UPROPERTY(EditAnywhere, Category = GooglePlayServices)
|
|
|
|
|
FString Name;
|
|
|
|
|
|
|
|
|
|
// The ID of the corresponding achievement, generated by the Google Play developer console.
|
|
|
|
|
UPROPERTY(EditAnywhere, Category = GooglePlayServices)
|
|
|
|
|
FString AchievementID;
|
|
|
|
|
};
|
|
|
|
|
|
2014-04-25 19:46:53 -04:00
|
|
|
/**
|
|
|
|
|
* Holds the game-specific leaderboard name and corresponding ID from Google Play services.
|
|
|
|
|
*/
|
|
|
|
|
USTRUCT()
|
|
|
|
|
struct FGooglePlayLeaderboardMapping
|
|
|
|
|
{
|
|
|
|
|
GENERATED_USTRUCT_BODY()
|
|
|
|
|
|
|
|
|
|
// The game-specific leaderboard name (the one passed in to WriteLeaderboards calls)
|
|
|
|
|
UPROPERTY(EditAnywhere, Category = GooglePlayServices)
|
|
|
|
|
FString Name;
|
|
|
|
|
|
|
|
|
|
// The ID of the corresponding leaderboard, generated by the Google Play developer console.
|
|
|
|
|
UPROPERTY(EditAnywhere, Category = GooglePlayServices)
|
|
|
|
|
FString LeaderboardID;
|
|
|
|
|
};
|
|
|
|
|
|
2014-08-28 11:19:16 -04:00
|
|
|
UENUM()
|
|
|
|
|
namespace EAndroidAudio
|
|
|
|
|
{
|
|
|
|
|
enum Type
|
|
|
|
|
{
|
|
|
|
|
Default = 0 UMETA(DisplayName = "Default", ToolTip = "This option selects the default encoder."),
|
|
|
|
|
OGG = 1 UMETA(DisplayName = "Ogg Vorbis", ToolTip = "Selects Ogg Vorbis encoding."),
|
|
|
|
|
ADPCM = 2 UMETA(DisplayName = "ADPCM", ToolTip = "This option selects ADPCM lossless encoding.")
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
2014-03-14 14:13:41 -04:00
|
|
|
/**
|
|
|
|
|
* Implements the settings for the Android runtime platform.
|
|
|
|
|
*/
|
2014-05-07 16:21:14 -04:00
|
|
|
UCLASS(config=Engine, defaultconfig)
|
2014-03-14 14:13:41 -04:00
|
|
|
class ANDROIDRUNTIMESETTINGS_API UAndroidRuntimeSettings : public UObject
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
GENERATED_UCLASS_BODY()
|
|
|
|
|
|
|
|
|
|
// The permitted orientation or orientations of the application on the device
|
|
|
|
|
UPROPERTY(GlobalConfig, EditAnywhere, Category = AppManifest)
|
|
|
|
|
TEnumAsByte<EAndroidScreenOrientation::Type> Orientation;
|
|
|
|
|
|
2014-06-27 17:59:00 -04:00
|
|
|
// The preferred depth buffer bitcount for Android
|
|
|
|
|
UPROPERTY(GlobalConfig, EditAnywhere, Category = AppManifest)
|
|
|
|
|
TEnumAsByte<EAndroidDepthBufferPreference::Type> DepthBufferPreference;
|
|
|
|
|
|
2014-09-18 15:10:00 -04:00
|
|
|
// Enable ArmV7 support? (this will be used if all type are unchecked)
|
|
|
|
|
UPROPERTY(GlobalConfig, EditAnywhere, Category = Build, meta = (DisplayName = "Support armv7 [aka armeabi-v7a]"))
|
|
|
|
|
bool bBuildForArmV7;
|
|
|
|
|
|
|
|
|
|
// // Enable Arm64 support?
|
|
|
|
|
// UPROPERTY(GlobalConfig, EditAnywhere, Category = Build, meta = (DisplayName = "Support arm64"))
|
|
|
|
|
// bool bBuildForArm64;
|
|
|
|
|
|
2014-09-30 16:54:23 -04:00
|
|
|
// Enable x86 support? [CURRENTLY FOR FULL SOURCE GAMES ONLY]
|
2014-09-18 15:10:00 -04:00
|
|
|
UPROPERTY(GlobalConfig, EditAnywhere, Category = Build, meta = (DisplayName = "Support x86"))
|
|
|
|
|
bool bBuildForX86;
|
|
|
|
|
|
|
|
|
|
// // Enable x86-64 support?
|
|
|
|
|
// UPROPERTY(GlobalConfig, EditAnywhere, Category = Build, meta = (DisplayName = "Support x86_64 [aka x64]"))
|
|
|
|
|
// bool bBuildForX8664;
|
|
|
|
|
|
2014-12-11 13:44:41 -05:00
|
|
|
// Enable ES2 support? [CURRENTLY FOR FULL SOURCE GAMES ONLY]
|
|
|
|
|
UPROPERTY(GlobalConfig, EditAnywhere, Category = Build, meta = (DisplayName = "Support OpenGL ES2"))
|
|
|
|
|
bool bBuildForES2;
|
|
|
|
|
|
|
|
|
|
// Enable ES31 support? [CURRENTLY FOR FULL SOURCE GAMES ONLY]
|
|
|
|
|
UPROPERTY(GlobalConfig, EditAnywhere, Category = Build, meta = (DisplayName = "Support OpenGL ES31 + AEP"))
|
|
|
|
|
bool bBuildForES31;
|
|
|
|
|
|
2014-09-30 16:54:23 -04:00
|
|
|
// If selected, the checked architectures will be split into separate .apk files [CURRENTLY FOR FULL SOURCE GAMES ONLY]
|
2014-12-11 13:44:41 -05:00
|
|
|
// @todo android fat binary: Currently, there isn't much utility in merging multiple .so's into a single .apk except for debugging,
|
|
|
|
|
// but we can't properly handle multiple GPU architectures in a single .apk, so we are disabling the feature for now
|
|
|
|
|
// The user will need to manually select the apk to run in their Visual Studio debugger settings (see Override APK in TADP, for instance)
|
|
|
|
|
// UPROPERTY(GlobalConfig, EditAnywhere, Category = Build)
|
|
|
|
|
// bool bSplitIntoSeparateApks;
|
2014-09-18 15:10:00 -04:00
|
|
|
|
2014-04-23 19:40:10 -04:00
|
|
|
// Should Google Play support be enabled?
|
|
|
|
|
UPROPERTY(GlobalConfig, EditAnywhere, Category = GooglePlayServices)
|
|
|
|
|
bool bEnableGooglePlaySupport;
|
|
|
|
|
|
|
|
|
|
// The app id obtained from the Google Play Developer Console
|
|
|
|
|
UPROPERTY(GlobalConfig, EditAnywhere, Category = GooglePlayServices)
|
|
|
|
|
FString GamesAppID;
|
2014-04-23 20:22:19 -04:00
|
|
|
|
|
|
|
|
// Mapping of game achievement names to IDs generated by Google Play.
|
|
|
|
|
UPROPERTY(GlobalConfig, EditAnywhere, Category = GooglePlayServices)
|
|
|
|
|
TArray<FGooglePlayAchievementMapping> AchievementMap;
|
2014-04-25 19:46:53 -04:00
|
|
|
|
|
|
|
|
// Mapping of game leaderboard names to IDs generated by Google Play.
|
|
|
|
|
UPROPERTY(GlobalConfig, EditAnywhere, Category = GooglePlayServices)
|
|
|
|
|
TArray<FGooglePlayLeaderboardMapping> LeaderboardMap;
|
2014-04-28 12:19:40 -04:00
|
|
|
|
|
|
|
|
// The unique identifier for the ad obtained from AdMob.
|
|
|
|
|
UPROPERTY(GlobalConfig, EditAnywhere, Category = GooglePlayServices)
|
|
|
|
|
FString AdMobAdUnitID;
|
2014-08-28 11:19:16 -04:00
|
|
|
|
2014-11-19 05:18:19 -05:00
|
|
|
// The unique identifier for the ad obtained from AdMob.
|
|
|
|
|
UPROPERTY(GlobalConfig, EditAnywhere, Category = GooglePlayServices)
|
|
|
|
|
FString GooglePlayLicenseKey;
|
|
|
|
|
|
2014-08-28 11:19:16 -04:00
|
|
|
/** Android Audio encoding options */
|
|
|
|
|
UPROPERTY(GlobalConfig, EditAnywhere, Category = DataCooker, meta = (DisplayName = "Audio encoding"))
|
|
|
|
|
TEnumAsByte<EAndroidAudio::Type> AndroidAudio;
|
2014-09-18 15:10:00 -04:00
|
|
|
|
|
|
|
|
#if WITH_EDITOR
|
|
|
|
|
// UObject interface
|
|
|
|
|
virtual void PostEditChangeProperty(struct FPropertyChangedEvent& PropertyChangedEvent) override;
|
|
|
|
|
// End of UObject interface
|
|
|
|
|
#endif
|
2014-03-14 14:13:41 -04:00
|
|
|
};
|