mirror of
https://github.com/aelurum/AssetStudio.git
synced 2025-05-25 05:40:21 -04:00
some changes
This commit is contained in:
parent
f87390cc2b
commit
e5104d5cc7
@ -300,4 +300,35 @@ namespace UnityStudio
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public enum AudioType
|
||||||
|
{
|
||||||
|
UNKNOWN,
|
||||||
|
ACC,
|
||||||
|
AIFF,
|
||||||
|
IT = 10,
|
||||||
|
MOD = 12,
|
||||||
|
MPEG,
|
||||||
|
OGGVORBIS,
|
||||||
|
S3M = 17,
|
||||||
|
WAV = 20,
|
||||||
|
XM,
|
||||||
|
XMA,
|
||||||
|
VAG,
|
||||||
|
AUDIOQUEUE
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum AudioCompressionFormat
|
||||||
|
{
|
||||||
|
PCM,
|
||||||
|
Vorbis,
|
||||||
|
ADPCM,
|
||||||
|
MP3,
|
||||||
|
VAG,
|
||||||
|
HEVAG,
|
||||||
|
XMA,
|
||||||
|
AAC,
|
||||||
|
GCADPCM,
|
||||||
|
ATRAC9
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -775,4 +775,65 @@ namespace UnityStudio
|
|||||||
dwABitMask = -16777216;
|
dwABitMask = -16777216;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public enum TextureFormat
|
||||||
|
{
|
||||||
|
Alpha8 = 1,
|
||||||
|
ARGB4444,
|
||||||
|
RGB24,
|
||||||
|
RGBA32,
|
||||||
|
ARGB32,
|
||||||
|
RGB565 = 7,
|
||||||
|
R16 = 9,
|
||||||
|
DXT1,
|
||||||
|
DXT5 = 12,
|
||||||
|
RGBA4444,
|
||||||
|
BGRA32,
|
||||||
|
RHalf,
|
||||||
|
RGHalf,
|
||||||
|
RGBAHalf,
|
||||||
|
RFloat,
|
||||||
|
RGFloat,
|
||||||
|
RGBAFloat,
|
||||||
|
YUY2,
|
||||||
|
RGB9e5Float,
|
||||||
|
BC4 = 26,
|
||||||
|
BC5,
|
||||||
|
BC6H = 24,
|
||||||
|
BC7,
|
||||||
|
DXT1Crunched = 28,
|
||||||
|
DXT5Crunched,
|
||||||
|
PVRTC_RGB2,
|
||||||
|
PVRTC_RGBA2,
|
||||||
|
PVRTC_RGB4,
|
||||||
|
PVRTC_RGBA4,
|
||||||
|
ETC_RGB4,
|
||||||
|
ATC_RGB4,
|
||||||
|
ATC_RGBA8,
|
||||||
|
EAC_R = 41,
|
||||||
|
EAC_R_SIGNED,
|
||||||
|
EAC_RG,
|
||||||
|
EAC_RG_SIGNED,
|
||||||
|
ETC2_RGB,
|
||||||
|
ETC2_RGBA1,
|
||||||
|
ETC2_RGBA8,
|
||||||
|
ASTC_RGB_4x4,
|
||||||
|
ASTC_RGB_5x5,
|
||||||
|
ASTC_RGB_6x6,
|
||||||
|
ASTC_RGB_8x8,
|
||||||
|
ASTC_RGB_10x10,
|
||||||
|
ASTC_RGB_12x12,
|
||||||
|
ASTC_RGBA_4x4,
|
||||||
|
ASTC_RGBA_5x5,
|
||||||
|
ASTC_RGBA_6x6,
|
||||||
|
ASTC_RGBA_8x8,
|
||||||
|
ASTC_RGBA_10x10,
|
||||||
|
ASTC_RGBA_12x12,
|
||||||
|
ETC_RGB4_3DS,
|
||||||
|
ETC_RGBA8_3DS,
|
||||||
|
RG16,
|
||||||
|
R8,
|
||||||
|
ETC_RGB4Crunched,
|
||||||
|
ETC2_RGBA8Crunched,
|
||||||
|
}
|
||||||
}
|
}
|
@ -11,6 +11,7 @@ namespace UnityStudio
|
|||||||
public long m_PathID;
|
public long m_PathID;
|
||||||
public uint Offset;
|
public uint Offset;
|
||||||
public int Size;
|
public int Size;
|
||||||
|
public ClassIDReference Type;
|
||||||
public int Type1;
|
public int Type1;
|
||||||
public int Type2;
|
public int Type2;
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ namespace UnityStudio
|
|||||||
{
|
{
|
||||||
public EndianBinaryReader assetsFileReader;
|
public EndianBinaryReader assetsFileReader;
|
||||||
public string filePath;
|
public string filePath;
|
||||||
public string bundlePath;
|
public string parentPath;
|
||||||
public string fileName;
|
public string fileName;
|
||||||
public string upperFileName;
|
public string upperFileName;
|
||||||
public int fileGen;
|
public int fileGen;
|
||||||
@ -220,7 +220,7 @@ namespace UnityStudio
|
|||||||
assetsFileReader.endian = EndianType.LittleEndian;
|
assetsFileReader.endian = EndianType.LittleEndian;
|
||||||
}
|
}
|
||||||
|
|
||||||
platformStr = Enum.TryParse(platform.ToString(), out BuildTarget buildTarget) ? buildTarget.ToString() : "Unknown Platform";
|
platformStr = Enum.IsDefined(typeof(BuildTarget), platform) ? ((BuildTarget)platform).ToString() : "Unknown Platform";
|
||||||
|
|
||||||
int baseCount = assetsFileReader.ReadInt32();
|
int baseCount = assetsFileReader.ReadInt32();
|
||||||
for (int i = 0; i < baseCount; i++)
|
for (int i = 0; i < baseCount; i++)
|
||||||
@ -292,13 +292,15 @@ namespace UnityStudio
|
|||||||
//but not the last!
|
//but not the last!
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ClassIDReference.Names.TryGetValue(asset.Type2, out var typeString))
|
if (Enum.IsDefined(typeof(ClassIDReference), asset.Type2))
|
||||||
{
|
{
|
||||||
asset.TypeString = typeString;
|
asset.Type = (ClassIDReference)asset.Type2;
|
||||||
|
asset.TypeString = asset.Type.ToString();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
asset.TypeString = "Unknown Type " + asset.Type2;
|
asset.Type = ClassIDReference.UnknownType;
|
||||||
|
asset.TypeString = "UnknownType " + asset.Type2;
|
||||||
}
|
}
|
||||||
|
|
||||||
asset.uniqueID = i.ToString(assetIDfmt);
|
asset.uniqueID = i.ToString(assetIDfmt);
|
||||||
@ -309,7 +311,7 @@ namespace UnityStudio
|
|||||||
preloadTable.Add(asset.m_PathID, asset);
|
preloadTable.Add(asset.m_PathID, asset);
|
||||||
|
|
||||||
#region read BuildSettings to get version for unity 2.x files
|
#region read BuildSettings to get version for unity 2.x files
|
||||||
if (asset.Type2 == 141 && fileGen == 6)
|
if (asset.Type == ClassIDReference.BuildSettings && fileGen == 6)
|
||||||
{
|
{
|
||||||
long nextAsset = assetsFileReader.Position;
|
long nextAsset = assetsFileReader.Position;
|
||||||
|
|
||||||
|
46
UnityStudio/StudioClasses/BuildTarget.cs
Normal file
46
UnityStudio/StudioClasses/BuildTarget.cs
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace UnityStudio
|
||||||
|
{
|
||||||
|
public enum BuildTarget
|
||||||
|
{
|
||||||
|
DashboardWidget = 1,
|
||||||
|
StandaloneOSX = 2,
|
||||||
|
StandaloneOSXPPC = 3,
|
||||||
|
StandaloneOSXIntel = 4,
|
||||||
|
StandaloneWindows,
|
||||||
|
WebPlayer,
|
||||||
|
WebPlayerStreamed,
|
||||||
|
Wii = 8,
|
||||||
|
iOS = 9,
|
||||||
|
PS3,
|
||||||
|
XBOX360,
|
||||||
|
Android = 13,
|
||||||
|
StandaloneGLESEmu = 14,
|
||||||
|
NaCl = 16,
|
||||||
|
StandaloneLinux = 17,
|
||||||
|
FlashPlayer = 18,
|
||||||
|
StandaloneWindows64 = 19,
|
||||||
|
WebGL,
|
||||||
|
WSAPlayer,
|
||||||
|
StandaloneLinux64 = 24,
|
||||||
|
StandaloneLinuxUniversal,
|
||||||
|
WP8Player,
|
||||||
|
StandaloneOSXIntel64,
|
||||||
|
BlackBerry,
|
||||||
|
Tizen,
|
||||||
|
PSP2,
|
||||||
|
PS4,
|
||||||
|
PSM,
|
||||||
|
XboxOne,
|
||||||
|
SamsungTV,
|
||||||
|
N3DS,
|
||||||
|
WiiU,
|
||||||
|
tvOS,
|
||||||
|
Switch,
|
||||||
|
NoTarget = -2
|
||||||
|
}
|
||||||
|
}
|
@ -1,277 +1,272 @@
|
|||||||
using System.Collections.Generic;
|
namespace UnityStudio
|
||||||
|
|
||||||
namespace UnityStudio
|
|
||||||
{
|
{
|
||||||
public static class ClassIDReference
|
public enum ClassIDReference
|
||||||
{
|
{
|
||||||
public static Dictionary<int, string> Names = new Dictionary<int, string>()
|
UnknownType = -1,
|
||||||
{
|
GameObject = 1,
|
||||||
{1, "GameObject"},
|
Component = 2,
|
||||||
{2, "Component"},
|
LevelGameManager = 3,
|
||||||
{3, "LevelGameManager"},
|
Transform = 4,
|
||||||
{4, "Transform"},
|
TimeManager = 5,
|
||||||
{5, "TimeManager"},
|
GlobalGameManager = 6,
|
||||||
{6, "GlobalGameManager"},
|
Behaviour = 8,
|
||||||
{8, "Behaviour"},
|
GameManager = 9,
|
||||||
{9, "GameManager"},
|
AudioManager = 11,
|
||||||
{11, "AudioManager"},
|
ParticleAnimator = 12,
|
||||||
{12, "ParticleAnimator"},
|
InputManager = 13,
|
||||||
{13, "InputManager"},
|
EllipsoidParticleEmitter = 15,
|
||||||
{15, "EllipsoidParticleEmitter"},
|
Pipeline = 17,
|
||||||
{17, "Pipeline"},
|
EditorExtension = 18,
|
||||||
{18, "EditorExtension"},
|
Physics2DSettings = 19,
|
||||||
{19, "Physics2DSettings"},
|
Camera = 20,
|
||||||
{20, "Camera"},
|
Material = 21,
|
||||||
{21, "Material"},
|
MeshRenderer = 23,
|
||||||
{23, "MeshRenderer"},
|
Renderer = 25,
|
||||||
{25, "Renderer"},
|
ParticleRenderer = 26,
|
||||||
{26, "ParticleRenderer"},
|
Texture = 27,
|
||||||
{27, "Texture"},
|
Texture2D = 28,
|
||||||
{28, "Texture2D"},
|
SceneSettings = 29,
|
||||||
{29, "SceneSettings"},
|
GraphicsSettings = 30,
|
||||||
{30, "GraphicsSettings"},
|
MeshFilter = 33,
|
||||||
{33, "MeshFilter"},
|
OcclusionPortal = 41,
|
||||||
{41, "OcclusionPortal"},
|
Mesh = 43,
|
||||||
{43, "Mesh"},
|
Skybox = 45,
|
||||||
{45, "Skybox"},
|
QualitySettings = 47,
|
||||||
{47, "QualitySettings"},
|
Shader = 48,
|
||||||
{48, "Shader"},
|
TextAsset = 49,
|
||||||
{49, "TextAsset"},
|
Rigidbody2D = 50,
|
||||||
{50, "Rigidbody2D"},
|
Physics2DManager = 51,
|
||||||
{51, "Physics2DManager"},
|
Collider2D = 53,
|
||||||
{53, "Collider2D"},
|
Rigidbody = 54,
|
||||||
{54, "Rigidbody"},
|
PhysicsManager = 55,
|
||||||
{55, "PhysicsManager"},
|
Collider = 56,
|
||||||
{56, "Collider"},
|
Joint = 57,
|
||||||
{57, "Joint"},
|
CircleCollider2D = 58,
|
||||||
{58, "CircleCollider2D"},
|
HingeJoint = 59,
|
||||||
{59, "HingeJoint"},
|
PolygonCollider2D = 60,
|
||||||
{60, "PolygonCollider2D"},
|
BoxCollider2D = 61,
|
||||||
{61, "BoxCollider2D"},
|
PhysicsMaterial2D = 62,
|
||||||
{62, "PhysicsMaterial2D"},
|
MeshCollider = 64,
|
||||||
{64, "MeshCollider"},
|
BoxCollider = 65,
|
||||||
{65, "BoxCollider"},
|
SpriteCollider2D = 66,
|
||||||
{66, "SpriteCollider2D"},
|
EdgeCollider2D = 68,
|
||||||
{68, "EdgeCollider2D"},
|
CapsuleCollider2D = 70,
|
||||||
{70, "CapsuleCollider2D"},
|
ComputeShader = 72,
|
||||||
{72, "ComputeShader"},
|
AnimationClip = 74,
|
||||||
{74, "AnimationClip"},
|
ConstantForce = 75,
|
||||||
{75, "ConstantForce"},
|
WorldParticleCollider = 76,
|
||||||
{76, "WorldParticleCollider"},
|
TagManager = 78,
|
||||||
{78, "TagManager"},
|
AudioListener = 81,
|
||||||
{81, "AudioListener"},
|
AudioSource = 82,
|
||||||
{82, "AudioSource"},
|
AudioClip = 83,
|
||||||
{83, "AudioClip"},
|
RenderTexture = 84,
|
||||||
{84, "RenderTexture"},
|
CustomRenderTexture = 86,
|
||||||
{86, "CustomRenderTexture"},
|
MeshParticleEmitter = 87,
|
||||||
{87, "MeshParticleEmitter"},
|
ParticleEmitter = 88,
|
||||||
{88, "ParticleEmitter"},
|
Cubemap = 89,
|
||||||
{89, "Cubemap"},
|
Avatar = 90,
|
||||||
{90, "Avatar"},
|
AnimatorController = 91,
|
||||||
{91, "AnimatorController"},
|
GUILayer = 92,
|
||||||
{92, "GUILayer"},
|
RuntimeAnimatorController = 93,
|
||||||
{93, "RuntimeAnimatorController"},
|
ScriptMapper = 94,
|
||||||
{94, "ScriptMapper"},
|
Animator = 95,
|
||||||
{95, "Animator"},
|
TrailRenderer = 96,
|
||||||
{96, "TrailRenderer"},
|
DelayedCallManager = 98,
|
||||||
{98, "DelayedCallManager"},
|
TextMesh = 102,
|
||||||
{102, "TextMesh"},
|
RenderSettings = 104,
|
||||||
{104, "RenderSettings"},
|
Light = 108,
|
||||||
{108, "Light"},
|
CGProgram = 109,
|
||||||
{109, "CGProgram"},
|
BaseAnimationTrack = 110,
|
||||||
{110, "BaseAnimationTrack"},
|
Animation = 111,
|
||||||
{111, "Animation"},
|
MonoBehaviour = 114,
|
||||||
{114, "MonoBehaviour"},
|
MonoScript = 115,
|
||||||
{115, "MonoScript"},
|
MonoManager = 116,
|
||||||
{116, "MonoManager"},
|
Texture3D = 117,
|
||||||
{117, "Texture3D"},
|
NewAnimationTrack = 118,
|
||||||
{118, "NewAnimationTrack"},
|
Projector = 119,
|
||||||
{119, "Projector"},
|
LineRenderer = 120,
|
||||||
{120, "LineRenderer"},
|
Flare = 121,
|
||||||
{121, "Flare"},
|
Halo = 122,
|
||||||
{122, "Halo"},
|
LensFlare = 123,
|
||||||
{123, "LensFlare"},
|
FlareLayer = 124,
|
||||||
{124, "FlareLayer"},
|
HaloLayer = 125,
|
||||||
{125, "HaloLayer"},
|
NavMeshAreas = 126,
|
||||||
{126, "NavMeshAreas"},
|
HaloManager = 127,
|
||||||
{127, "HaloManager"},
|
Font = 128,
|
||||||
{128, "Font"},
|
PlayerSettings = 129,
|
||||||
{129, "PlayerSettings"},
|
NamedObject = 130,
|
||||||
{130, "NamedObject"},
|
GUITexture = 131,
|
||||||
{131, "GUITexture"},
|
GUIText = 132,
|
||||||
{132, "GUIText"},
|
GUIElement = 133,
|
||||||
{133, "GUIElement"},
|
PhysicMaterial = 134,
|
||||||
{134, "PhysicMaterial"},
|
SphereCollider = 135,
|
||||||
{135, "SphereCollider"},
|
CapsuleCollider = 136,
|
||||||
{136, "CapsuleCollider"},
|
SkinnedMeshRenderer = 137,
|
||||||
{137, "SkinnedMeshRenderer"},
|
FixedJoint = 138,
|
||||||
{138, "FixedJoint"},
|
RaycastCollider = 140,
|
||||||
{140, "RaycastCollider"},
|
BuildSettings = 141,
|
||||||
{141, "BuildSettings"},
|
AssetBundle = 142,
|
||||||
{142, "AssetBundle"},
|
CharacterController = 143,
|
||||||
{143, "CharacterController"},
|
CharacterJoint = 144,
|
||||||
{144, "CharacterJoint"},
|
SpringJoint = 145,
|
||||||
{145, "SpringJoint"},
|
WheelCollider = 146,
|
||||||
{146, "WheelCollider"},
|
ResourceManager = 147,
|
||||||
{147, "ResourceManager"},
|
NetworkView = 148,
|
||||||
{148, "NetworkView"},
|
NetworkManager = 149,
|
||||||
{149, "NetworkManager"},
|
PreloadData = 150,
|
||||||
{150, "PreloadData"},
|
MovieTexture = 152,
|
||||||
{152, "MovieTexture"},
|
ConfigurableJoint = 153,
|
||||||
{153, "ConfigurableJoint"},
|
TerrainCollider = 154,
|
||||||
{154, "TerrainCollider"},
|
MasterServerInterface = 155,
|
||||||
{155, "MasterServerInterface"},
|
TerrainData = 156,
|
||||||
{156, "TerrainData"},
|
LightmapSettings = 157,
|
||||||
{157, "LightmapSettings"},
|
WebCamTexture = 158,
|
||||||
{158, "WebCamTexture"},
|
EditorSettings = 159,
|
||||||
{159, "EditorSettings"},
|
InteractiveCloth = 160,
|
||||||
{160, "InteractiveCloth"},
|
ClothRenderer = 161,
|
||||||
{161, "ClothRenderer"},
|
EditorUserSettings = 162,
|
||||||
{162, "EditorUserSettings"},
|
SkinnedCloth = 163,
|
||||||
{163, "SkinnedCloth"},
|
AudioReverbFilter = 164,
|
||||||
{164, "AudioReverbFilter"},
|
AudioHighPassFilter = 165,
|
||||||
{165, "AudioHighPassFilter"},
|
AudioChorusFilter = 166,
|
||||||
{166, "AudioChorusFilter"},
|
AudioReverbZone = 167,
|
||||||
{167, "AudioReverbZone"},
|
AudioEchoFilter = 168,
|
||||||
{168, "AudioEchoFilter"},
|
AudioLowPassFilter = 169,
|
||||||
{169, "AudioLowPassFilter"},
|
AudioDistortionFilter = 170,
|
||||||
{170, "AudioDistortionFilter"},
|
SparseTexture = 171,
|
||||||
{171, "SparseTexture"},
|
AudioBehaviour = 180,
|
||||||
{180, "AudioBehaviour"},
|
AudioFilter = 181,
|
||||||
{181, "AudioFilter"},
|
WindZone = 182,
|
||||||
{182, "WindZone"},
|
Cloth = 183,
|
||||||
{183, "Cloth"},
|
SubstanceArchive = 184,
|
||||||
{184, "SubstanceArchive"},
|
ProceduralMaterial = 185,
|
||||||
{185, "ProceduralMaterial"},
|
ProceduralTexture = 186,
|
||||||
{186, "ProceduralTexture"},
|
Texture2DArray = 187,
|
||||||
{187, "Texture2DArray"},
|
CubemapArray = 188,
|
||||||
{188, "CubemapArray"},
|
OffMeshLink = 191,
|
||||||
{191, "OffMeshLink"},
|
OcclusionArea = 192,
|
||||||
{192, "OcclusionArea"},
|
Tree = 193,
|
||||||
{193, "Tree"},
|
NavMeshObsolete = 194,
|
||||||
{194, "NavMeshObsolete"},
|
NavMeshAgent = 195,
|
||||||
{195, "NavMeshAgent"},
|
NavMeshSettings = 196,
|
||||||
{196, "NavMeshSettings"},
|
LightProbesLegacy = 197,
|
||||||
{197, "LightProbesLegacy"},
|
ParticleSystem = 198,
|
||||||
{198, "ParticleSystem"},
|
ParticleSystemRenderer = 199,
|
||||||
{199, "ParticleSystemRenderer"},
|
ShaderVariantCollection = 200,
|
||||||
{200, "ShaderVariantCollection"},
|
LODGroup = 205,
|
||||||
{205, "LODGroup"},
|
BlendTree = 206,
|
||||||
{206, "BlendTree"},
|
Motion = 207,
|
||||||
{207, "Motion"},
|
NavMeshObstacle = 208,
|
||||||
{208, "NavMeshObstacle"},
|
TerrainInstance = 210,
|
||||||
{210, "TerrainInstance"},
|
SpriteRenderer = 212,
|
||||||
{212, "SpriteRenderer"},
|
Sprite = 213,
|
||||||
{213, "Sprite"},
|
CachedSpriteAtlas = 214,
|
||||||
{214, "CachedSpriteAtlas"},
|
ReflectionProbe = 215,
|
||||||
{215, "ReflectionProbe"},
|
ReflectionProbes = 216,
|
||||||
{216, "ReflectionProbes"},
|
Terrain = 218,
|
||||||
{218, "Terrain"},
|
LightProbeGroup = 220,
|
||||||
{220, "LightProbeGroup"},
|
AnimatorOverrideController = 221,
|
||||||
{221, "AnimatorOverrideController"},
|
CanvasRenderer = 222,
|
||||||
{222, "CanvasRenderer"},
|
Canvas = 223,
|
||||||
{223, "Canvas"},
|
RectTransform = 224,
|
||||||
{224, "RectTransform"},
|
CanvasGroup = 225,
|
||||||
{225, "CanvasGroup"},
|
BillboardAsset = 226,
|
||||||
{226, "BillboardAsset"},
|
BillboardRenderer = 227,
|
||||||
{227, "BillboardRenderer"},
|
SpeedTreeWindAsset = 228,
|
||||||
{228, "SpeedTreeWindAsset"},
|
AnchoredJoint2D = 229,
|
||||||
{229, "AnchoredJoint2D"},
|
Joint2D = 230,
|
||||||
{230, "Joint2D"},
|
SpringJoint2D = 231,
|
||||||
{231, "SpringJoint2D"},
|
DistanceJoint2D = 232,
|
||||||
{232, "DistanceJoint2D"},
|
HingeJoint2D = 233,
|
||||||
{233, "HingeJoint2D"},
|
SliderJoint2D = 234,
|
||||||
{234, "SliderJoint2D"},
|
WheelJoint2D = 235,
|
||||||
{235, "WheelJoint2D"},
|
ClusterInputManager = 236,
|
||||||
{236, "ClusterInputManager"},
|
BaseVideoTexture = 237,
|
||||||
{237, "BaseVideoTexture"},
|
NavMeshData = 238,
|
||||||
{238, "NavMeshData"},
|
AudioMixer = 240,
|
||||||
{240, "AudioMixer"},
|
AudioMixerController = 241,
|
||||||
{241, "AudioMixerController"},
|
AudioMixerGroupController = 243,
|
||||||
{243, "AudioMixerGroupController"},
|
AudioMixerEffectController = 244,
|
||||||
{244, "AudioMixerEffectController"},
|
AudioMixerSnapshotController = 245,
|
||||||
{245, "AudioMixerSnapshotController"},
|
PhysicsUpdateBehaviour2D = 246,
|
||||||
{246, "PhysicsUpdateBehaviour2D"},
|
ConstantForce2D = 247,
|
||||||
{247, "ConstantForce2D"},
|
Effector2D = 248,
|
||||||
{248, "Effector2D"},
|
AreaEffector2D = 249,
|
||||||
{249, "AreaEffector2D"},
|
PointEffector2D = 250,
|
||||||
{250, "PointEffector2D"},
|
PlatformEffector2D = 251,
|
||||||
{251, "PlatformEffector2D"},
|
SurfaceEffector2D = 252,
|
||||||
{252, "SurfaceEffector2D"},
|
BuoyancyEffector2D = 253,
|
||||||
{253, "BuoyancyEffector2D"},
|
RelativeJoint2D = 254,
|
||||||
{254, "RelativeJoint2D"},
|
FixedJoint2D = 255,
|
||||||
{255, "FixedJoint2D"},
|
FrictionJoint2D = 256,
|
||||||
{256, "FrictionJoint2D"},
|
TargetJoint2D = 257,
|
||||||
{257, "TargetJoint2D"},
|
LightProbes = 258,
|
||||||
{258, "LightProbes"},
|
LightProbeProxyVolume = 259,
|
||||||
{259, "LightProbeProxyVolume"},
|
SampleClip = 271,
|
||||||
{271, "SampleClip"},
|
AudioMixerSnapshot = 272,
|
||||||
{272, "AudioMixerSnapshot"},
|
AudioMixerGroup = 273,
|
||||||
{273, "AudioMixerGroup"},
|
NScreenBridge = 280,
|
||||||
{280, "NScreenBridge"},
|
AssetBundleManifest = 290,
|
||||||
{290, "AssetBundleManifest"},
|
UnityAdsManager = 292,
|
||||||
{292, "UnityAdsManager"},
|
RuntimeInitializeOnLoadManager = 300,
|
||||||
{300, "RuntimeInitializeOnLoadManager"},
|
CloudWebServicesManager = 301,
|
||||||
{301, "CloudWebServicesManager"},
|
UnityAnalyticsManager = 303,
|
||||||
{303, "UnityAnalyticsManager"},
|
CrashReportManager = 304,
|
||||||
{304, "CrashReportManager"},
|
PerformanceReportingManager = 305,
|
||||||
{305, "PerformanceReportingManager"},
|
UnityConnectSettings = 310,
|
||||||
{310, "UnityConnectSettings"},
|
AvatarMask = 319,
|
||||||
{319, "AvatarMask"},
|
VideoPlayer = 328,
|
||||||
{328, "VideoPlayer"},
|
VideoClip = 329,
|
||||||
{329, "VideoClip"},
|
OcclusionCullingData = 363,
|
||||||
{363, "OcclusionCullingData"},
|
Prefab = 1001,
|
||||||
{1001, "Prefab"},
|
EditorExtensionImpl = 1002,
|
||||||
{1002, "EditorExtensionImpl"},
|
AssetImporter = 1003,
|
||||||
{1003, "AssetImporter"},
|
AssetDatabase = 1004,
|
||||||
{1004, "AssetDatabase"},
|
Mesh3DSImporter = 1005,
|
||||||
{1005, "Mesh3DSImporter"},
|
TextureImporter = 1006,
|
||||||
{1006, "TextureImporter"},
|
ShaderImporter = 1007,
|
||||||
{1007, "ShaderImporter"},
|
ComputeShaderImporter = 1008,
|
||||||
{1008, "ComputeShaderImporter"},
|
AudioImporter = 1020,
|
||||||
{1011, "AvatarMask"},
|
HierarchyState = 1026,
|
||||||
{1020, "AudioImporter"},
|
GUIDSerializer = 1027,
|
||||||
{1026, "HierarchyState"},
|
AssetMetaData = 1028,
|
||||||
{1027, "GUIDSerializer"},
|
DefaultAsset = 1029,
|
||||||
{1028, "AssetMetaData"},
|
DefaultImporter = 1030,
|
||||||
{1029, "DefaultAsset"},
|
TextScriptImporter = 1031,
|
||||||
{1030, "DefaultImporter"},
|
SceneAsset = 1032,
|
||||||
{1031, "TextScriptImporter"},
|
NativeFormatImporter = 1034,
|
||||||
{1032, "SceneAsset"},
|
MonoImporter = 1035,
|
||||||
{1034, "NativeFormatImporter"},
|
AssetServerCache = 1037,
|
||||||
{1035, "MonoImporter"},
|
LibraryAssetImporter = 1038,
|
||||||
{1037, "AssetServerCache"},
|
ModelImporter = 1040,
|
||||||
{1038, "LibraryAssetImporter"},
|
FBXImporter = 1041,
|
||||||
{1040, "ModelImporter"},
|
TrueTypeFontImporter = 1042,
|
||||||
{1041, "FBXImporter"},
|
MovieImporter = 1044,
|
||||||
{1042, "TrueTypeFontImporter"},
|
EditorBuildSettings = 1045,
|
||||||
{1044, "MovieImporter"},
|
DDSImporter = 1046,
|
||||||
{1045, "EditorBuildSettings"},
|
InspectorExpandedState = 1048,
|
||||||
{1046, "DDSImporter"},
|
AnnotationManager = 1049,
|
||||||
{1048, "InspectorExpandedState"},
|
PluginImporter = 1050,
|
||||||
{1049, "AnnotationManager"},
|
EditorUserBuildSettings = 1051,
|
||||||
{1050, "PluginImporter"},
|
PVRImporter = 1052,
|
||||||
{1051, "EditorUserBuildSettings"},
|
ASTCImporter = 1053,
|
||||||
{1052, "PVRImporter"},
|
KTXImporter = 1054,
|
||||||
{1053, "ASTCImporter"},
|
AnimatorStateTransition = 1101,
|
||||||
{1054, "KTXImporter"},
|
AnimatorState = 1102,
|
||||||
{1101, "AnimatorStateTransition"},
|
HumanTemplate = 1105,
|
||||||
{1102, "AnimatorState"},
|
AnimatorStateMachine = 1107,
|
||||||
{1105, "HumanTemplate"},
|
PreviewAssetType = 1108,
|
||||||
{1107, "AnimatorStateMachine"},
|
AnimatorTransition = 1109,
|
||||||
{1108, "PreviewAssetType"},
|
SpeedTreeImporter = 1110,
|
||||||
{1109, "AnimatorTransition"},
|
AnimatorTransitionBase = 1111,
|
||||||
{1110, "SpeedTreeImporter"},
|
SubstanceImporter = 1112,
|
||||||
{1111, "AnimatorTransitionBase"},
|
LightmapParameters = 1113,
|
||||||
{1112, "SubstanceImporter"},
|
LightmapSnapshot = 1120,
|
||||||
{1113, "LightmapParameters"},
|
SubDerived = 367388927,
|
||||||
{1120, "LightmapSnapshot"},
|
SiblingDerived = 334799969,
|
||||||
{367388927, "SubDerived"},
|
SpriteAtlas = 687078895,
|
||||||
{334799969, "SiblingDerived"},
|
Derived = 1091556383,
|
||||||
{687078895, "SpriteAtlas"},
|
LowerResBlitTexture = 1480428607,
|
||||||
{1091556383, "Derived"},
|
RenderPassAttachment = 1571458007
|
||||||
{1480428607, "LowerResBlitTexture"},
|
|
||||||
{1571458007, "RenderPassAttachment"}
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,135 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace UnityStudio
|
|
||||||
{
|
|
||||||
public enum TextureFormat
|
|
||||||
{
|
|
||||||
Alpha8 = 1,
|
|
||||||
ARGB4444,
|
|
||||||
RGB24,
|
|
||||||
RGBA32,
|
|
||||||
ARGB32,
|
|
||||||
RGB565 = 7,
|
|
||||||
R16 = 9,
|
|
||||||
DXT1,
|
|
||||||
DXT5 = 12,
|
|
||||||
RGBA4444,
|
|
||||||
BGRA32,
|
|
||||||
RHalf,
|
|
||||||
RGHalf,
|
|
||||||
RGBAHalf,
|
|
||||||
RFloat,
|
|
||||||
RGFloat,
|
|
||||||
RGBAFloat,
|
|
||||||
YUY2,
|
|
||||||
RGB9e5Float,
|
|
||||||
BC4 = 26,
|
|
||||||
BC5,
|
|
||||||
BC6H = 24,
|
|
||||||
BC7,
|
|
||||||
DXT1Crunched = 28,
|
|
||||||
DXT5Crunched,
|
|
||||||
PVRTC_RGB2,
|
|
||||||
PVRTC_RGBA2,
|
|
||||||
PVRTC_RGB4,
|
|
||||||
PVRTC_RGBA4,
|
|
||||||
ETC_RGB4,
|
|
||||||
ATC_RGB4,
|
|
||||||
ATC_RGBA8,
|
|
||||||
EAC_R = 41,
|
|
||||||
EAC_R_SIGNED,
|
|
||||||
EAC_RG,
|
|
||||||
EAC_RG_SIGNED,
|
|
||||||
ETC2_RGB,
|
|
||||||
ETC2_RGBA1,
|
|
||||||
ETC2_RGBA8,
|
|
||||||
ASTC_RGB_4x4,
|
|
||||||
ASTC_RGB_5x5,
|
|
||||||
ASTC_RGB_6x6,
|
|
||||||
ASTC_RGB_8x8,
|
|
||||||
ASTC_RGB_10x10,
|
|
||||||
ASTC_RGB_12x12,
|
|
||||||
ASTC_RGBA_4x4,
|
|
||||||
ASTC_RGBA_5x5,
|
|
||||||
ASTC_RGBA_6x6,
|
|
||||||
ASTC_RGBA_8x8,
|
|
||||||
ASTC_RGBA_10x10,
|
|
||||||
ASTC_RGBA_12x12,
|
|
||||||
ETC_RGB4_3DS,
|
|
||||||
ETC_RGBA8_3DS,
|
|
||||||
RG16,
|
|
||||||
R8,
|
|
||||||
ETC_RGB4Crunched,
|
|
||||||
ETC2_RGBA8Crunched,
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum AudioType
|
|
||||||
{
|
|
||||||
UNKNOWN,
|
|
||||||
ACC,
|
|
||||||
AIFF,
|
|
||||||
IT = 10,
|
|
||||||
MOD = 12,
|
|
||||||
MPEG,
|
|
||||||
OGGVORBIS,
|
|
||||||
S3M = 17,
|
|
||||||
WAV = 20,
|
|
||||||
XM,
|
|
||||||
XMA,
|
|
||||||
VAG,
|
|
||||||
AUDIOQUEUE
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum AudioCompressionFormat
|
|
||||||
{
|
|
||||||
PCM,
|
|
||||||
Vorbis,
|
|
||||||
ADPCM,
|
|
||||||
MP3,
|
|
||||||
VAG,
|
|
||||||
HEVAG,
|
|
||||||
XMA,
|
|
||||||
AAC,
|
|
||||||
GCADPCM,
|
|
||||||
ATRAC9
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum BuildTarget
|
|
||||||
{
|
|
||||||
StandaloneOSX = 2,
|
|
||||||
StandaloneOSXIntel = 4,
|
|
||||||
StandaloneWindows,
|
|
||||||
WebPlayer,
|
|
||||||
WebPlayerStreamed,
|
|
||||||
iOS = 9,
|
|
||||||
PS3,
|
|
||||||
XBOX360,
|
|
||||||
Android = 13,
|
|
||||||
StandaloneLinux = 17,
|
|
||||||
StandaloneWindows64 = 19,
|
|
||||||
WebGL,
|
|
||||||
WSAPlayer,
|
|
||||||
StandaloneLinux64 = 24,
|
|
||||||
StandaloneLinuxUniversal,
|
|
||||||
WP8Player,
|
|
||||||
StandaloneOSXIntel64,
|
|
||||||
BlackBerry,
|
|
||||||
Tizen,
|
|
||||||
PSP2,
|
|
||||||
PS4,
|
|
||||||
PSM,
|
|
||||||
XboxOne,
|
|
||||||
SamsungTV,
|
|
||||||
N3DS,
|
|
||||||
WiiU,
|
|
||||||
tvOS,
|
|
||||||
Switch,
|
|
||||||
iPhone = -1,
|
|
||||||
BB10 = -1,
|
|
||||||
MetroPlayer = -1,
|
|
||||||
NoTarget = -2
|
|
||||||
}
|
|
||||||
}
|
|
@ -226,7 +226,7 @@ namespace UnityStudio
|
|||||||
{
|
{
|
||||||
foreach (var asset in exportableAssets)
|
foreach (var asset in exportableAssets)
|
||||||
{
|
{
|
||||||
if (asset.Type2 == 28 && asset.Text == texName)
|
if (asset.Type == ClassIDReference.Texture2D && asset.Text == texName)
|
||||||
{
|
{
|
||||||
TexturePD = asset;
|
TexturePD = asset;
|
||||||
break;
|
break;
|
||||||
@ -237,7 +237,7 @@ namespace UnityStudio
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
if (TexturePD != null && TexturePD.Type2 == 28)
|
if (TexturePD != null && TexturePD.Type == ClassIDReference.Texture2D)
|
||||||
{
|
{
|
||||||
Textures.Add(TexturePD);
|
Textures.Add(TexturePD);
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ namespace UnityStudio
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void LoadAssetsFile(string fullName, EndianBinaryReader reader)
|
private static void LoadAssetsFile(string fullName, EndianBinaryReader reader, string parentPath = null)
|
||||||
{
|
{
|
||||||
var fileName = Path.GetFileName(fullName);
|
var fileName = Path.GetFileName(fullName);
|
||||||
StatusStripUpdate("Loading " + fileName);
|
StatusStripUpdate("Loading " + fileName);
|
||||||
@ -39,6 +39,7 @@ namespace UnityStudio
|
|||||||
var assetsFile = new AssetsFile(fullName, reader);
|
var assetsFile = new AssetsFile(fullName, reader);
|
||||||
if (assetsFile.valid)
|
if (assetsFile.valid)
|
||||||
{
|
{
|
||||||
|
assetsFile.parentPath = parentPath;
|
||||||
assetsfileList.Add(assetsFile);
|
assetsfileList.Add(assetsFile);
|
||||||
assetsfileListHash.Add(assetsFile.upperFileName);
|
assetsfileListHash.Add(assetsFile.upperFileName);
|
||||||
|
|
||||||
@ -90,14 +91,17 @@ namespace UnityStudio
|
|||||||
if (value > 0)
|
if (value > 0)
|
||||||
ProgressBarMaximumAdd(value);
|
ProgressBarMaximumAdd(value);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
reader.Dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void LoadBundleFile(string fullName, EndianBinaryReader reader)
|
private static void LoadBundleFile(string fullName, EndianBinaryReader reader, string parentPath = null)
|
||||||
{
|
{
|
||||||
var fileName = Path.GetFileName(fullName);
|
var fileName = Path.GetFileName(fullName);
|
||||||
StatusStripUpdate("Decompressing " + fileName);
|
StatusStripUpdate("Decompressing " + fileName);
|
||||||
var bundleFile = new BundleFile(reader);
|
var bundleFile = new BundleFile(reader);
|
||||||
|
reader.Dispose();
|
||||||
foreach (var file in bundleFile.fileList)
|
foreach (var file in bundleFile.fileList)
|
||||||
{
|
{
|
||||||
if (!assetsfileListHash.Contains(file.fileName.ToUpper()))
|
if (!assetsfileListHash.Contains(file.fileName.ToUpper()))
|
||||||
@ -106,7 +110,7 @@ namespace UnityStudio
|
|||||||
var assetsFile = new AssetsFile(Path.GetDirectoryName(fullName) + "\\" + file.fileName, new EndianBinaryReader(file.stream));
|
var assetsFile = new AssetsFile(Path.GetDirectoryName(fullName) + "\\" + file.fileName, new EndianBinaryReader(file.stream));
|
||||||
if (assetsFile.valid)
|
if (assetsFile.valid)
|
||||||
{
|
{
|
||||||
assetsFile.bundlePath = fullName;
|
assetsFile.parentPath = parentPath ?? fullName;
|
||||||
|
|
||||||
if (assetsFile.fileGen == 6) //2.6.x and earlier don't have a string version before the preload table
|
if (assetsFile.fileGen == 6) //2.6.x and earlier don't have a string version before the preload table
|
||||||
{
|
{
|
||||||
@ -125,25 +129,24 @@ namespace UnityStudio
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
reader.Dispose();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void LoadWebFile(string fullName, EndianBinaryReader reader)
|
private static void LoadWebFile(string fullName, EndianBinaryReader reader)
|
||||||
{
|
{
|
||||||
var fileName = Path.GetFileName(fullName);
|
var fileName = Path.GetFileName(fullName);
|
||||||
StatusStripUpdate("Loading " + fileName);
|
StatusStripUpdate("Loading " + fileName);
|
||||||
var bundleFile = new WebFile(reader);
|
var webFile = new WebFile(reader);
|
||||||
reader.Dispose();
|
reader.Dispose();
|
||||||
foreach (var file in bundleFile.fileList)
|
foreach (var file in webFile.fileList)
|
||||||
{
|
{
|
||||||
var dummyName = Path.GetDirectoryName(fullName) + "\\" + file.fileName;
|
var dummyName = Path.GetDirectoryName(fullName) + "\\" + file.fileName;
|
||||||
switch (CheckFileType(file.stream, out reader))
|
switch (CheckFileType(file.stream, out reader))
|
||||||
{
|
{
|
||||||
case FileType.AssetsFile:
|
case FileType.AssetsFile:
|
||||||
LoadAssetsFile(dummyName, reader);
|
LoadAssetsFile(dummyName, reader, fullName);
|
||||||
break;
|
break;
|
||||||
case FileType.BundleFile:
|
case FileType.BundleFile:
|
||||||
LoadBundleFile(dummyName, reader);
|
LoadBundleFile(dummyName, reader, fullName);
|
||||||
break;
|
break;
|
||||||
case FileType.WebFile:
|
case FileType.WebFile:
|
||||||
LoadWebFile(dummyName, reader);
|
LoadWebFile(dummyName, reader);
|
||||||
|
@ -88,117 +88,99 @@ namespace UnityStudio
|
|||||||
{
|
{
|
||||||
asset.uniqueID = fileID + asset.uniqueID;
|
asset.uniqueID = fileID + asset.uniqueID;
|
||||||
var exportable = false;
|
var exportable = false;
|
||||||
switch (asset.Type2)
|
switch (asset.Type)
|
||||||
{
|
{
|
||||||
case 1: //GameObject
|
case ClassIDReference.GameObject:
|
||||||
{
|
{
|
||||||
GameObject m_GameObject = new GameObject(asset);
|
GameObject m_GameObject = new GameObject(asset);
|
||||||
assetsFile.GameObjectList.Add(asset.m_PathID, m_GameObject);
|
assetsFile.GameObjectList.Add(asset.m_PathID, m_GameObject);
|
||||||
//totalTreeNodes++;
|
//totalTreeNodes++;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 4: //Transform
|
case ClassIDReference.Transform:
|
||||||
{
|
{
|
||||||
Transform m_Transform = new Transform(asset);
|
Transform m_Transform = new Transform(asset);
|
||||||
assetsFile.TransformList.Add(asset.m_PathID, m_Transform);
|
assetsFile.TransformList.Add(asset.m_PathID, m_Transform);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 224: //RectTransform
|
case ClassIDReference.RectTransform:
|
||||||
{
|
{
|
||||||
RectTransform m_Rect = new RectTransform(asset);
|
RectTransform m_Rect = new RectTransform(asset);
|
||||||
assetsFile.TransformList.Add(asset.m_PathID, m_Rect.m_Transform);
|
assetsFile.TransformList.Add(asset.m_PathID, m_Rect.m_Transform);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 28: //Texture2D
|
case ClassIDReference.Texture2D:
|
||||||
{
|
{
|
||||||
Texture2D m_Texture2D = new Texture2D(asset, false);
|
Texture2D m_Texture2D = new Texture2D(asset, false);
|
||||||
exportable = true;
|
exportable = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 48: //Shader
|
case ClassIDReference.Shader:
|
||||||
{
|
{
|
||||||
Shader m_Shader = new Shader(asset, false);
|
Shader m_Shader = new Shader(asset, false);
|
||||||
exportable = true;
|
exportable = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 49: //TextAsset
|
case ClassIDReference.TextAsset:
|
||||||
{
|
{
|
||||||
TextAsset m_TextAsset = new TextAsset(asset, false);
|
TextAsset m_TextAsset = new TextAsset(asset, false);
|
||||||
exportable = true;
|
exportable = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 83: //AudioClip
|
case ClassIDReference.AudioClip:
|
||||||
{
|
{
|
||||||
AudioClip m_AudioClip = new AudioClip(asset, false);
|
AudioClip m_AudioClip = new AudioClip(asset, false);
|
||||||
exportable = true;
|
exportable = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 114: //MonoBehaviour
|
case ClassIDReference.MonoBehaviour:
|
||||||
{
|
{
|
||||||
var m_MonoBehaviour = new MonoBehaviour(asset, false);
|
var m_MonoBehaviour = new MonoBehaviour(asset, false);
|
||||||
if (asset.Type1 != asset.Type2 && assetsFile.ClassStructures.ContainsKey(asset.Type1))
|
if (asset.Type1 != asset.Type2 && assetsFile.ClassStructures.ContainsKey(asset.Type1))
|
||||||
exportable = true;
|
exportable = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 128: //Font
|
case ClassIDReference.Font:
|
||||||
{
|
{
|
||||||
UnityFont m_Font = new UnityFont(asset, false);
|
UnityFont m_Font = new UnityFont(asset, false);
|
||||||
exportable = true;
|
exportable = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 129: //PlayerSettings
|
case ClassIDReference.PlayerSettings:
|
||||||
{
|
{
|
||||||
var plSet = new PlayerSettings(asset);
|
var plSet = new PlayerSettings(asset);
|
||||||
productName = plSet.productName;
|
productName = plSet.productName;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 43: //Mesh
|
case ClassIDReference.Mesh:
|
||||||
{
|
{
|
||||||
Mesh m_Mesh = new Mesh(asset, false);
|
Mesh m_Mesh = new Mesh(asset, false);
|
||||||
exportable = true;
|
exportable = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 142: //AssetBundle
|
case ClassIDReference.AssetBundle:
|
||||||
{
|
{
|
||||||
ab = new AssetBundle(asset);
|
ab = new AssetBundle(asset);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 329: //VideoClip
|
case ClassIDReference.VideoClip:
|
||||||
{
|
{
|
||||||
var m_VideoClip = new VideoClip(asset, false);
|
var m_VideoClip = new VideoClip(asset, false);
|
||||||
exportable = true;
|
exportable = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 152: //MovieTexture
|
case ClassIDReference.MovieTexture:
|
||||||
{
|
{
|
||||||
var m_MovieTexture = new MovieTexture(asset, false);
|
var m_MovieTexture = new MovieTexture(asset, false);
|
||||||
exportable = true;
|
exportable = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 213: //Sprite
|
case ClassIDReference.Sprite:
|
||||||
{
|
{
|
||||||
var m_Sprite = new Sprite(asset, false);
|
var m_Sprite = new Sprite(asset, false);
|
||||||
exportable = true;
|
exportable = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
/*case 21: //Material
|
|
||||||
case 74: //AnimationClip
|
|
||||||
case 90: //Avatar
|
|
||||||
case 91: //AnimatorController
|
|
||||||
case 115: //MonoScript
|
|
||||||
case 687078895: //SpriteAtlas
|
|
||||||
{
|
|
||||||
if (asset.Offset + 4 > asset.sourceFile.a_Stream.BaseStream.Length)
|
|
||||||
break;
|
|
||||||
asset.sourceFile.a_Stream.Position = asset.Offset;
|
|
||||||
var len = asset.sourceFile.a_Stream.ReadInt32();
|
|
||||||
if (len > 0 && len < asset.Size - 4)
|
|
||||||
{
|
|
||||||
var bytes = asset.sourceFile.a_Stream.ReadBytes(len);
|
|
||||||
asset.Text = Encoding.UTF8.GetString(bytes);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
if (!exportable && displayAll)
|
if (!exportable && displayAll)
|
||||||
{
|
{
|
||||||
@ -267,24 +249,24 @@ namespace UnityStudio
|
|||||||
var sourceFile = assetsfileList[m_Component.m_FileID];
|
var sourceFile = assetsfileList[m_Component.m_FileID];
|
||||||
if (sourceFile.preloadTable.TryGetValue(m_Component.m_PathID, out var asset))
|
if (sourceFile.preloadTable.TryGetValue(m_Component.m_PathID, out var asset))
|
||||||
{
|
{
|
||||||
switch (asset.Type2)
|
switch (asset.Type)
|
||||||
{
|
{
|
||||||
case 4: //Transform
|
case ClassIDReference.Transform:
|
||||||
{
|
{
|
||||||
m_GameObject.m_Transform = m_Component;
|
m_GameObject.m_Transform = m_Component;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 23: //MeshRenderer
|
case ClassIDReference.MeshRenderer:
|
||||||
{
|
{
|
||||||
m_GameObject.m_MeshRenderer = m_Component;
|
m_GameObject.m_MeshRenderer = m_Component;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 33: //MeshFilter
|
case ClassIDReference.MeshFilter:
|
||||||
{
|
{
|
||||||
m_GameObject.m_MeshFilter = m_Component;
|
m_GameObject.m_MeshFilter = m_Component;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 137: //SkinnedMeshRenderer
|
case ClassIDReference.SkinnedMeshRenderer:
|
||||||
{
|
{
|
||||||
m_GameObject.m_SkinnedMeshRenderer = m_Component;
|
m_GameObject.m_SkinnedMeshRenderer = m_Component;
|
||||||
break;
|
break;
|
||||||
|
@ -147,6 +147,7 @@
|
|||||||
<Compile Include="StudioClasses\BundleFile.cs" />
|
<Compile Include="StudioClasses\BundleFile.cs" />
|
||||||
<Compile Include="StudioClasses\ClassStruct.cs" />
|
<Compile Include="StudioClasses\ClassStruct.cs" />
|
||||||
<Compile Include="StudioClasses\FBXExporter.cs" />
|
<Compile Include="StudioClasses\FBXExporter.cs" />
|
||||||
|
<Compile Include="StudioClasses\BuildTarget.cs" />
|
||||||
<Compile Include="StudioClasses\ShaderResource.Designer.cs">
|
<Compile Include="StudioClasses\ShaderResource.Designer.cs">
|
||||||
<DependentUpon>ShaderResource.resx</DependentUpon>
|
<DependentUpon>ShaderResource.resx</DependentUpon>
|
||||||
<AutoGen>True</AutoGen>
|
<AutoGen>True</AutoGen>
|
||||||
@ -155,8 +156,7 @@
|
|||||||
<Compile Include="StudioClasses\SpriteHelper.cs" />
|
<Compile Include="StudioClasses\SpriteHelper.cs" />
|
||||||
<Compile Include="StudioClasses\StringExtensions.cs" />
|
<Compile Include="StudioClasses\StringExtensions.cs" />
|
||||||
<Compile Include="StudioClasses\EndianBinaryReader.cs" />
|
<Compile Include="StudioClasses\EndianBinaryReader.cs" />
|
||||||
<Compile Include="StudioClasses\Texture2DConverter.cs" />
|
<Compile Include="Classes\Texture2D.Converter.cs" />
|
||||||
<Compile Include="StudioClasses\Enums.cs" />
|
|
||||||
<Compile Include="StudioClasses\Exporter.cs" />
|
<Compile Include="StudioClasses\Exporter.cs" />
|
||||||
<Compile Include="StudioClasses\Importer.cs" />
|
<Compile Include="StudioClasses\Importer.cs" />
|
||||||
<Compile Include="StudioClasses\Studio.cs" />
|
<Compile Include="StudioClasses\Studio.cs" />
|
||||||
|
@ -136,6 +136,8 @@
|
|||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="OpenFolderDialog.cs" />
|
<Compile Include="OpenFolderDialog.cs" />
|
||||||
|
<Compile Include="StudioClasses\BuildTarget.cs" />
|
||||||
|
<Compile Include="StudioClasses\ClassIDReference.cs" />
|
||||||
<Compile Include="StudioClasses\ShaderResource.Designer.cs">
|
<Compile Include="StudioClasses\ShaderResource.Designer.cs">
|
||||||
<AutoGen>True</AutoGen>
|
<AutoGen>True</AutoGen>
|
||||||
<DesignTime>True</DesignTime>
|
<DesignTime>True</DesignTime>
|
||||||
@ -154,12 +156,10 @@
|
|||||||
<Compile Include="StudioClasses\FBXExporter.cs" />
|
<Compile Include="StudioClasses\FBXExporter.cs" />
|
||||||
<Compile Include="StudioClasses\SpriteHelper.cs" />
|
<Compile Include="StudioClasses\SpriteHelper.cs" />
|
||||||
<Compile Include="StudioClasses\StringExtensions.cs" />
|
<Compile Include="StudioClasses\StringExtensions.cs" />
|
||||||
<Compile Include="StudioClasses\Texture2DConverter.cs" />
|
<Compile Include="Classes\Texture2D.Converter.cs" />
|
||||||
<Compile Include="StudioClasses\Enums.cs" />
|
|
||||||
<Compile Include="StudioClasses\Exporter.cs" />
|
<Compile Include="StudioClasses\Exporter.cs" />
|
||||||
<Compile Include="StudioClasses\Importer.cs" />
|
<Compile Include="StudioClasses\Importer.cs" />
|
||||||
<Compile Include="StudioClasses\Studio.cs" />
|
<Compile Include="StudioClasses\Studio.cs" />
|
||||||
<Compile Include="StudioClasses\ClassIDReference.cs" />
|
|
||||||
<Compile Include="StudioClasses\EndianBinaryReader.cs" />
|
<Compile Include="StudioClasses\EndianBinaryReader.cs" />
|
||||||
<Compile Include="ExportOptions.cs">
|
<Compile Include="ExportOptions.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
|
@ -388,10 +388,10 @@ namespace UnityStudio
|
|||||||
{
|
{
|
||||||
if (lastLoadedAsset != null)
|
if (lastLoadedAsset != null)
|
||||||
{
|
{
|
||||||
switch (lastLoadedAsset.Type2)
|
switch (lastLoadedAsset.Type)
|
||||||
{
|
{
|
||||||
case 28:
|
case ClassIDReference.Texture2D:
|
||||||
case 213:
|
case ClassIDReference.Sprite:
|
||||||
{
|
{
|
||||||
if (enablePreview.Checked && imageTexture != null)
|
if (enablePreview.Checked && imageTexture != null)
|
||||||
{
|
{
|
||||||
@ -404,15 +404,15 @@ namespace UnityStudio
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 48:
|
case ClassIDReference.Shader:
|
||||||
case 49:
|
case ClassIDReference.TextAsset:
|
||||||
case 114:
|
case ClassIDReference.MonoBehaviour:
|
||||||
textPreviewBox.Visible = !textPreviewBox.Visible;
|
textPreviewBox.Visible = !textPreviewBox.Visible;
|
||||||
break;
|
break;
|
||||||
case 128:
|
case ClassIDReference.Font:
|
||||||
fontPreviewBox.Visible = !fontPreviewBox.Visible;
|
fontPreviewBox.Visible = !fontPreviewBox.Visible;
|
||||||
break;
|
break;
|
||||||
case 83:
|
case ClassIDReference.AudioClip:
|
||||||
{
|
{
|
||||||
FMODpanel.Visible = !FMODpanel.Visible;
|
FMODpanel.Visible = !FMODpanel.Visible;
|
||||||
|
|
||||||
@ -728,10 +728,9 @@ namespace UnityStudio
|
|||||||
|
|
||||||
private void PreviewAsset(AssetPreloadData asset)
|
private void PreviewAsset(AssetPreloadData asset)
|
||||||
{
|
{
|
||||||
switch (asset.Type2)
|
switch (asset.Type)
|
||||||
{
|
{
|
||||||
#region Texture2D
|
case ClassIDReference.Texture2D:
|
||||||
case 28: //Texture2D
|
|
||||||
{
|
{
|
||||||
imageTexture?.Dispose();
|
imageTexture?.Dispose();
|
||||||
var m_Texture2D = new Texture2D(asset, true);
|
var m_Texture2D = new Texture2D(asset, true);
|
||||||
@ -750,9 +749,7 @@ namespace UnityStudio
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endregion
|
case ClassIDReference.AudioClip:
|
||||||
#region AudioClip
|
|
||||||
case 83: //AudioClip
|
|
||||||
{
|
{
|
||||||
AudioClip m_AudioClip = new AudioClip(asset, true);
|
AudioClip m_AudioClip = new AudioClip(asset, true);
|
||||||
if (m_AudioClip.m_AudioData == null)
|
if (m_AudioClip.m_AudioData == null)
|
||||||
@ -786,9 +783,7 @@ namespace UnityStudio
|
|||||||
FMODtimerLabel.Text = $"0:0.0 / {FMODlenms / 1000 / 60}:{FMODlenms / 1000 % 60}.{FMODlenms / 10 % 100}";
|
FMODtimerLabel.Text = $"0:0.0 / {FMODlenms / 1000 / 60}:{FMODlenms / 1000 % 60}.{FMODlenms / 10 % 100}";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endregion
|
case ClassIDReference.Shader:
|
||||||
#region Shader
|
|
||||||
case 48:
|
|
||||||
{
|
{
|
||||||
Shader m_TextAsset = new Shader(asset, true);
|
Shader m_TextAsset = new Shader(asset, true);
|
||||||
string m_Script_Text = Encoding.UTF8.GetString(m_TextAsset.m_Script);
|
string m_Script_Text = Encoding.UTF8.GetString(m_TextAsset.m_Script);
|
||||||
@ -798,9 +793,7 @@ namespace UnityStudio
|
|||||||
textPreviewBox.Visible = true;
|
textPreviewBox.Visible = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endregion
|
case ClassIDReference.TextAsset:
|
||||||
#region TextAsset
|
|
||||||
case 49:
|
|
||||||
{
|
{
|
||||||
TextAsset m_TextAsset = new TextAsset(asset, true);
|
TextAsset m_TextAsset = new TextAsset(asset, true);
|
||||||
|
|
||||||
@ -811,9 +804,7 @@ namespace UnityStudio
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endregion
|
case ClassIDReference.MonoBehaviour:
|
||||||
#region MonoBehaviour
|
|
||||||
case 114:
|
|
||||||
{
|
{
|
||||||
MonoBehaviour m_MonoBehaviour = new MonoBehaviour(asset, true);
|
MonoBehaviour m_MonoBehaviour = new MonoBehaviour(asset, true);
|
||||||
textPreviewBox.Text = m_MonoBehaviour.serializedText;
|
textPreviewBox.Text = m_MonoBehaviour.serializedText;
|
||||||
@ -821,9 +812,7 @@ namespace UnityStudio
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endregion
|
case ClassIDReference.Font:
|
||||||
#region Font
|
|
||||||
case 128: //Font
|
|
||||||
{
|
{
|
||||||
UnityFont m_Font = new UnityFont(asset, true);
|
UnityFont m_Font = new UnityFont(asset, true);
|
||||||
if (m_Font.m_FontData != null)
|
if (m_Font.m_FontData != null)
|
||||||
@ -875,9 +864,7 @@ namespace UnityStudio
|
|||||||
StatusStripUpdate("Unsupported font for preview. Try to export.");
|
StatusStripUpdate("Unsupported font for preview. Try to export.");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endregion
|
case ClassIDReference.Mesh:
|
||||||
#region Mesh
|
|
||||||
case 43: //Mesh
|
|
||||||
{
|
{
|
||||||
var m_Mesh = new Mesh(asset, true);
|
var m_Mesh = new Mesh(asset, true);
|
||||||
if (m_Mesh.m_VertexCount > 0)
|
if (m_Mesh.m_VertexCount > 0)
|
||||||
@ -1018,17 +1005,13 @@ namespace UnityStudio
|
|||||||
+ "'Ctrl W'=Wireframe | 'Ctrl S'=Shade | 'Ctrl N'=ReNormal ");
|
+ "'Ctrl W'=Wireframe | 'Ctrl S'=Shade | 'Ctrl N'=ReNormal ");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#endregion
|
case ClassIDReference.VideoClip:
|
||||||
#region VideoClip and MovieTexture
|
case ClassIDReference.MovieTexture:
|
||||||
case 329: //VideoClip
|
|
||||||
case 152: //MovieTexture
|
|
||||||
{
|
{
|
||||||
StatusStripUpdate("Only supported export.");
|
StatusStripUpdate("Only supported export.");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endregion
|
case ClassIDReference.Sprite:
|
||||||
#region Sprite
|
|
||||||
case 213: //Sprite
|
|
||||||
{
|
{
|
||||||
imageTexture?.Dispose();
|
imageTexture?.Dispose();
|
||||||
imageTexture = GetImageFromSprite(asset);
|
imageTexture = GetImageFromSprite(asset);
|
||||||
@ -1046,7 +1029,6 @@ namespace UnityStudio
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endregion
|
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
var str = asset.ViewStruct();
|
var str = asset.ViewStruct();
|
||||||
@ -1479,63 +1461,63 @@ namespace UnityStudio
|
|||||||
if (assetGroupSelectedIndex == 1) { exportpath += Path.GetFileNameWithoutExtension(asset.sourceFile.filePath) + "_export\\"; }
|
if (assetGroupSelectedIndex == 1) { exportpath += Path.GetFileNameWithoutExtension(asset.sourceFile.filePath) + "_export\\"; }
|
||||||
else if (assetGroupSelectedIndex == 0) { exportpath = savePath + "\\" + asset.TypeString + "\\"; }
|
else if (assetGroupSelectedIndex == 0) { exportpath = savePath + "\\" + asset.TypeString + "\\"; }
|
||||||
StatusStripUpdate($"Exporting {asset.TypeString}: {asset.Text}");
|
StatusStripUpdate($"Exporting {asset.TypeString}: {asset.Text}");
|
||||||
switch (asset.Type2)
|
switch (asset.Type)
|
||||||
{
|
{
|
||||||
case 28: //Texture2D
|
case ClassIDReference.Texture2D:
|
||||||
if (ExportTexture2D(asset, exportpath, true))
|
if (ExportTexture2D(asset, exportpath, true))
|
||||||
{
|
{
|
||||||
exportedCount++;
|
exportedCount++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 83: //AudioClip
|
case ClassIDReference.AudioClip:
|
||||||
if (ExportAudioClip(asset, exportpath))
|
if (ExportAudioClip(asset, exportpath))
|
||||||
{
|
{
|
||||||
exportedCount++;
|
exportedCount++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 48: //Shader
|
case ClassIDReference.Shader:
|
||||||
if (ExportShader(asset, exportpath))
|
if (ExportShader(asset, exportpath))
|
||||||
{
|
{
|
||||||
exportedCount++;
|
exportedCount++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 49: //TextAsset
|
case ClassIDReference.TextAsset:
|
||||||
if (ExportTextAsset(asset, exportpath))
|
if (ExportTextAsset(asset, exportpath))
|
||||||
{
|
{
|
||||||
exportedCount++;
|
exportedCount++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 114: //MonoBehaviour
|
case ClassIDReference.MonoBehaviour:
|
||||||
if (ExportMonoBehaviour(asset, exportpath))
|
if (ExportMonoBehaviour(asset, exportpath))
|
||||||
{
|
{
|
||||||
exportedCount++;
|
exportedCount++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 128: //Font
|
case ClassIDReference.Font:
|
||||||
if (ExportFont(asset, exportpath))
|
if (ExportFont(asset, exportpath))
|
||||||
{
|
{
|
||||||
exportedCount++;
|
exportedCount++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 43: //Mesh
|
case ClassIDReference.Mesh:
|
||||||
if (ExportMesh(asset, exportpath))
|
if (ExportMesh(asset, exportpath))
|
||||||
{
|
{
|
||||||
exportedCount++;
|
exportedCount++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 329: //VideoClip
|
case ClassIDReference.VideoClip:
|
||||||
if (ExportVideoClip(asset, exportpath))
|
if (ExportVideoClip(asset, exportpath))
|
||||||
{
|
{
|
||||||
exportedCount++;
|
exportedCount++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 152: //MovieTexture
|
case ClassIDReference.MovieTexture:
|
||||||
if (ExportMovieTexture(asset, exportpath))
|
if (ExportMovieTexture(asset, exportpath))
|
||||||
{
|
{
|
||||||
exportedCount++;
|
exportedCount++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 213: //Sprite
|
case ClassIDReference.Sprite:
|
||||||
if (ExportSprite(asset, exportpath))
|
if (ExportSprite(asset, exportpath))
|
||||||
{
|
{
|
||||||
exportedCount++;
|
exportedCount++;
|
||||||
@ -1807,9 +1789,17 @@ namespace UnityStudio
|
|||||||
Text = "UnityStudio";
|
Text = "UnityStudio";
|
||||||
|
|
||||||
unityFiles.Clear();
|
unityFiles.Clear();
|
||||||
|
foreach (var assetsFile in assetsfileList)
|
||||||
|
{
|
||||||
|
assetsFile.assetsFileReader.Dispose();
|
||||||
|
}
|
||||||
assetsfileList.Clear();
|
assetsfileList.Clear();
|
||||||
exportableAssets.Clear();
|
exportableAssets.Clear();
|
||||||
visibleAssets.Clear();
|
visibleAssets.Clear();
|
||||||
|
foreach (var resourceFileReader in resourceFileReaders)
|
||||||
|
{
|
||||||
|
resourceFileReader.Value.Dispose();
|
||||||
|
}
|
||||||
resourceFileReaders.Clear();
|
resourceFileReaders.Clear();
|
||||||
sharedFileIndex.Clear();
|
sharedFileIndex.Clear();
|
||||||
productName = "";
|
productName = "";
|
||||||
@ -1841,7 +1831,7 @@ namespace UnityStudio
|
|||||||
|
|
||||||
private void showOriginalFileToolStripMenuItem_Click(object sender, EventArgs e)
|
private void showOriginalFileToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var args = $"/select, {selectasset.sourceFile.bundlePath ?? selectasset.sourceFile.filePath}";
|
var args = $"/select, {selectasset.sourceFile.parentPath ?? selectasset.sourceFile.filePath}";
|
||||||
var pfi = new ProcessStartInfo("explorer.exe", args);
|
var pfi = new ProcessStartInfo("explorer.exe", args);
|
||||||
Process.Start(pfi);
|
Process.Start(pfi);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user