JD2022-TU1/main/tools/apps/JDSongConverter/Tasks/CreatePictoTfiTask.cs

68 lines
3.7 KiB
C#

using System;
using System.Linq;
using JDSongConverter.Utils;
using TeaBox.Macros;
namespace JDSongConverter.Tasks
{
/// <summary>
/// Create tfi files (texture file information)
/// </summary>
class CreatePictoTfiTask : Task
{
public string InputDirectory { get; set; }
public string OutputDirectory { get; set; }
public void Init(string inputDir, string outputDir)
{
InputDirectory = inputDir;
OutputDirectory = outputDir;
}
public override string ToString()
{
return String.Format("Creating tfi files");
}
public override string Name
{
get { return "Create tfi files"; }
set { }
}
public override string ProgressText
{
get { return "Creating tfi files"; }
}
public override TaskResult Process(IExecutionContext executionContext)
{
var imagesAsTga = System.IO.Directory.EnumerateFiles(InputDirectory, "*.tga").ToList();
var imagesAsPng = System.IO.Directory.EnumerateFiles(InputDirectory, "*.png").ToList();
var images = imagesAsTga.Union(imagesAsPng);
foreach (var img in images)
{
string tfi = img + ".tfi";
using (var file = FileUtils.OpenOrCreateFile(tfi))
{
file.WriteLine(TfiFile);
}
}
return TaskResult.Ok;
}
private const string TfiFile = @"<?xml version=""1.0"" standalone=""yes""?>
<root>
<TextureConfiguration TargetName=""ORBIS"" CompressionMode=""DXT5"" MipmapLevelStart=""0"" UseMipmap=""False"" WrapModeX=""WrapMode_Clamp"" WrapModeY=""WrapMode_Clamp"" Filter=""MipmapFilter_Box"" AllowDegradation=""False"" LodBias=""0"" AllowDegradationAlpha=""False"" OneColMode=""no"" Anisotropy=""none"" />
<TextureConfiguration TargetName=""DURANGO"" CompressionMode=""DXT5"" MipmapLevelStart=""0"" UseMipmap=""False"" WrapModeX=""WrapMode_Clamp"" WrapModeY=""WrapMode_Clamp"" Filter=""MipmapFilter_Box"" AllowDegradation=""False"" LodBias=""0"" AllowDegradationAlpha=""False"" OneColMode=""no"" Anisotropy=""none"" />
<TextureConfiguration TargetName=""X360"" CompressionMode=""DXT5"" MipmapLevelStart=""0"" UseMipmap=""False"" WrapModeX=""WrapMode_Clamp"" WrapModeY=""WrapMode_Clamp"" Filter=""MipmapFilter_Box"" AllowDegradation=""False"" LodBias=""0"" AllowDegradationAlpha=""False"" OneColMode=""no"" Anisotropy=""none"" />
<TextureConfiguration TargetName=""PS3"" CompressionMode=""DXT5"" MipmapLevelStart=""0"" UseMipmap=""False"" WrapModeX=""WrapMode_Clamp"" WrapModeY=""WrapMode_Clamp"" Filter=""MipmapFilter_Box"" AllowDegradation=""False"" LodBias=""0"" AllowDegradationAlpha=""False"" OneColMode=""no"" Anisotropy=""none"" />
<TextureConfiguration TargetName=""CAFE"" CompressionMode=""DXT5"" MipmapLevelStart=""0"" UseMipmap=""False"" WrapModeX=""WrapMode_Clamp"" WrapModeY=""WrapMode_Clamp"" Filter=""MipmapFilter_Box"" AllowDegradation=""False"" LodBias=""0"" AllowDegradationAlpha=""False"" OneColMode=""no"" Anisotropy=""none"" />
<TextureConfiguration TargetName=""WII"" CompressionMode=""DXT5"" MipmapLevelStart=""1"" UseMipmap=""False"" WrapModeX=""WrapMode_Clamp"" WrapModeY=""WrapMode_Clamp"" Filter=""MipmapFilter_Box"" AllowDegradation=""False"" LodBias=""0"" AllowDegradationAlpha=""False"" OneColMode=""no"" Anisotropy=""none"" />
<TextureConfiguration TargetName=""PC"" CompressionMode=""DXT5"" MipmapLevelStart=""0"" UseMipmap=""False"" WrapModeX=""WrapMode_Clamp"" WrapModeY=""WrapMode_Clamp"" Filter=""MipmapFilter_Box"" AllowDegradation=""False"" LodBias=""0"" AllowDegradationAlpha=""False"" OneColMode=""no"" Anisotropy=""none"" />
</root>";
}
}