157 lines
No EOL
6.2 KiB
C#
157 lines
No EOL
6.2 KiB
C#
using System.ComponentModel;
|
|
using System.IO;
|
|
using JD.Core.ProjectManaging;
|
|
using Packager.Parameters;
|
|
using Packager.Tasks;
|
|
|
|
namespace Packager.BuildConfigurations
|
|
{
|
|
/// <summary>
|
|
/// to generate the bundles for the DLC
|
|
/// All console platforms
|
|
/// </summary>
|
|
public class DlcTaskList : TaskList
|
|
{
|
|
[Browsable(true)]
|
|
public Parameters.Platform Platform { get; set; }
|
|
|
|
[Browsable(true)]
|
|
public string BundleType { get; set; }
|
|
|
|
[Browsable(true)]
|
|
public string MapListFilePath { get; set; }
|
|
|
|
[Browsable(true)]
|
|
public string OutputPath { get; set; }
|
|
|
|
protected void InitializeProperties()
|
|
{
|
|
if (OutputPath == null)
|
|
{
|
|
OutputPath = Path.Combine(DataPath.GetAbsolutePath("output"), Platform + "_" + BundleType);
|
|
}
|
|
}
|
|
|
|
protected RunOnIscTask RunOnIscTask { get; set; }
|
|
|
|
protected FileListTask CreateMapListTask { get; set; }
|
|
|
|
protected CookTask CookingTask { get; set; }
|
|
|
|
protected FilterFailedFiles RemoveFailedMapsTask { get; set; }
|
|
|
|
protected GenDependenciesTask MapDependenciesTask { get; set; }
|
|
|
|
protected MapListTask MapListTask { get; set; }
|
|
|
|
protected LogFilterTask LogFilterTask { get; set; }
|
|
|
|
protected FilterFileListTask RemoveSongWaveFileTask { get; set; }
|
|
|
|
protected SecureFatTask SecureFatTask { get; set; }
|
|
|
|
protected GenDlcDescriptorTask DlcDescriptorTask { get; set; }
|
|
|
|
protected BundlingTask MapBundleTask { get; set; }
|
|
|
|
protected BuildDLCTask BuildDlcPackageTask { get; set; }
|
|
|
|
protected CleanFolderTask CleanOutputFolderTask { get; set; }
|
|
|
|
protected CopyFileTask CopyFilesToOutputFolderTask { get; set; }
|
|
|
|
protected GenGUIDTask GenCacheTask { get; set; }
|
|
|
|
public override void Initialize()
|
|
{
|
|
InitializeProperties();
|
|
|
|
GenCacheTask = AddTask<GenGUIDTask>("Gen Cache Key");
|
|
|
|
MapListTask = AddTask<MapListTask>("Map List");
|
|
MapListTask.MapList.Add(DataPath.GetAbsolutePath(MapListFilePath));
|
|
|
|
|
|
DlcDescriptorTask = AddTask<GenDlcDescriptorTask>("Generate DLC descriptor");
|
|
DlcDescriptorTask.MapList.Add(MapListTask.Maps);
|
|
|
|
|
|
RunOnIscTask = AddTask<RunOnIscTask>("Run On Isc");
|
|
RunOnIscTask.MapList.Add(MapListTask.Maps);
|
|
|
|
|
|
LogFilterTask = AddTask<LogFilterTask>("Log Filter");
|
|
LogFilterTask.MapList.Add(RunOnIscTask.LoadingLogs);
|
|
|
|
MapDependenciesTask = AddTask<GenDependenciesTask>("Map Dependencies");
|
|
MapDependenciesTask.CacheKey = GenCacheTask.Guid;
|
|
MapDependenciesTask.RootFilePaths.Add(MapListTask.Maps);
|
|
|
|
|
|
RemoveSongWaveFileTask = AddTask<FilterFileListTask>("Remove Song Wave File");
|
|
RemoveSongWaveFileTask.FileList.Add(MapDependenciesTask.DependenciesFilePaths);
|
|
RemoveSongWaveFileTask.Filters.CleanAdd(@"*");
|
|
RemoveSongWaveFileTask.RemoveList.Add(DataPath.GetAbsolutePath(@"EngineData\Maplists\DLC\wav_exclude_list.txt"));
|
|
|
|
|
|
CookingTask = AddTask<CookTask>("Cooking");
|
|
CookingTask.CacheKey = GenCacheTask.Guid;
|
|
CookingTask.AssetsList.Add(MapDependenciesTask.DependenciesFilePaths, LogFilterTask.GlobalLogs);
|
|
|
|
|
|
RemoveFailedMapsTask = AddTask<FilterFailedFiles>("Remove Failed Maps");
|
|
RemoveFailedMapsTask.Dependencies.Add(MapDependenciesTask.DependenciesFilePaths);
|
|
RemoveFailedMapsTask.FailedFiles.Add(CookingTask.FailedFiles);
|
|
RemoveFailedMapsTask.MapList.Add(MapListTask.Maps);
|
|
|
|
|
|
CreateMapListTask = AddTask<FileListTask>("Create Map List");
|
|
CreateMapListTask.FileList.Add(RemoveFailedMapsTask.MapList);
|
|
CreateMapListTask.FileName.Add("mapFile.txt");
|
|
|
|
|
|
MapBundleTask = AddTask<BundlingTask>("Map Bundle");
|
|
MapBundleTask.CacheKey = GenCacheTask.Guid;
|
|
MapBundleTask.AssetsList.Add(LogFilterTask.LogicLogs, LogFilterTask.ResourceLogs, MapDependenciesTask.DependenciesFilePaths);
|
|
MapBundleTask.BundleName.Add(MapListTask.Names);
|
|
MapBundleTask.RemoveAssetsList.Add(RemoveSongWaveFileTask.OtherFilesList);
|
|
|
|
|
|
SecureFatTask = AddTask<SecureFatTask>("Secure Fat");
|
|
SecureFatTask.CacheKey = GenCacheTask.Guid;
|
|
SecureFatTask.BundleList.Add(MapBundleTask.BundlePaths);
|
|
|
|
|
|
GeneratePackageConfigTask generatePackageConfigTask = null;
|
|
if (Platform.IsX1OrPs4())
|
|
{
|
|
generatePackageConfigTask = AddTask<GeneratePackageConfigTask>("Generate Package Config");
|
|
generatePackageConfigTask.PackageOrderFile.Value =
|
|
DataPath.GetAbsolutePath(@"EngineData\GameToolPackageTask\packageorderDLC.xml");
|
|
generatePackageConfigTask.RequiredFiles.Add(MapBundleTask.BundlePaths, SecureFatTask.SecureFat,
|
|
DlcDescriptorTask.DlcDescFile);
|
|
generatePackageConfigTask.TemplateFile.Value =
|
|
DataPath.GetAbsolutePath(@"EngineData\GameToolPackageTask\chunkmappingtemplateDLC.xml");
|
|
}
|
|
|
|
|
|
CleanOutputFolderTask = AddTask<CleanFolderTask>("Clean Output Folder");
|
|
CleanOutputFolderTask.ExtFilter.Value = @".ipk;.gf;.preload;.preres;.ckd;.txt";
|
|
CleanOutputFolderTask.Folder.Value = OutputPath;
|
|
|
|
|
|
BuildDlcPackageTask = AddTask<BuildDLCTask>("Build DLC package");
|
|
BuildDlcPackageTask.DlcDescList.Add(DlcDescriptorTask.DlcDescFile);
|
|
BuildDlcPackageTask.FileList.Add(MapBundleTask.BundlePaths, SecureFatTask.SecureFat);
|
|
if (Platform.IsX1OrPs4())
|
|
{
|
|
BuildDlcPackageTask.FileList.Add(generatePackageConfigTask.UpdatedPackageOrder,
|
|
generatePackageConfigTask.PackageConfig, generatePackageConfigTask.IdTable);
|
|
}
|
|
BuildDlcPackageTask.OutputFolder.Value = CleanOutputFolderTask.Folder.Value;
|
|
|
|
CopyFilesToOutputFolderTask = AddTask<CopyFileTask>("Copy Files to Output Folder");
|
|
CopyFilesToOutputFolderTask.OutputFolder.Value = CleanOutputFolderTask.Folder.Value;
|
|
}
|
|
}
|
|
} |