From 5120999026fa2a5bf3e60f5fe5f92f1834a79405 Mon Sep 17 00:00:00 2001 From: VaDiM Date: Thu, 4 Apr 2024 21:55:54 +0300 Subject: [PATCH] Update readme and other text files --- AssetStudioCLI/Options/CLIOptions.cs | 4 +-- AssetStudioCLI/ReadMe.md | 35 +++++++++++++++------ AssetStudioUtility/ModelConverter.cs | 2 +- CHANGELOG.md | 46 ++++++++++++++++++++++++++++ LICENSE | 2 +- README.md | 17 +++++----- 6 files changed, 82 insertions(+), 24 deletions(-) diff --git a/AssetStudioCLI/Options/CLIOptions.cs b/AssetStudioCLI/Options/CLIOptions.cs index aa16b28..4cc5f7d 100644 --- a/AssetStudioCLI/Options/CLIOptions.cs +++ b/AssetStudioCLI/Options/CLIOptions.cs @@ -201,8 +201,8 @@ namespace AssetStudioCLI.Options optionDefaultValue: exportableAssetTypes, optionName: "-t, --asset-type ", optionDescription: "Specify asset type(s) to export\n" + - "\n" + + "\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", optionExample: "Examples: \"-t sprite\" or \"-t tex2d,sprite,audio\" or \"-t tex2d;sprite;font\"\n", diff --git a/AssetStudioCLI/ReadMe.md b/AssetStudioCLI/ReadMe.md index cc6eb3a..a540436 100644 --- a/AssetStudioCLI/ReadMe.md +++ b/AssetStudioCLI/ReadMe.md @@ -14,10 +14,11 @@ AssetStudioModCLI [-m, --mode ] [--l2d-force-bezier] [--fbx-scale-factor ] [--fbx-bone-size ] [--filter-by-name ] [--filter-by-container ] [--filter-by-pathid ] - [--filter-by-text ] [--export-asset-list ] + [--filter-by-text ] [--custom-compression ] + [--max-export-tasks ] [--export-asset-list ] [--assembly-folder ] [--unity-version ] - [--not-restore-extension] [--load-all] - + [--not-restore-extension] [--avoid-typetree-loading] + [--load-all] General Options: -m, --mode Specify working mode @@ -26,13 +27,13 @@ General Options: ExportRaw - Exports raw data Dump - Makes asset dumps Info - Loads file(s), shows the number of available for export assets and exits - Live2D - Exports Live2D Cubism 3 models + Live2D - Exports Live2D Cubism models SplitObjects - Exports split objects (fbx) Example: "-m info" -t, --asset-type Specify asset type(s) to export - + All - export all asset types, which are listed in the values *To specify multiple asset types, write them separated by ',' or ';' without spaces Examples: "-t sprite" or "-t tex2d,sprite,audio" or "-t tex2d;sprite;font" @@ -74,9 +75,9 @@ Convert Options: None - Do not convert images and export them as texture data (.tex) Example: "--image-format jpg" - --audio-format Specify the format for converting audio assets + --audio-format Specify the format for converting FMOD audio assets - None - Do not convert audios and export them in their own format + None - Do not convert fmod audios and export them in their own format Example: "--audio-format wav" Live2D Options: @@ -92,11 +93,11 @@ Live2D Options: FBX Options: --fbx-scale-factor Specify the FBX Scale Factor - Example: "--fbx-scale-factor 50" --fbx-bone-size Specify the FBX Bone Size - Example: "--fbx-bone-size 10" Filter Options: @@ -119,6 +120,17 @@ Filter Options: Advanced Options: + --custom-compression Specify the compression type for assets that use custom compression + + Zstd - Try to decompress as zstd archive + Lz4 - Try to decompress as lz4 archive + Example: "--custom-compression lz4" + + --max-export-tasks Specify the number of parallel tasks for asset export + + Max - Number of cores in your CPU + Example: "--max-export-tasks 8" + --export-asset-list Specify the format in which you want to export asset list None - Do not export asset list @@ -132,6 +144,9 @@ Advanced Options: --not-restore-extension (Flag) If specified, AssetStudio will not try to use/restore original TextAsset extension name, and will just export all TextAssets with the ".txt" extension + --avoid-typetree-loading (Flag) If specified, AssetStudio will not try to parse assets at load time + using their type tree + --load-all (Flag) If specified, AssetStudio will load assets of all types (Only for Dump, Info and ExportRaw modes) ``` diff --git a/AssetStudioUtility/ModelConverter.cs b/AssetStudioUtility/ModelConverter.cs index 54127c5..4e086df 100644 --- a/AssetStudioUtility/ModelConverter.cs +++ b/AssetStudioUtility/ModelConverter.cs @@ -16,7 +16,7 @@ namespace AssetStudio private ImageFormat imageFormat; private Avatar avatar; - private AnimationClip[] animationClipUniqArray = Array.Empty(); + private AnimationClip[] animationClipUniqArray = Array.Empty(); //TODO: a proper AnimationClip equality comparer private Dictionary boundAnimationPathDic = new Dictionary(); private Dictionary bonePathHash = new Dictionary(); private Dictionary textureNameDictionary = new Dictionary(); diff --git a/CHANGELOG.md b/CHANGELOG.md index 214ffc7..410d2ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,51 @@ # Changelog +## v0.18.0.0 [04-04-2024] +#### Breaking Changes +- Structure of the AnimationClip class has been changed a bit to match the structure of its type tree (`m_Clip = animationClip.m_MuscleClip.m_Clip` -> `m_Clip = animationClip.m_MuscleClip.m_Clip.data`) +- Types of Unity version fields have been changed from `int[]` to the `UnityVersion` class + +#### New features +- Added option to export assets with PathID in filename (https://github.com/aelurum/AssetStudio/issues/25) +- Added support for swizzled Switch textures: + - Ported from nesrak1's fork (https://github.com/nesrak1/AssetStudio/tree/switch-tex-deswizzle) +- Added support for `Texture2DArray` assets: + - [GUI] Assets of fake asset type `Texture2DArrayImage` will be generated, to make it easier to work with images from array in the GUI +- Added support for assets with Zstd block compression: + - Implemented as one of the option for custom compression type (5). Selected by default. + - [GUI] "Options" -> "Custom compression type" + - [CLI] "--custom-compression" +- Added support of Texture2D assets from Unity 2023.2+ +- Added support of parallel asset export + - It's also possible to specify the number of parallel tasks for export in both the GUI and CLI (the higher the number of parallel tasks, the more RAM may be needed for exporting) +- Added support for parsing assets using their type tree for some asset types (`Texture2D`, `Texture2DArray`, `AnimationClip`) (beta): + > only suitable for asset bundles which contain typetree info + +#### Fixes +- [GUI] Fixed compatibility with High Contrast modes +- Fixed Live2D export error due to wrong Blend type in Live2D expression parser +- Fixed AssetBundle structure for Unity v5.4.x (https://github.com/aelurum/AssetStudio/issues/31) +- Fixed loading of some Unity 2019.4 assets + +#### Other changes +- [GUI] Preserve selection order of `AnimationClip` assets (https://github.com/aelurum/AssetStudio/issues/24) +- Improved integration with Live2D assets: + - Improved export method of AnimationClip motions + - Added support for generation of cdi3.json (beta) + - [GUI] Added display of model info on the preview tab + - [GUI] Added support for partial export: + - selected models + - model + selected AnimationClip motions + - model + selected Fade motions + - model + selected Fade Motion List +- Add more options to work with Scene Hierarchy: (https://github.com/aelurum/AssetStudio/issues/23) + - Added option to group exported assets by node path in scene hierarchy + - Added field with node path to exported xml asset list +- [CLI] Added colors to help message +- Changed Dump function to show/export object dump if type tree dump is not available +- Added more displayed information for non-fmod audio clips +- Added display of asset bundle's unity version in cases where asset's unity version is stripped but the asset bundle's unity version is not + ## v0.17.4.0 [16-12-2023] - Added support for Live2D Fade motions - [GUI] Added related settings to the Export Options window diff --git a/LICENSE b/LICENSE index 598799c..cb25983 100644 --- a/LICENSE +++ b/LICENSE @@ -2,7 +2,7 @@ MIT License Copyright (c) 2016 Radu Copyright (c) 2016-2022 Perfare -Copyright (c) 2021-2023 aelurum +Copyright (c) 2021-2024 aelurum Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 81a0e1c..35706a6 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,13 @@ # AssetStudioMod -[![Build status](https://ci.appveyor.com/api/projects/status/5qyai0hqs0ktyara/branch/AssetStudioMod?svg=true)](https://ci.appveyor.com/project/aelurum/assetstudiomod/branch/AssetStudioMod) +[![Release](https://img.shields.io/github/v/release/aelurum/AssetStudio)](https://github.com/aelurum/AssetStudio/releases/latest) [![Downloads](https://img.shields.io/github/downloads/aelurum/AssetStudio/total?color=blue)](https://github.com/aelurum/AssetStudio/releases/latest) [![Download latest release](https://img.shields.io/badge/Download_latest_release-blue)](https://github.com/aelurum/AssetStudio/releases/latest) + +[![Build status](https://ci.appveyor.com/api/projects/status/5qyai0hqs0ktyara/branch/AssetStudioMod?svg=true)](https://ci.appveyor.com/project/aelurum/assetstudiomod/branch/AssetStudioMod) [![Download latest build](https://img.shields.io/badge/Download_latest_build-brightgreen)](https://ci.appveyor.com/project/aelurum/assetstudiomod/branch/AssetStudioMod/artifacts) **AssetStudioMod** - modified version of Perfare's [AssetStudio](https://github.com/Perfare/AssetStudio), mainly focused on UI optimization and some functionality enhancements. **Neither the repository, nor the tool, nor the author of the tool, nor the author of the modification is affiliated with, sponsored, or authorized by Unity Technologies or its affiliates.** -Since the original repo has been archived, it's worth saying that you shouldn't expect support for newer versions of Unity from this fork. -Unfortunately, I can't continue Perfare's work and keep AssetStudio up to date. - ## Game specific modifications - [ArknightsStudio](https://github.com/aelurum/AssetStudio/tree/ArknightsStudio) @@ -16,9 +15,9 @@ Unfortunately, I can't continue Perfare's work and keep AssetStudio up to date. ## AssetStudio Features - Support version: - - 3.4 - 2022.3 + - 3.4 - 2023.2 - Support asset types: - - **Texture2D** : convert to png, tga, jpeg, bmp, webp + - **Texture2D**, **Texture2DArray** : convert to png, tga, jpeg, bmp, webp - **Sprite** : crop Texture2D to png, tga, jpeg, bmp, webp - **AudioClip** : mp3, ogg, wav, m4a, fsb. Support converting FSB file to WAV(PCM) - **Font** : ttf, otf @@ -39,11 +38,12 @@ Unfortunately, I can't continue Perfare's work and keep AssetStudio up to date. - Support of Live2D Cubism model export - Ported from my fork of Perfare's [UnityLive2DExtractor](https://github.com/aelurum/UnityLive2DExtractor) - Using the Live2D export in AssetStudio allows you to specify a Unity version and assembly folder if needed +- Support of swizzled Switch textures + - Ported from nesrak1's [AssetStudio fork](https://github.com/nesrak1/AssetStudio/tree/switch-tex-deswizzle) - Detecting bundles with UnityCN encryption - Detection only. If you want to open them, please use Razmoth's [Studio](https://github.com/RazTools/Studio) - Some UI optimizations and bug fixes (See [CHANGELOG](https://github.com/aelurum/AssetStudio/blob/AssetStudioMod/CHANGELOG.md) for details) - ## Requirements - AssetStudioMod.net472 @@ -51,9 +51,6 @@ Unfortunately, I can't continue Perfare's work and keep AssetStudio up to date. - AssetStudioMod.net6 - GUI/CLI (Windows) - [.NET Desktop Runtime 6.0](https://dotnet.microsoft.com/download/dotnet/6.0) - CLI (Linux/Mac) - [.NET Runtime 6.0](https://dotnet.microsoft.com/download/dotnet/6.0) -- AssetStudioMod.net7 - - GUI/CLI (Windows) - [.NET Desktop Runtime 7.0](https://dotnet.microsoft.com/download/dotnet/7.0) - - CLI (Linux/Mac) - [.NET Runtime 7.0](https://dotnet.microsoft.com/download/dotnet/7.0) - AssetStudioMod.net8 - GUI/CLI (Windows) - [.NET Desktop Runtime 8.0](https://dotnet.microsoft.com/download/dotnet/8.0) - CLI (Linux/Mac) - [.NET Runtime 8.0](https://dotnet.microsoft.com/download/dotnet/8.0)