68 lines
3.7 KiB
C#
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>";
|
|
|
|
}
|
|
}
|