Esempio n. 1
0
    protected ProjectParams SetupParams()
    {
        LogInformation("Setting up ProjectParams for {0}", ProjectPath);

        var Params = new ProjectParams
                     (
            Command: this,
            // Shared
            RawProjectPath: ProjectPath
                     );

        var DirectoriesToCook = ParseParamValue("cookdir");

        if (!String.IsNullOrEmpty(DirectoriesToCook))
        {
            Params.DirectoriesToCook = new ParamList <string>(DirectoriesToCook.Split('+'));
        }

        var DDCGraph = ParseParamValue("ddc");

        if (!String.IsNullOrEmpty(DDCGraph))
        {
            Params.DDCGraph = DDCGraph;
        }


        var InternationalizationPreset = ParseParamValue("i18npreset");

        if (!String.IsNullOrEmpty(InternationalizationPreset))
        {
            Params.InternationalizationPreset = InternationalizationPreset;
        }

        var CulturesToCook = ParseParamValue("cookcultures");

        if (!String.IsNullOrEmpty(CulturesToCook))
        {
            Params.CulturesToCook = new ParamList <string>(CulturesToCook.Split('+'));
        }

        if (Params.DedicatedServer)
        {
            foreach (var ServerPlatformInstance in Params.ServerTargetPlatformInstances)
            {
                ServerPlatformInstance.PlatformSetupParams(ref Params);
            }
        }
        else
        {
            foreach (var ClientPlatformInstance in Params.ClientTargetPlatformInstances)
            {
                ClientPlatformInstance.PlatformSetupParams(ref Params);
            }
        }

        Params.ValidateAndLog();
        return(Params);
    }
Esempio n. 2
0
    protected ProjectParams SetupParams()
    {
        Log("Setting up ProjectParams for {0}", ProjectPath);

        var Params = new ProjectParams
                     (
            Command: this,
            // Shared
            RawProjectPath: ProjectPath
                     );

        // @rocket hack: non-code projects cannot run in Debug
        if (Params.Rocket && !ProjectUtils.IsCodeBasedUProjectFile(ProjectPath))
        {
            if (Params.ClientConfigsToBuild.Contains(UnrealTargetConfiguration.Debug))
            {
                Log("Non-code projects cannot run in Debug game clients. Defaulting to Development.");

                Params.ClientConfigsToBuild.Remove(UnrealTargetConfiguration.Debug);
                Params.ClientConfigsToBuild.Add(UnrealTargetConfiguration.Development);
            }

            if (Params.ClientConfigsToBuild.Contains(UnrealTargetConfiguration.Debug))
            {
                Log("Non-code projects cannot run in Debug game servers. Defaulting to Development.");

                Params.ServerConfigsToBuild.Remove(UnrealTargetConfiguration.Debug);
                Params.ServerConfigsToBuild.Add(UnrealTargetConfiguration.Development);
            }
        }

        var DirectoriesToCook = ParseParamValue("cookdir");

        if (!String.IsNullOrEmpty(DirectoriesToCook))
        {
            Params.DirectoriesToCook = new ParamList <string>(DirectoriesToCook.Split('+'));
        }

        var InternationalizationPreset = ParseParamValue("i18npreset");

        if (!String.IsNullOrEmpty(InternationalizationPreset))
        {
            Params.InternationalizationPreset = InternationalizationPreset;
        }

        var CulturesToCook = ParseParamValue("cookcultures");

        if (!String.IsNullOrEmpty(CulturesToCook))
        {
            Params.CulturesToCook = new ParamList <string>(CulturesToCook.Split('+'));
        }

        if (Params.DedicatedServer)
        {
            foreach (var ServerPlatformInstance in Params.ServerTargetPlatformInstances)
            {
                ServerPlatformInstance.PlatformSetupParams(ref Params);
            }
        }
        else
        {
            foreach (var ClientPlatformInstance in Params.ClientTargetPlatformInstances)
            {
                ClientPlatformInstance.PlatformSetupParams(ref Params);
            }
        }

        Params.ValidateAndLog();
        return(Params);
    }
    protected ProjectParams SetupParams()
    {
        Log("Setting up ProjectParams for {0}", ProjectPath);

        var Params = new ProjectParams
                     (
            Command: this,
            // Shared
            RawProjectPath: ProjectPath
                     );

        // Initialize map
        var Map = ParseParamValue("map");

        if (Map == null)
        {
            LogVerbose("-map command line param not found, trying to find DefaultMap in INI.");
            Map = GetDefaultMap(Params);
        }

        if (!String.IsNullOrEmpty(Map))
        {
            if (ParseParam("allmaps"))
            {
                Log("Cooking all maps");
            }
            else
            {
                Params.MapsToCook = new ParamList <string>(Map);
            }

            Params.MapToRun = GetFirstMap(Map);
        }

        // @rocket hack: non-code projects cannot run in Debug
        if (Params.Rocket && !ProjectUtils.IsCodeBasedUProjectFile(ProjectPath))
        {
            if (Params.ClientConfigsToBuild.Contains(UnrealTargetConfiguration.Debug))
            {
                Log("Non-code projects cannot run in Debug game clients. Defaulting to Development.");

                Params.ClientConfigsToBuild.Remove(UnrealTargetConfiguration.Debug);
                Params.ClientConfigsToBuild.Add(UnrealTargetConfiguration.Development);
            }

            if (Params.ClientConfigsToBuild.Contains(UnrealTargetConfiguration.Debug))
            {
                Log("Non-code projects cannot run in Debug game servers. Defaulting to Development.");

                Params.ServerConfigsToBuild.Remove(UnrealTargetConfiguration.Debug);
                Params.ServerConfigsToBuild.Add(UnrealTargetConfiguration.Development);
            }
        }

        var DirectoriesToCook = ParseParamValue("cookdir");

        if (!String.IsNullOrEmpty(DirectoriesToCook))
        {
            Params.DirectoriesToCook = new ParamList <string>(DirectoriesToCook.Split('+'));
        }

        var CulturesToCook = ParseParamValue("cookcultures");

        if (!String.IsNullOrEmpty(CulturesToCook))
        {
            Params.CulturesToCook = new ParamList <string>(CulturesToCook.Split('+'));
        }

        if (Params.DedicatedServer)
        {
            foreach (var ServerPlatformInstance in Params.ServerTargetPlatformInstances)
            {
                ServerPlatformInstance.PlatformSetupParams(ref Params);
            }
        }
        else
        {
            foreach (var ClientPlatformInstance in Params.ClientTargetPlatformInstances)
            {
                ClientPlatformInstance.PlatformSetupParams(ref Params);
            }
        }

        Params.ValidateAndLog();
        return(Params);
    }