Beispiel #1
0
        public override void ModifyNewlyLoadedModule(UEBuildModule InModule, TargetInfo Target)
        {
            if (Target.Platform == UnrealTargetPlatform.Mac)
            {
                bool bBuildShaderFormats = UEBuildConfiguration.bForceBuildShaderFormats;

                if (!UEBuildConfiguration.bBuildRequiresCookedData)
                {
                    if (InModule.ToString() == "TargetPlatform")
                    {
                        bBuildShaderFormats = true;
                    }
                }

                // allow standalone tools to use target platform modules, without needing Engine
                if (UEBuildConfiguration.bForceBuildTargetPlatforms)
                {
                    InModule.AddDynamicallyLoadedModule("MacTargetPlatform");
                    InModule.AddDynamicallyLoadedModule("MacNoEditorTargetPlatform");
                    InModule.AddDynamicallyLoadedModule("MacClientTargetPlatform");
                    InModule.AddDynamicallyLoadedModule("MacServerTargetPlatform");
                }

                if (bBuildShaderFormats)
                {
                    InModule.AddDynamicallyLoadedModule("ShaderFormatOpenGL");
                }
            }
        }
Beispiel #2
0
        public override void ModifyNewlyLoadedModule(UEBuildModule InModule, TargetInfo Target)
        {
            if ((Target.Platform == UnrealTargetPlatform.Win32) || (Target.Platform == UnrealTargetPlatform.Win64))
            {
                bool bBuildShaderFormats = UEBuildConfiguration.bForceBuildShaderFormats;
                if (!UEBuildConfiguration.bBuildRequiresCookedData)
                {
                    if (InModule.ToString() == "Engine")
                    {
                        if (UEBuildConfiguration.bBuildDeveloperTools)
                        {
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("AndroidTargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_PVRTCTargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ATCTargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_DXTTargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ETC1TargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ETC2TargetPlatform");
//                            InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_GL4TargetPlatform");
                            // @todo es31: Put this back in for ES31 support
                            // ES31 code is in, but it's not fully supported in UE4 4.5, so for now we need to disable the targetplatform as it will confuse people greatly
                            // InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ES31TargetPlatform");
                        }
                    }
                    else if (InModule.ToString() == "TargetPlatform")
                    {
                        bBuildShaderFormats = true;
                        InModule.AddDynamicallyLoadedModule("TextureFormatPVR");
                        InModule.AddDynamicallyLoadedModule("TextureFormatDXT");
                        InModule.AddPlatformSpecificDynamicallyLoadedModule("TextureFormatAndroid");    // ATITC, ETC1 and ETC2
                        if (UEBuildConfiguration.bBuildDeveloperTools)
                        {
                            //InModule.AddDynamicallyLoadedModule("AudioFormatADPCM");	//@todo android: android audio
                        }
                    }
                }

                // allow standalone tools to use targetplatform modules, without needing Engine
                if (UEBuildConfiguration.bForceBuildTargetPlatforms)
                {
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("AndroidTargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_PVRTCTargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ATCTargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_DXTTargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ETC1TargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ETC2TargetPlatform");
//                    InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_GL4TargetPlatform");
                    // @todo es31: Put this back in for ES31 support
                    // ES31 code is in, but it's not fully supported in UE4 4.5, so for now we need to disable the targetplatform as it will confuse people greatly
                    // InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ES31TargetPlatform");
                }

                if (bBuildShaderFormats)
                {
                    //InModule.AddDynamicallyLoadedModule("ShaderFormatAndroid");		//@todo android: ShaderFormatAndroid
                }
            }
        }
Beispiel #3
0
        public override void ModifyNewlyLoadedModule(UEBuildModule InModule, TargetInfo Target)
        {
            if ((Target.Platform == UnrealTargetPlatform.Win32) || (Target.Platform == UnrealTargetPlatform.Win64) || (Target.Platform == UnrealTargetPlatform.Mac))
            {
                bool bBuildShaderFormats = UEBuildConfiguration.bForceBuildShaderFormats;
                if (!UEBuildConfiguration.bBuildRequiresCookedData)
                {
                    if (InModule.ToString() == "Engine")
                    {
                        if (UEBuildConfiguration.bBuildDeveloperTools)
                        {
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("AndroidTargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_PVRTCTargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ATCTargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_DXTTargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ETC1TargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ETC2TargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ES31TargetPlatform");
                            // @todo gl4android
                            // InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_GL4TargetPlatform");
                        }
                    }
                    else if (InModule.ToString() == "TargetPlatform")
                    {
                        bBuildShaderFormats = true;
                        InModule.AddDynamicallyLoadedModule("TextureFormatPVR");
                        InModule.AddDynamicallyLoadedModule("TextureFormatDXT");
                        InModule.AddDynamicallyLoadedModule("TextureFormatASTC");
                        InModule.AddPlatformSpecificDynamicallyLoadedModule("TextureFormatAndroid");                            // ATITC, ETC1 and ETC2
                        if (UEBuildConfiguration.bBuildDeveloperTools)
                        {
                            //InModule.AddDynamicallyLoadedModule("AudioFormatADPCM");	//@todo android: android audio
                        }
                    }
                }

                // allow standalone tools to use targetplatform modules, without needing Engine
                if (UEBuildConfiguration.bForceBuildTargetPlatforms)
                {
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("AndroidTargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_PVRTCTargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ATCTargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_DXTTargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ETC1TargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ETC2TargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ES31TargetPlatform");
                    // @todo gl4android
                    // InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_GL4TargetPlatform");
                }

                if (bBuildShaderFormats)
                {
                    //InModule.AddDynamicallyLoadedModule("ShaderFormatAndroid");		//@todo android: ShaderFormatAndroid
                }
            }
        }
        /**
         *	Modify the newly created module passed in for this platform.
         *	This is not required - but allows for hiding details of a
         *	particular platform.
         *
         *	@param	InModule		The newly loaded module
         *	@param	Target			The target being build
         */
        public override void ModifyNewlyLoadedModule(UEBuildModule InModule, TargetInfo Target)
        {
            if ((Target.Platform == UnrealTargetPlatform.Win32) || (Target.Platform == UnrealTargetPlatform.Win64))
            {
                if (!UEBuildConfiguration.bBuildRequiresCookedData)
                {
                    if (InModule.ToString() == "Engine")
                    {
                        if (UEBuildConfiguration.bBuildDeveloperTools)
                        {
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("LinuxTargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("LinuxNoEditorTargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("LinuxServerTargetPlatform");
                        }
                    }
                }

                // allow standalone tools to use targetplatform modules, without needing Engine
                if (UEBuildConfiguration.bForceBuildTargetPlatforms)
                {
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("LinuxTargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("LinuxNoEditorTargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("LinuxServerTargetPlatform");
                }
            }
            else if (Target.Platform == UnrealTargetPlatform.Linux)
            {
                bool bBuildShaderFormats = UEBuildConfiguration.bForceBuildShaderFormats;

                if (!UEBuildConfiguration.bBuildRequiresCookedData)
                {
                    if (InModule.ToString() == "TargetPlatform")
                    {
                        bBuildShaderFormats = true;
                    }
                }

                // allow standalone tools to use target platform modules, without needing Engine
                if (UEBuildConfiguration.bForceBuildTargetPlatforms)
                {
                    InModule.AddDynamicallyLoadedModule("LinuxTargetPlatform");
                    InModule.AddDynamicallyLoadedModule("LinuxNoEditorTargetPlatform");
                    InModule.AddDynamicallyLoadedModule("LinuxServerTargetPlatform");
                    InModule.AddDynamicallyLoadedModule("AllDesktopTargetPlatform");
                }

                if (bBuildShaderFormats)
                {
                    // InModule.AddDynamicallyLoadedModule("ShaderFormatD3D");
                    InModule.AddDynamicallyLoadedModule("ShaderFormatOpenGL");
                }
            }
        }
Beispiel #5
0
        public override void ModifyNewlyLoadedModule(UEBuildModule InModule, TargetInfo Target)
        {
            if ((Target.Platform == UnrealTargetPlatform.Win32) || (Target.Platform == UnrealTargetPlatform.Win64))
            {
                bool bBuildShaderFormats = UEBuildConfiguration.bForceBuildShaderFormats;

                if (!UEBuildConfiguration.bBuildRequiresCookedData)
                {
                    if (InModule.ToString() == "TargetPlatform")
                    {
                        bBuildShaderFormats = true;
                    }
                }

                // allow standalone tools to use target platform modules, without needing Engine
                if (UEBuildConfiguration.bForceBuildTargetPlatforms)
                {
                    InModule.AddDynamicallyLoadedModule("WindowsTargetPlatform");
                    InModule.AddDynamicallyLoadedModule("WindowsNoEditorTargetPlatform");
                    InModule.AddDynamicallyLoadedModule("WindowsServerTargetPlatform");
                    InModule.AddDynamicallyLoadedModule("WindowsClientTargetPlatform");
                    InModule.AddDynamicallyLoadedModule("AllDesktopTargetPlatform");
                }

                if (bBuildShaderFormats)
                {
                    InModule.AddDynamicallyLoadedModule("ShaderFormatD3D");
                    InModule.AddDynamicallyLoadedModule("ShaderFormatOpenGL");

//#todo-rco: Remove when public
                    {
                        string VulkanSDKPath = Environment.GetEnvironmentVariable("VulkanSDK");
                        if (!String.IsNullOrEmpty(VulkanSDKPath))
                        {
                            InModule.AddDynamicallyLoadedModule("VulkanShaderFormat");
                        }
                    }
                }

                if (InModule.ToString() == "D3D11RHI")
                {
                    // To enable platform specific D3D11 RHI Types
                    InModule.AddPrivateIncludePath("Runtime/Windows/D3D11RHI/Private/Windows");
                }

                if (InModule.ToString() == "D3D12RHI")
                {
                    // To enable platform specific D3D12 RHI Types
                    InModule.AddPrivateIncludePath("Runtime/Windows/D3D12RHI/Private/Windows");
                }
            }
        }
Beispiel #6
0
        /**
         *     Modify the newly created module passed in for this platform.
         *     This is not required - but allows for hiding details of a
         *     particular platform.
         *
         *     @param InModule             The newly loaded module
         *     @param GameName             The game being build
         *     @param Target               The target being build
         */
        public override void ModifyNewlyLoadedModule(UEBuildModule InModule, TargetInfo Target)
        {
            if ((Target.Platform == UnrealTargetPlatform.Win32) || (Target.Platform == UnrealTargetPlatform.Win64) || (Target.Platform == UnrealTargetPlatform.Mac))
            {
                bool bBuildShaderFormats = UEBuildConfiguration.bForceBuildShaderFormats;
                if (!UEBuildConfiguration.bBuildRequiresCookedData)
                {
                    if (InModule.ToString() == "Engine")
                    {
                        if (UEBuildConfiguration.bBuildDeveloperTools)
                        {
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("IOSTargetPlatform");
                        }
                    }
                    else if (InModule.ToString() == "TargetPlatform")
                    {
                        bBuildShaderFormats = true;
                        InModule.AddDynamicallyLoadedModule("TextureFormatPVR");
                        InModule.AddDynamicallyLoadedModule("TextureFormatASTC");
                        if (UEBuildConfiguration.bBuildDeveloperTools)
                        {
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("AudioFormatADPCM");
                        }
                    }
                }

                // allow standalone tools to use targetplatform modules, without needing Engine
                if (UEBuildConfiguration.bForceBuildTargetPlatforms)
                {
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("IOSTargetPlatform");
                }

                if (bBuildShaderFormats)
                {
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("MetalShaderFormat");
                }
            }
        }
        public override void ModifyNewlyLoadedModule(UEBuildModule InModule, TargetInfo Target)
        {
            if ((Target.Platform == UnrealTargetPlatform.Win32) || (Target.Platform == UnrealTargetPlatform.Win64))
            {
                bool bBuildShaderFormats = UEBuildConfiguration.bForceBuildShaderFormats;

                if (!UEBuildConfiguration.bBuildRequiresCookedData)
                {
                    if (InModule.ToString() == "TargetPlatform")
                    {
                        bBuildShaderFormats = true;
                    }
                }

                // allow standalone tools to use target platform modules, without needing Engine
                if (UEBuildConfiguration.bForceBuildTargetPlatforms)
                {
                    InModule.AddDynamicallyLoadedModule("WindowsTargetPlatform");
                    InModule.AddDynamicallyLoadedModule("WindowsNoEditorTargetPlatform");
                    InModule.AddDynamicallyLoadedModule("WindowsServerTargetPlatform");
                    InModule.AddDynamicallyLoadedModule("WindowsClientTargetPlatform");
                }

                if (bBuildShaderFormats)
                {
                    InModule.AddDynamicallyLoadedModule("ShaderFormatD3D");
                    InModule.AddDynamicallyLoadedModule("ShaderFormatOpenGL");
                }

                if (InModule.ToString() == "D3D11RHI")
                {
                    // To enable platform specific D3D11 RHI Types
                    InModule.AddPrivateIncludePath("Runtime/Windows/D3D11RHI/Private/Windows");
                }
            }
        }
Beispiel #8
-1
        public override void ModifyNewlyLoadedModule(UEBuildModule InModule, TargetInfo Target)
        {
            if ((Target.Platform == UnrealTargetPlatform.Win32) || (Target.Platform == UnrealTargetPlatform.Win64))
            {
                bool bBuildShaderFormats = UEBuildConfiguration.bForceBuildShaderFormats;

                if (!UEBuildConfiguration.bBuildRequiresCookedData)
                {
                    if (InModule.ToString() == "TargetPlatform")
                    {
                        bBuildShaderFormats = true;
                    }
                }

                // allow standalone tools to use target platform modules, without needing Engine
                if (UEBuildConfiguration.bForceBuildTargetPlatforms)
                {
                    InModule.AddDynamicallyLoadedModule("WindowsTargetPlatform");
                    InModule.AddDynamicallyLoadedModule("WindowsNoEditorTargetPlatform");
                    InModule.AddDynamicallyLoadedModule("WindowsServerTargetPlatform");
                    InModule.AddDynamicallyLoadedModule("WindowsClientTargetPlatform");
					InModule.AddDynamicallyLoadedModule("AllDesktopTargetPlatform");
                }

                if (bBuildShaderFormats)
                {
                    InModule.AddDynamicallyLoadedModule("ShaderFormatD3D");
                    InModule.AddDynamicallyLoadedModule("ShaderFormatOpenGL");

//#todo-rco: Remove when public
					{
						string VulkanSDKPath = Environment.GetEnvironmentVariable("VulkanSDK");
						if (!String.IsNullOrEmpty(VulkanSDKPath))
						{
							InModule.AddDynamicallyLoadedModule("VulkanShaderFormat");
						}
					}
				}

                if (InModule.ToString() == "D3D11RHI")
                {
                    // To enable platform specific D3D11 RHI Types
                    InModule.AddPrivateIncludePath("Runtime/Windows/D3D11RHI/Private/Windows");
                }

				if (InModule.ToString() == "D3D12RHI")
				{
					// To enable platform specific D3D12 RHI Types
					InModule.AddPrivateIncludePath("Runtime/Windows/D3D12RHI/Private/Windows");
				}
			}
        }
Beispiel #9
-1
        /**
         *	Modify the newly created module passed in for this platform.
         *	This is not required - but allows for hiding details of a
         *	particular platform.
         *
         *	@param	InModule		The newly loaded module
         *	@param	Target			The target being build
         */
        public override void ModifyNewlyLoadedModule(UEBuildModule InModule, TargetInfo Target)
        {
            if ((Target.Platform == UnrealTargetPlatform.Win32) || (Target.Platform == UnrealTargetPlatform.Win64))
            {
                if (!UEBuildConfiguration.bBuildRequiresCookedData)
                {
                    if (InModule.ToString() == "Engine")
                    {
                        if (UEBuildConfiguration.bBuildDeveloperTools)
                        {
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("LinuxTargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("LinuxNoEditorTargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("LinuxServerTargetPlatform");
                        }
                    }
                }

                // allow standalone tools to use targetplatform modules, without needing Engine
                if (UEBuildConfiguration.bForceBuildTargetPlatforms)
                {
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("LinuxTargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("LinuxNoEditorTargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("LinuxServerTargetPlatform");
                }
            }
            else if (Target.Platform == UnrealTargetPlatform.Linux)
            {
                bool bBuildShaderFormats = UEBuildConfiguration.bForceBuildShaderFormats;

                if (!UEBuildConfiguration.bBuildRequiresCookedData)
                {
                    if (InModule.ToString() == "TargetPlatform")
                    {
                        bBuildShaderFormats = true;
                    }
                }

                // allow standalone tools to use target platform modules, without needing Engine
                if (UEBuildConfiguration.bForceBuildTargetPlatforms)
                {
                    InModule.AddDynamicallyLoadedModule("LinuxTargetPlatform");
                    InModule.AddDynamicallyLoadedModule("LinuxNoEditorTargetPlatform");
                    InModule.AddDynamicallyLoadedModule("LinuxServerTargetPlatform");
                    InModule.AddDynamicallyLoadedModule("AllDesktopTargetPlatform");
                }

                if (bBuildShaderFormats)
                {
                    // InModule.AddDynamicallyLoadedModule("ShaderFormatD3D");
                    InModule.AddDynamicallyLoadedModule("ShaderFormatOpenGL");
                }
            }
        }
Beispiel #10
-1
		public override void ModifyNewlyLoadedModule(UEBuildModule InModule, TargetInfo Target)
		{
			if (Target.Platform == UnrealTargetPlatform.Mac)
			{
                bool bBuildShaderFormats = UEBuildConfiguration.bForceBuildShaderFormats;

                if (!UEBuildConfiguration.bBuildRequiresCookedData)
                {
                    if (InModule.ToString() == "TargetPlatform")
                    {
                        bBuildShaderFormats = true;
                    }
                }

				// allow standalone tools to use target platform modules, without needing Engine
				if (UEBuildConfiguration.bForceBuildTargetPlatforms)
				{
					InModule.AddDynamicallyLoadedModule("MacTargetPlatform");
					InModule.AddDynamicallyLoadedModule("MacNoEditorTargetPlatform");
					InModule.AddDynamicallyLoadedModule("MacClientTargetPlatform");
					InModule.AddDynamicallyLoadedModule("MacServerTargetPlatform");
					InModule.AddDynamicallyLoadedModule("AllDesktopTargetPlatform");
				}

                if (bBuildShaderFormats)
                {
					// InModule.AddDynamicallyLoadedModule("ShaderFormatD3D");
                    InModule.AddDynamicallyLoadedModule("ShaderFormatOpenGL");
                }
			}
		}
Beispiel #11
-1
        /**
         *     Modify the newly created module passed in for this platform.
         *     This is not required - but allows for hiding details of a
         *     particular platform.
         *     
         *     @param InModule             The newly loaded module
         *     @param GameName             The game being build
         *     @param Target               The target being build
         */
        public override void ModifyNewlyLoadedModule(UEBuildModule InModule, TargetInfo Target)
        {
            if ((Target.Platform == UnrealTargetPlatform.Win32) || (Target.Platform == UnrealTargetPlatform.Win64) || (Target.Platform == UnrealTargetPlatform.Mac))
            {
                bool bBuildShaderFormats = UEBuildConfiguration.bForceBuildShaderFormats;
                if (!UEBuildConfiguration.bBuildRequiresCookedData)
                {
                    if (InModule.ToString() == "Engine")
                    {
                        if (UEBuildConfiguration.bBuildDeveloperTools)
                        {
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("IOSTargetPlatform");
                        }
                    }
                    else if (InModule.ToString() == "TargetPlatform")
                    {
                        bBuildShaderFormats = true;
						InModule.AddDynamicallyLoadedModule("TextureFormatPVR");
						InModule.AddDynamicallyLoadedModule("TextureFormatASTC");
                        if (UEBuildConfiguration.bBuildDeveloperTools)
                        {
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("AudioFormatADPCM");
                        }
                    }
                }

                // allow standalone tools to use targetplatform modules, without needing Engine
                if (UEBuildConfiguration.bForceBuildTargetPlatforms)
                {
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("IOSTargetPlatform");
                }

                if (bBuildShaderFormats)
                {
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("MetalShaderFormat");
                }
            }
        }
        public override void ModifyNewlyLoadedModule(UEBuildModule InModule, TargetInfo Target)
        {
            if ((Target.Platform == UnrealTargetPlatform.Win32) || (Target.Platform == UnrealTargetPlatform.Win64))
            {
                bool bBuildShaderFormats = UEBuildConfiguration.bForceBuildShaderFormats;
                if (!UEBuildConfiguration.bBuildRequiresCookedData)
                {
                    if (InModule.ToString() == "Engine")
                    {
                        if (UEBuildConfiguration.bBuildDeveloperTools)
                        {
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("AndroidTargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_PVRTCTargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ATCTargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_DXTTargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ETC1TargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ETC2TargetPlatform");
                        }
                    }
                    else if (InModule.ToString() == "UnrealEd")
                    {
                        InModule.AddPlatformSpecificDynamicallyLoadedModule("AndroidPlatformEditor");
                    }
                    else if (InModule.ToString() == "TargetPlatform")
                    {
                        bBuildShaderFormats = true;
                        InModule.AddDynamicallyLoadedModule("TextureFormatPVR");
                        InModule.AddDynamicallyLoadedModule("TextureFormatDXT");
                        InModule.AddPlatformSpecificDynamicallyLoadedModule("TextureFormatAndroid");    // ATITC, ETC1 and ETC2
                        if (UEBuildConfiguration.bBuildDeveloperTools)
                        {
                            //InModule.AddDynamicallyLoadedModule("AudioFormatADPCM");	//@todo android: android audio
                        }
                    }
                }

                // allow standalone tools to use targetplatform modules, without needing Engine
                if (UEBuildConfiguration.bForceBuildTargetPlatforms)
                {
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("AndroidTargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_PVRTCTargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ATCTargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_DXTTargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ETC1TargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ETC2TargetPlatform");
                }

                if (bBuildShaderFormats)
                {
                    //InModule.AddDynamicallyLoadedModule("ShaderFormatAndroid");		//@todo android: ShaderFormatAndroid
                }
            }
        }
        public override void ModifyNewlyLoadedModule(UEBuildModule InModule, TargetInfo Target)
        {
            if ((Target.Platform == UnrealTargetPlatform.Win32) || (Target.Platform == UnrealTargetPlatform.Win64))
            {
                bool bBuildShaderFormats = UEBuildConfiguration.bForceBuildShaderFormats;

                if (!UEBuildConfiguration.bBuildRequiresCookedData)
                {
                    if (InModule.ToString() == "TargetPlatform")
                    {
                        bBuildShaderFormats = true;
                    }
                }

                // allow standalone tools to use target platform modules, without needing Engine
                if (UEBuildConfiguration.bForceBuildTargetPlatforms)
                {
                    InModule.AddDynamicallyLoadedModule("WindowsTargetPlatform");
                    InModule.AddDynamicallyLoadedModule("WindowsNoEditorTargetPlatform");
                    InModule.AddDynamicallyLoadedModule("WindowsServerTargetPlatform");
                    InModule.AddDynamicallyLoadedModule("WindowsClientTargetPlatform");
                }

                if (bBuildShaderFormats)
                {
                    InModule.AddDynamicallyLoadedModule("ShaderFormatD3D");
                    InModule.AddDynamicallyLoadedModule("ShaderFormatOpenGL");
                }

                if (InModule.ToString() == "D3D11RHI")
                {
                    // To enable platform specific D3D11 RHI Types
                    InModule.AddPrivateIncludePath("Runtime/Windows/D3D11RHI/Private/Windows");
                }
            }
        }
        public override void ModifyNewlyLoadedModule(UEBuildModule InModule, TargetInfo Target)
        {
            if ((Target.Platform == UnrealTargetPlatform.Win32) || (Target.Platform == UnrealTargetPlatform.Win64))
            {
                bool bBuildShaderFormats = UEBuildConfiguration.bForceBuildShaderFormats;
                if (!UEBuildConfiguration.bBuildRequiresCookedData)
                {
                    if (InModule.ToString() == "Engine")
                    {
                        if (UEBuildConfiguration.bBuildDeveloperTools)
                        {
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("AndroidTargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_PVRTCTargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ATCTargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_DXTTargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ETC1TargetPlatform");
                            InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ETC2TargetPlatform");
            //                            InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_GL4TargetPlatform");
                            // @todo es31: Put this back in for ES31 support
                            // ES31 code is in, but it's not fully supported in UE4 4.5, so for now we need to disable the targetplatform as it will confuse people greatly
                            // InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ES31TargetPlatform");
                        }
                    }
                    else if (InModule.ToString() == "UnrealEd")
                    {
                        InModule.AddPlatformSpecificDynamicallyLoadedModule("AndroidPlatformEditor");
                    }
                    else if (InModule.ToString() == "TargetPlatform")
                    {
                        bBuildShaderFormats = true;
                        InModule.AddDynamicallyLoadedModule("TextureFormatPVR");
                        InModule.AddDynamicallyLoadedModule("TextureFormatDXT");
                        InModule.AddPlatformSpecificDynamicallyLoadedModule("TextureFormatAndroid");    // ATITC, ETC1 and ETC2
                        if (UEBuildConfiguration.bBuildDeveloperTools)
                        {
                            //InModule.AddDynamicallyLoadedModule("AudioFormatADPCM");	//@todo android: android audio
                        }
                    }
                }

                // allow standalone tools to use targetplatform modules, without needing Engine
                if (UEBuildConfiguration.bForceBuildTargetPlatforms)
                {
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("AndroidTargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_PVRTCTargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ATCTargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_DXTTargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ETC1TargetPlatform");
                    InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ETC2TargetPlatform");
            //                    InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_GL4TargetPlatform");
                    // @todo es31: Put this back in for ES31 support
                    // ES31 code is in, but it's not fully supported in UE4 4.5, so for now we need to disable the targetplatform as it will confuse people greatly
                    // InModule.AddPlatformSpecificDynamicallyLoadedModule("Android_ES31TargetPlatform");
                }

                if (bBuildShaderFormats)
                {
                    //InModule.AddDynamicallyLoadedModule("ShaderFormatAndroid");		//@todo android: ShaderFormatAndroid
                }
            }
        }