You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
- Enabled ES31 for GitHub/P4 users (currently only works on a Tegra K1 with recent system software) - Always use separate APKs - this means that all APKs will have -armv7-es2 (or whatever) in their name. This may affect scripts, etc people have written - Fixed a bug when using multiple java libraries (for users who add their own libs) - Properly collapse Android devices into a single device with multiple variants. LaunchOn will now choose the best format based on the connected device. If you want to override the format, you will need to use the ProjectLauncher - Added Android serial number to the device type, in case you have multiple devices of the same type (also fixes [UE-3770]) #codereview niklas.smedberg,chris.babcock [CL 2385821 by Josh Adams in Main branch]
178 lines
6.5 KiB
C++
178 lines
6.5 KiB
C++
// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
|
|
|
|
#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"),
|
|
};
|
|
}
|
|
|
|
// 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"),
|
|
};
|
|
}
|
|
|
|
/**
|
|
* 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;
|
|
};
|
|
|
|
/**
|
|
* 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;
|
|
};
|
|
|
|
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.")
|
|
};
|
|
}
|
|
|
|
/**
|
|
* Implements the settings for the Android runtime platform.
|
|
*/
|
|
UCLASS(config=Engine, defaultconfig)
|
|
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;
|
|
|
|
// The preferred depth buffer bitcount for Android
|
|
UPROPERTY(GlobalConfig, EditAnywhere, Category = AppManifest)
|
|
TEnumAsByte<EAndroidDepthBufferPreference::Type> DepthBufferPreference;
|
|
|
|
// 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;
|
|
|
|
// Enable x86 support? [CURRENTLY FOR FULL SOURCE GAMES ONLY]
|
|
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;
|
|
|
|
// 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;
|
|
|
|
// If selected, the checked architectures will be split into separate .apk files [CURRENTLY FOR FULL SOURCE GAMES ONLY]
|
|
// @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;
|
|
|
|
// 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;
|
|
|
|
// Mapping of game achievement names to IDs generated by Google Play.
|
|
UPROPERTY(GlobalConfig, EditAnywhere, Category = GooglePlayServices)
|
|
TArray<FGooglePlayAchievementMapping> AchievementMap;
|
|
|
|
// Mapping of game leaderboard names to IDs generated by Google Play.
|
|
UPROPERTY(GlobalConfig, EditAnywhere, Category = GooglePlayServices)
|
|
TArray<FGooglePlayLeaderboardMapping> LeaderboardMap;
|
|
|
|
// The unique identifier for the ad obtained from AdMob.
|
|
UPROPERTY(GlobalConfig, EditAnywhere, Category = GooglePlayServices)
|
|
FString AdMobAdUnitID;
|
|
|
|
// The unique identifier for the ad obtained from AdMob.
|
|
UPROPERTY(GlobalConfig, EditAnywhere, Category = GooglePlayServices)
|
|
FString GooglePlayLicenseKey;
|
|
|
|
/** Android Audio encoding options */
|
|
UPROPERTY(GlobalConfig, EditAnywhere, Category = DataCooker, meta = (DisplayName = "Audio encoding"))
|
|
TEnumAsByte<EAndroidAudio::Type> AndroidAudio;
|
|
|
|
#if WITH_EDITOR
|
|
// UObject interface
|
|
virtual void PostEditChangeProperty(struct FPropertyChangedEvent& PropertyChangedEvent) override;
|
|
// End of UObject interface
|
|
#endif
|
|
};
|