[CLI] Add MovieTexture support

This commit is contained in:
VaDiM 2023-03-10 19:32:36 +03:00
parent b59ba3ba94
commit 0925751776
3 changed files with 20 additions and 1 deletions

View File

@ -111,6 +111,17 @@ namespace AssetStudioCLI
return false; return false;
} }
public static bool ExportMovieTexture(AssetItem item, string exportPath)
{
var m_MovieTexture = (MovieTexture)item.Asset;
if (!TryExportFile(exportPath, item, ".ogv", out var exportFullPath))
return false;
File.WriteAllBytes(exportFullPath, m_MovieTexture.m_MovieData);
Logger.Debug($"{item.TypeString}: \"{item.Text}\" exported to \"{exportFullPath}\"");
return true;
}
public static bool ExportShader(AssetItem item, string exportPath) public static bool ExportShader(AssetItem item, string exportPath)
{ {
if (!TryExportFile(exportPath, item, ".shader", out var exportFullPath)) if (!TryExportFile(exportPath, item, ".shader", out var exportFullPath))
@ -260,6 +271,8 @@ namespace AssetStudioCLI
return ExportAudioClip(item, exportPath, options); return ExportAudioClip(item, exportPath, options);
case ClassIDType.VideoClip: case ClassIDType.VideoClip:
return ExportVideoClip(item, exportPath); return ExportVideoClip(item, exportPath);
case ClassIDType.MovieTexture:
return ExportMovieTexture(item, exportPath);
case ClassIDType.Shader: case ClassIDType.Shader:
return ExportShader(item, exportPath); return ExportShader(item, exportPath);
case ClassIDType.TextAsset: case ClassIDType.TextAsset:

View File

@ -121,6 +121,7 @@ namespace AssetStudioCLI.Options
ClassIDType.Shader, ClassIDType.Shader,
ClassIDType.AudioClip, ClassIDType.AudioClip,
ClassIDType.VideoClip, ClassIDType.VideoClip,
ClassIDType.MovieTexture,
}; };
#region Init General Options #region Init General Options
@ -142,7 +143,8 @@ namespace AssetStudioCLI.Options
optionDefaultValue: supportedAssetTypes, optionDefaultValue: supportedAssetTypes,
optionName: "-t, --asset-type <value(s)>", optionName: "-t, --asset-type <value(s)>",
optionDescription: "Specify asset type(s) to export\n" + optionDescription: "Specify asset type(s) to export\n" +
"<Value(s): tex2d, sprite, textAsset, monoBehaviour, font, shader, \naudio, video | all(default)>\n" + "<Value(s): tex2d, sprite, textAsset, monoBehaviour, font, shader, movieTexture,\n" +
"audio, video | all(default)>\n" +
"All - export all asset types, which are listed in the values\n" + "All - export all asset types, which are listed in the values\n" +
"*To specify multiple asset types, write them separated by ',' or ';' without spaces\n" + "*To specify multiple asset types, write them separated by ',' or ';' without spaces\n" +
"Examples: \"-t sprite\" or \"-t all\" or \"-t tex2d,sprite,audio\" or \"-t tex2d;sprite;font\"\n", "Examples: \"-t sprite\" or \"-t all\" or \"-t tex2d,sprite,audio\" or \"-t tex2d;sprite;font\"\n",
@ -450,6 +452,9 @@ namespace AssetStudioCLI.Options
case "videoclip": case "videoclip":
o_exportAssetTypes.Value.Add(ClassIDType.VideoClip); o_exportAssetTypes.Value.Add(ClassIDType.VideoClip);
break; break;
case "movietexture":
o_exportAssetTypes.Value.Add(ClassIDType.MovieTexture);
break;
case "all": case "all":
o_exportAssetTypes.Value = supportedAssetTypes; o_exportAssetTypes.Value = supportedAssetTypes;
break; break;

View File

@ -112,6 +112,7 @@ namespace AssetStudioCLI
assetItem.FullSize = asset.byteSize + m_VideoClip.m_ExternalResources.m_Size; assetItem.FullSize = asset.byteSize + m_VideoClip.m_ExternalResources.m_Size;
assetItem.Text = m_VideoClip.m_Name; assetItem.Text = m_VideoClip.m_Name;
break; break;
case MovieTexture _:
case TextAsset _: case TextAsset _:
case Font _: case Font _:
case Sprite _: case Sprite _: