This commit is contained in:
Perfare 2018-11-14 21:16:17 +08:00
parent 6d68f2bde5
commit c0a5a7a5dd
6 changed files with 525 additions and 487 deletions

View File

@ -10,13 +10,13 @@ namespace AssetStudio
{ {
public class Keyframe<T> public class Keyframe<T>
{ {
public float time { get; set; } public float time;
public T value { get; set; } public T value;
public T inSlope { get; set; } public T inSlope;
public T outSlope { get; set; } public T outSlope;
public int weightedMode { get; set; } public int weightedMode;
public T inWeight { get; set; } public T inWeight;
public T outWeight { get; set; } public T outWeight;
public Keyframe(ObjectReader reader, Func<T> readerFunc) public Keyframe(ObjectReader reader, Func<T> readerFunc)
@ -36,10 +36,10 @@ namespace AssetStudio
public class AnimationCurve<T> public class AnimationCurve<T>
{ {
public List<Keyframe<T>> m_Curve { get; set; } public List<Keyframe<T>> m_Curve;
public int m_PreInfinity { get; set; } public int m_PreInfinity;
public int m_PostInfinity { get; set; } public int m_PostInfinity;
public int m_RotationOrder { get; set; } public int m_RotationOrder;
public AnimationCurve(ObjectReader reader, Func<T> readerFunc) public AnimationCurve(ObjectReader reader, Func<T> readerFunc)
{ {
@ -62,8 +62,8 @@ namespace AssetStudio
public class QuaternionCurve public class QuaternionCurve
{ {
public AnimationCurve<Quaternion> curve { get; set; } public AnimationCurve<Quaternion> curve;
public string path { get; set; } public string path;
public QuaternionCurve(ObjectReader reader) public QuaternionCurve(ObjectReader reader)
{ {
@ -74,11 +74,11 @@ namespace AssetStudio
public class PackedFloatVector public class PackedFloatVector
{ {
public uint m_NumItems { get; set; } public uint m_NumItems;
public float m_Range { get; set; } public float m_Range;
public float m_Start { get; set; } public float m_Start;
public byte[] m_Data { get; set; } public byte[] m_Data;
public byte m_BitSize { get; set; } public byte m_BitSize;
public PackedFloatVector(ObjectReader reader) public PackedFloatVector(ObjectReader reader)
{ {
@ -135,9 +135,9 @@ namespace AssetStudio
public class PackedIntVector public class PackedIntVector
{ {
public uint m_NumItems { get; set; } public uint m_NumItems;
public byte[] m_Data { get; set; } public byte[] m_Data;
public byte m_BitSize { get; set; } public byte m_BitSize;
public PackedIntVector(ObjectReader reader) public PackedIntVector(ObjectReader reader)
{ {
@ -180,8 +180,8 @@ namespace AssetStudio
public class PackedQuatVector public class PackedQuatVector
{ {
public uint m_NumItems { get; set; } public uint m_NumItems;
public byte[] m_Data { get; set; } public byte[] m_Data;
public PackedQuatVector(ObjectReader reader) public PackedQuatVector(ObjectReader reader)
{ {
@ -260,12 +260,12 @@ namespace AssetStudio
public class CompressedAnimationCurve public class CompressedAnimationCurve
{ {
public string m_Path { get; set; } public string m_Path;
public PackedIntVector m_Times { get; set; } public PackedIntVector m_Times;
public PackedQuatVector m_Values { get; set; } public PackedQuatVector m_Values;
public PackedFloatVector m_Slopes { get; set; } public PackedFloatVector m_Slopes;
public int m_PreInfinity { get; set; } public int m_PreInfinity;
public int m_PostInfinity { get; set; } public int m_PostInfinity;
public CompressedAnimationCurve(ObjectReader reader) public CompressedAnimationCurve(ObjectReader reader)
{ {
@ -280,8 +280,8 @@ namespace AssetStudio
public class Vector3Curve public class Vector3Curve
{ {
public AnimationCurve<Vector3> curve { get; set; } public AnimationCurve<Vector3> curve;
public string path { get; set; } public string path;
public Vector3Curve(ObjectReader reader) public Vector3Curve(ObjectReader reader)
{ {
@ -292,11 +292,11 @@ namespace AssetStudio
public class FloatCurve public class FloatCurve
{ {
public AnimationCurve<float> curve { get; set; } public AnimationCurve<float> curve;
public string attribute { get; set; } public string attribute;
public string path { get; set; } public string path;
public int classID { get; set; } public int classID;
public PPtr script { get; set; } public PPtr script;
public FloatCurve(ObjectReader reader) public FloatCurve(ObjectReader reader)
@ -311,8 +311,8 @@ namespace AssetStudio
public class PPtrKeyframe public class PPtrKeyframe
{ {
public float time { get; set; } public float time;
public PPtr value { get; set; } public PPtr value;
public PPtrKeyframe(ObjectReader reader) public PPtrKeyframe(ObjectReader reader)
@ -324,11 +324,11 @@ namespace AssetStudio
public class PPtrCurve public class PPtrCurve
{ {
public List<PPtrKeyframe> curve { get; set; } public List<PPtrKeyframe> curve;
public string attribute { get; set; } public string attribute;
public string path { get; set; } public string path;
public int classID { get; set; } public int classID;
public PPtr script { get; set; } public PPtr script;
public PPtrCurve(ObjectReader reader) public PPtrCurve(ObjectReader reader)
@ -349,8 +349,8 @@ namespace AssetStudio
public class AABB public class AABB
{ {
public Vector3 m_Center { get; set; } public Vector3 m_Center;
public Vector3 m_Extend { get; set; } public Vector3 m_Extend;
public AABB(ObjectReader reader) public AABB(ObjectReader reader)
{ {
@ -361,9 +361,9 @@ namespace AssetStudio
public class xform public class xform
{ {
public object t { get; set; } public object t;
public Quaternion q { get; set; } public Quaternion q;
public object s { get; set; } public object s;
public xform(ObjectReader reader) public xform(ObjectReader reader)
{ {
@ -376,12 +376,12 @@ namespace AssetStudio
public class HandPose public class HandPose
{ {
public xform m_GrabX { get; set; } public xform m_GrabX;
public float[] m_DoFArray { get; set; } public float[] m_DoFArray;
public float m_Override { get; set; } public float m_Override;
public float m_CloseOpen { get; set; } public float m_CloseOpen;
public float m_InOut { get; set; } public float m_InOut;
public float m_Grab { get; set; } public float m_Grab;
public HandPose(ObjectReader reader) public HandPose(ObjectReader reader)
{ {
@ -399,11 +399,11 @@ namespace AssetStudio
public class HumanGoal public class HumanGoal
{ {
public xform m_X { get; set; } public xform m_X;
public float m_WeightT { get; set; } public float m_WeightT;
public float m_WeightR { get; set; } public float m_WeightR;
public object m_HintT { get; set; } public object m_HintT;
public float m_HintWeightT { get; set; } public float m_HintWeightT;
public HumanGoal(ObjectReader reader) public HumanGoal(ObjectReader reader)
{ {
@ -421,14 +421,14 @@ namespace AssetStudio
public class HumanPose public class HumanPose
{ {
public xform m_RootX { get; set; } public xform m_RootX;
public object m_LookAtPosition { get; set; } public object m_LookAtPosition;
public Vector4 m_LookAtWeight { get; set; } public Vector4 m_LookAtWeight;
public List<HumanGoal> m_GoalArray { get; set; } public List<HumanGoal> m_GoalArray;
public HandPose m_LeftHandPose { get; set; } public HandPose m_LeftHandPose;
public HandPose m_RightHandPose { get; set; } public HandPose m_RightHandPose;
public float[] m_DoFArray { get; set; } public float[] m_DoFArray;
public object[] m_TDoFArray { get; set; } public object[] m_TDoFArray;
public HumanPose(ObjectReader reader) public HumanPose(ObjectReader reader)
{ {
@ -464,8 +464,8 @@ namespace AssetStudio
public class StreamedClip public class StreamedClip
{ {
public uint[] data { get; set; } public uint[] data;
public uint curveCount { get; set; } public uint curveCount;
public StreamedClip(ObjectReader reader) public StreamedClip(ObjectReader reader)
{ {
@ -476,8 +476,8 @@ namespace AssetStudio
public class StreamedCurveKey public class StreamedCurveKey
{ {
public int index { get; set; } public int index;
public float[] coeff { get; set; } public float[] coeff;
public float value; public float value;
public float outSlope; public float outSlope;
@ -511,8 +511,8 @@ namespace AssetStudio
public class StreamedFrame public class StreamedFrame
{ {
public float time { get; set; } public float time;
public List<StreamedCurveKey> keyList { get; set; } public List<StreamedCurveKey> keyList;
public StreamedFrame(BinaryReader reader) public StreamedFrame(BinaryReader reader)
{ {
@ -564,11 +564,11 @@ namespace AssetStudio
public class DenseClip public class DenseClip
{ {
public int m_FrameCount { get; set; } public int m_FrameCount;
public uint m_CurveCount { get; set; } public uint m_CurveCount;
public float m_SampleRate { get; set; } public float m_SampleRate;
public float m_BeginTime { get; set; } public float m_BeginTime;
public float[] m_SampleArray { get; set; } public float[] m_SampleArray;
public DenseClip(ObjectReader reader) public DenseClip(ObjectReader reader)
{ {
@ -584,7 +584,7 @@ namespace AssetStudio
public class ConstantClip public class ConstantClip
{ {
public float[] data { get; set; } public float[] data;
public ConstantClip(ObjectReader reader) public ConstantClip(ObjectReader reader)
{ {
@ -595,10 +595,10 @@ namespace AssetStudio
public class ValueConstant public class ValueConstant
{ {
public uint m_ID { get; set; } public uint m_ID;
public uint m_TypeID { get; set; } public uint m_TypeID;
public uint m_Type { get; set; } public uint m_Type;
public uint m_Index { get; set; } public uint m_Index;
public ValueConstant(ObjectReader reader) public ValueConstant(ObjectReader reader)
{ {
@ -615,7 +615,7 @@ namespace AssetStudio
public class ValueArrayConstant public class ValueArrayConstant
{ {
public List<ValueConstant> m_ValueArray { get; set; } public List<ValueConstant> m_ValueArray;
public ValueArrayConstant(ObjectReader reader) public ValueArrayConstant(ObjectReader reader)
{ {
@ -630,10 +630,10 @@ namespace AssetStudio
public class Clip public class Clip
{ {
public StreamedClip m_StreamedClip { get; set; } public StreamedClip m_StreamedClip;
public DenseClip m_DenseClip { get; set; } public DenseClip m_DenseClip;
public ConstantClip m_ConstantClip { get; set; } public ConstantClip m_ConstantClip;
public ValueArrayConstant m_Binding { get; set; } public ValueArrayConstant m_Binding;
public Clip(ObjectReader reader) public Clip(ObjectReader reader)
{ {
@ -650,8 +650,8 @@ namespace AssetStudio
public class ValueDelta public class ValueDelta
{ {
public float m_Start { get; set; } public float m_Start;
public float m_Stop { get; set; } public float m_Stop;
public ValueDelta(ObjectReader reader) public ValueDelta(ObjectReader reader)
{ {
@ -662,35 +662,35 @@ namespace AssetStudio
public class ClipMuscleConstant public class ClipMuscleConstant
{ {
public HumanPose m_DeltaPose { get; set; } public HumanPose m_DeltaPose;
public xform m_StartX { get; set; } public xform m_StartX;
public xform m_StopX { get; set; } public xform m_StopX;
public xform m_LeftFootStartX { get; set; } public xform m_LeftFootStartX;
public xform m_RightFootStartX { get; set; } public xform m_RightFootStartX;
public xform m_MotionStartX { get; set; } public xform m_MotionStartX;
public xform m_MotionStopX { get; set; } public xform m_MotionStopX;
public object m_AverageSpeed { get; set; } public object m_AverageSpeed;
public Clip m_Clip { get; set; } public Clip m_Clip;
public float m_StartTime { get; set; } public float m_StartTime;
public float m_StopTime { get; set; } public float m_StopTime;
public float m_OrientationOffsetY { get; set; } public float m_OrientationOffsetY;
public float m_Level { get; set; } public float m_Level;
public float m_CycleOffset { get; set; } public float m_CycleOffset;
public float m_AverageAngularSpeed { get; set; } public float m_AverageAngularSpeed;
public int[] m_IndexArray { get; set; } public int[] m_IndexArray;
public List<ValueDelta> m_ValueArrayDelta { get; set; } public List<ValueDelta> m_ValueArrayDelta;
public float[] m_ValueArrayReferencePose { get; set; } public float[] m_ValueArrayReferencePose;
public bool m_Mirror { get; set; } public bool m_Mirror;
public bool m_LoopTime { get; set; } public bool m_LoopTime;
public bool m_LoopBlend { get; set; } public bool m_LoopBlend;
public bool m_LoopBlendOrientation { get; set; } public bool m_LoopBlendOrientation;
public bool m_LoopBlendPositionY { get; set; } public bool m_LoopBlendPositionY;
public bool m_LoopBlendPositionXZ { get; set; } public bool m_LoopBlendPositionXZ;
public bool m_StartAtOrigin { get; set; } public bool m_StartAtOrigin;
public bool m_KeepOriginalOrientation { get; set; } public bool m_KeepOriginalOrientation;
public bool m_KeepOriginalPositionY { get; set; } public bool m_KeepOriginalPositionY;
public bool m_KeepOriginalPositionXZ { get; set; } public bool m_KeepOriginalPositionXZ;
public bool m_HeightFromFeet { get; set; } public bool m_HeightFromFeet;
public ClipMuscleConstant(ObjectReader reader) public ClipMuscleConstant(ObjectReader reader)
{ {
@ -759,12 +759,12 @@ namespace AssetStudio
public class GenericBinding public class GenericBinding
{ {
public uint path { get; set; } public uint path;
public uint attribute { get; set; } public uint attribute;
public PPtr script { get; set; } public PPtr script;
public int typeID { get; set; } public int typeID;
public byte customType { get; set; } public byte customType;
public byte isPPtrCurve { get; set; } public byte isPPtrCurve;
public GenericBinding(ObjectReader reader) public GenericBinding(ObjectReader reader)
{ {
@ -788,8 +788,8 @@ namespace AssetStudio
public class AnimationClipBindingConstant public class AnimationClipBindingConstant
{ {
public List<GenericBinding> genericBindings { get; set; } public List<GenericBinding> genericBindings;
public List<PPtr> pptrCurveMapping { get; set; } public List<PPtr> pptrCurveMapping;
public AnimationClipBindingConstant(ObjectReader reader) public AnimationClipBindingConstant(ObjectReader reader)
{ {
@ -833,24 +833,24 @@ namespace AssetStudio
public sealed class AnimationClip : NamedObject public sealed class AnimationClip : NamedObject
{ {
public AnimationType m_AnimationType { get; set; } public AnimationType m_AnimationType;
public bool m_Legacy { get; set; } public bool m_Legacy;
public bool m_Compressed { get; set; } public bool m_Compressed;
public bool m_UseHighQualityCurve { get; set; } public bool m_UseHighQualityCurve;
public List<QuaternionCurve> m_RotationCurves { get; set; } public List<QuaternionCurve> m_RotationCurves;
public List<CompressedAnimationCurve> m_CompressedRotationCurves { get; set; } public List<CompressedAnimationCurve> m_CompressedRotationCurves;
public List<Vector3Curve> m_EulerCurves { get; set; } public List<Vector3Curve> m_EulerCurves;
public List<Vector3Curve> m_PositionCurves { get; set; } public List<Vector3Curve> m_PositionCurves;
public List<Vector3Curve> m_ScaleCurves { get; set; } public List<Vector3Curve> m_ScaleCurves;
public List<FloatCurve> m_FloatCurves { get; set; } public List<FloatCurve> m_FloatCurves;
public List<PPtrCurve> m_PPtrCurves { get; set; } public List<PPtrCurve> m_PPtrCurves;
public float m_SampleRate { get; set; } public float m_SampleRate;
public int m_WrapMode { get; set; } public int m_WrapMode;
public AABB m_Bounds { get; set; } public AABB m_Bounds;
public uint m_MuscleClipSize { get; set; } public uint m_MuscleClipSize;
public ClipMuscleConstant m_MuscleClip { get; set; } public ClipMuscleConstant m_MuscleClip;
public AnimationClipBindingConstant m_ClipBindingConstant { get; set; } public AnimationClipBindingConstant m_ClipBindingConstant;
//public List<AnimationEvent> m_Events { get; set; } //public List<AnimationEvent> m_Events;
public AnimationClip(ObjectReader reader) : base(reader) public AnimationClip(ObjectReader reader) : base(reader)

View File

@ -8,9 +8,9 @@ namespace AssetStudio
{ {
public class HumanPoseMask public class HumanPoseMask
{ {
public uint word0 { get; set; } public uint word0;
public uint word1 { get; set; } public uint word1;
public uint word2 { get; set; } public uint word2;
public HumanPoseMask(ObjectReader reader) public HumanPoseMask(ObjectReader reader)
{ {
@ -25,8 +25,8 @@ namespace AssetStudio
public class SkeletonMaskElement public class SkeletonMaskElement
{ {
public uint m_PathHash { get; set; } public uint m_PathHash;
public float m_Weight { get; set; } public float m_Weight;
public SkeletonMaskElement(ObjectReader reader) public SkeletonMaskElement(ObjectReader reader)
{ {
@ -37,7 +37,7 @@ namespace AssetStudio
public class SkeletonMask public class SkeletonMask
{ {
public SkeletonMaskElement[] m_Data { get; set; } public SkeletonMaskElement[] m_Data;
public SkeletonMask(ObjectReader reader) public SkeletonMask(ObjectReader reader)
{ {
@ -52,15 +52,15 @@ namespace AssetStudio
public class LayerConstant public class LayerConstant
{ {
public uint m_StateMachineIndex { get; set; } public uint m_StateMachineIndex;
public uint m_StateMachineMotionSetIndex { get; set; } public uint m_StateMachineMotionSetIndex;
public HumanPoseMask m_BodyMask { get; set; } public HumanPoseMask m_BodyMask;
public SkeletonMask m_SkeletonMask { get; set; } public SkeletonMask m_SkeletonMask;
public uint m_Binding { get; set; } public uint m_Binding;
public int m_LayerBlendingMode { get; set; } public int m_LayerBlendingMode;
public float m_DefaultWeight { get; set; } public float m_DefaultWeight;
public bool m_IKPass { get; set; } public bool m_IKPass;
public bool m_SyncedLayerAffectsTiming { get; set; } public bool m_SyncedLayerAffectsTiming;
public LayerConstant(ObjectReader reader) public LayerConstant(ObjectReader reader)
{ {
@ -79,10 +79,10 @@ namespace AssetStudio
public class ConditionConstant public class ConditionConstant
{ {
public uint m_ConditionMode { get; set; } public uint m_ConditionMode;
public uint m_EventID { get; set; } public uint m_EventID;
public float m_EventThreshold { get; set; } public float m_EventThreshold;
public float m_ExitTime { get; set; } public float m_ExitTime;
public ConditionConstant(ObjectReader reader) public ConditionConstant(ObjectReader reader)
{ {
@ -95,20 +95,20 @@ namespace AssetStudio
public class TransitionConstant public class TransitionConstant
{ {
public ConditionConstant[] m_ConditionConstantArray { get; set; } public ConditionConstant[] m_ConditionConstantArray;
public uint m_DestinationState { get; set; } public uint m_DestinationState;
public uint m_FullPathID { get; set; } public uint m_FullPathID;
public uint m_ID { get; set; } public uint m_ID;
public uint m_UserID { get; set; } public uint m_UserID;
public float m_TransitionDuration { get; set; } public float m_TransitionDuration;
public float m_TransitionOffset { get; set; } public float m_TransitionOffset;
public float m_ExitTime { get; set; } public float m_ExitTime;
public bool m_HasExitTime { get; set; } public bool m_HasExitTime;
public bool m_HasFixedDuration { get; set; } public bool m_HasFixedDuration;
public int m_InterruptionSource { get; set; } public int m_InterruptionSource;
public bool m_OrderedInterruption { get; set; } public bool m_OrderedInterruption;
public bool m_Atomic { get; set; } public bool m_Atomic;
public bool m_CanTransitionToSelf { get; set; } public bool m_CanTransitionToSelf;
public TransitionConstant(ObjectReader reader) public TransitionConstant(ObjectReader reader)
{ {
@ -151,8 +151,8 @@ namespace AssetStudio
public class LeafInfoConstant public class LeafInfoConstant
{ {
public uint[] m_IDArray { get; set; } public uint[] m_IDArray;
public uint m_IndexOffset { get; set; } public uint m_IndexOffset;
public LeafInfoConstant(ObjectReader reader) public LeafInfoConstant(ObjectReader reader)
{ {
@ -163,7 +163,7 @@ namespace AssetStudio
public class MotionNeighborList public class MotionNeighborList
{ {
public uint[] m_NeighborArray { get; set; } public uint[] m_NeighborArray;
public MotionNeighborList(ObjectReader reader) public MotionNeighborList(ObjectReader reader)
{ {
@ -173,11 +173,11 @@ namespace AssetStudio
public class Blend2dDataConstant public class Blend2dDataConstant
{ {
public Vector2[] m_ChildPositionArray { get; set; } public Vector2[] m_ChildPositionArray;
public float[] m_ChildMagnitudeArray { get; set; } public float[] m_ChildMagnitudeArray;
public Vector2[] m_ChildPairVectorArray { get; set; } public Vector2[] m_ChildPairVectorArray;
public float[] m_ChildPairAvgMagInvArray { get; set; } public float[] m_ChildPairAvgMagInvArray;
public MotionNeighborList[] m_ChildNeighborListArray { get; set; } public MotionNeighborList[] m_ChildNeighborListArray;
public Blend2dDataConstant(ObjectReader reader) public Blend2dDataConstant(ObjectReader reader)
{ {
@ -197,7 +197,7 @@ namespace AssetStudio
public class Blend1dDataConstant // wrong labeled public class Blend1dDataConstant // wrong labeled
{ {
public float[] m_ChildThresholdArray { get; set; } public float[] m_ChildThresholdArray;
public Blend1dDataConstant(ObjectReader reader) public Blend1dDataConstant(ObjectReader reader)
{ {
@ -207,8 +207,8 @@ namespace AssetStudio
public class BlendDirectDataConstant public class BlendDirectDataConstant
{ {
public uint[] m_ChildBlendEventIDArray { get; set; } public uint[] m_ChildBlendEventIDArray;
public bool m_NormalizedBlendValues { get; set; } public bool m_NormalizedBlendValues;
public BlendDirectDataConstant(ObjectReader reader) public BlendDirectDataConstant(ObjectReader reader)
{ {
@ -220,18 +220,18 @@ namespace AssetStudio
public class BlendTreeNodeConstant public class BlendTreeNodeConstant
{ {
public uint m_BlendType { get; set; } public uint m_BlendType;
public uint m_BlendEventID { get; set; } public uint m_BlendEventID;
public uint m_BlendEventYID { get; set; } public uint m_BlendEventYID;
public uint[] m_ChildIndices { get; set; } public uint[] m_ChildIndices;
public Blend1dDataConstant m_Blend1dData { get; set; } public Blend1dDataConstant m_Blend1dData;
public Blend2dDataConstant m_Blend2dData { get; set; } public Blend2dDataConstant m_Blend2dData;
public BlendDirectDataConstant m_BlendDirectData { get; set; } public BlendDirectDataConstant m_BlendDirectData;
public uint m_ClipID { get; set; } public uint m_ClipID;
public uint m_ClipIndex { get; set; } public uint m_ClipIndex;
public float m_Duration { get; set; } public float m_Duration;
public float m_CycleOffset { get; set; } public float m_CycleOffset;
public bool m_Mirror { get; set; } public bool m_Mirror;
public BlendTreeNodeConstant(ObjectReader reader) public BlendTreeNodeConstant(ObjectReader reader)
{ {
@ -262,7 +262,7 @@ namespace AssetStudio
public class BlendTreeConstant public class BlendTreeConstant
{ {
public BlendTreeNodeConstant[] m_NodeArray { get; set; } public BlendTreeNodeConstant[] m_NodeArray;
public BlendTreeConstant(ObjectReader reader) public BlendTreeConstant(ObjectReader reader)
{ {
@ -278,23 +278,23 @@ namespace AssetStudio
public class StateConstant public class StateConstant
{ {
public TransitionConstant[] m_TransitionConstantArray { get; set; } public TransitionConstant[] m_TransitionConstantArray;
public int[] m_BlendTreeConstantIndexArray { get; set; } public int[] m_BlendTreeConstantIndexArray;
public LeafInfoConstant[] m_LeafInfoArray { get; set; } public LeafInfoConstant[] m_LeafInfoArray;
public BlendTreeConstant[] m_BlendTreeConstantArray { get; set; } public BlendTreeConstant[] m_BlendTreeConstantArray;
public uint m_NameID { get; set; } public uint m_NameID;
public uint m_PathID { get; set; } public uint m_PathID;
public uint m_FullPathID { get; set; } public uint m_FullPathID;
public uint m_TagID { get; set; } public uint m_TagID;
public uint m_SpeedParamID { get; set; } public uint m_SpeedParamID;
public uint m_MirrorParamID { get; set; } public uint m_MirrorParamID;
public uint m_CycleOffsetParamID { get; set; } public uint m_CycleOffsetParamID;
public float m_Speed { get; set; } public float m_Speed;
public float m_CycleOffset { get; set; } public float m_CycleOffset;
public bool m_IKOnFeet { get; set; } public bool m_IKOnFeet;
public bool m_WriteDefaultValues { get; set; } public bool m_WriteDefaultValues;
public bool m_Loop { get; set; } public bool m_Loop;
public bool m_Mirror { get; set; } public bool m_Mirror;
public StateConstant(ObjectReader reader) public StateConstant(ObjectReader reader)
{ {
@ -366,8 +366,8 @@ namespace AssetStudio
public class SelectorTransitionConstant public class SelectorTransitionConstant
{ {
public uint m_Destination { get; set; } public uint m_Destination;
public ConditionConstant[] m_ConditionConstantArray { get; set; } public ConditionConstant[] m_ConditionConstantArray;
public SelectorTransitionConstant(ObjectReader reader) public SelectorTransitionConstant(ObjectReader reader)
{ {
@ -384,9 +384,9 @@ namespace AssetStudio
public class SelectorStateConstant public class SelectorStateConstant
{ {
public SelectorTransitionConstant[] m_TransitionConstantArray { get; set; } public SelectorTransitionConstant[] m_TransitionConstantArray;
public uint m_FullPathID { get; set; } public uint m_FullPathID;
public bool m_isEntry { get; set; } public bool m_isEntry;
public SelectorStateConstant(ObjectReader reader) public SelectorStateConstant(ObjectReader reader)
{ {
@ -405,11 +405,11 @@ namespace AssetStudio
public class StateMachineConstant public class StateMachineConstant
{ {
public StateConstant[] m_StateConstantArray { get; set; } public StateConstant[] m_StateConstantArray;
public TransitionConstant[] m_AnyStateTransitionConstantArray { get; set; } public TransitionConstant[] m_AnyStateTransitionConstantArray;
public SelectorStateConstant[] m_SelectorStateConstantArray { get; set; } public SelectorStateConstant[] m_SelectorStateConstantArray;
public uint m_DefaultState { get; set; } public uint m_DefaultState;
public uint m_MotionSetCount { get; set; } public uint m_MotionSetCount;
public StateMachineConstant(ObjectReader reader) public StateMachineConstant(ObjectReader reader)
{ {
@ -445,12 +445,12 @@ namespace AssetStudio
public class ValueArray public class ValueArray
{ {
public bool[] m_BoolValues { get; set; } public bool[] m_BoolValues;
public int[] m_IntValues { get; set; } public int[] m_IntValues;
public float[] m_FloatValues { get; set; } public float[] m_FloatValues;
public object[] m_PositionValues { get; set; } public object[] m_PositionValues;
public Vector4[] m_QuaternionValues { get; set; } public Vector4[] m_QuaternionValues;
public object[] m_ScaleValues { get; set; } public object[] m_ScaleValues;
public ValueArray(ObjectReader reader) public ValueArray(ObjectReader reader)
{ {
@ -505,10 +505,10 @@ namespace AssetStudio
public class ControllerConstant public class ControllerConstant
{ {
public LayerConstant[] m_LayerArray { get; set; } public LayerConstant[] m_LayerArray;
public StateMachineConstant[] m_StateMachineArray { get; set; } public StateMachineConstant[] m_StateMachineArray;
public ValueArrayConstant m_Values { get; set; } public ValueArrayConstant m_Values;
public ValueArray m_DefaultValues { get; set; } public ValueArray m_DefaultValues;
public ControllerConstant(ObjectReader reader) public ControllerConstant(ObjectReader reader)
{ {

View File

@ -5,8 +5,8 @@ namespace AssetStudio
{ {
public class Node public class Node
{ {
public int m_ParentId { get; set; } public int m_ParentId;
public int m_AxesId { get; set; } public int m_AxesId;
public Node(ObjectReader reader) public Node(ObjectReader reader)
{ {
@ -17,8 +17,8 @@ namespace AssetStudio
public class Limit public class Limit
{ {
public object m_Min { get; set; } public object m_Min;
public object m_Max { get; set; } public object m_Max;
public Limit(ObjectReader reader) public Limit(ObjectReader reader)
{ {
@ -38,12 +38,12 @@ namespace AssetStudio
public class Axes public class Axes
{ {
public Vector4 m_PreQ { get; set; } public Vector4 m_PreQ;
public Vector4 m_PostQ { get; set; } public Vector4 m_PostQ;
public object m_Sgn { get; set; } public object m_Sgn;
public Limit m_Limit { get; set; } public Limit m_Limit;
public float m_Length { get; set; } public float m_Length;
public uint m_Type { get; set; } public uint m_Type;
public Axes(ObjectReader reader) public Axes(ObjectReader reader)
{ {
@ -66,9 +66,9 @@ namespace AssetStudio
public class Skeleton public class Skeleton
{ {
public List<Node> m_Node { get; set; } public List<Node> m_Node;
public List<uint> m_ID { get; set; } public List<uint> m_ID;
public List<Axes> m_AxesArray { get; set; } public List<Axes> m_AxesArray;
public Skeleton(ObjectReader reader) public Skeleton(ObjectReader reader)
@ -98,7 +98,7 @@ namespace AssetStudio
public class SkeletonPose public class SkeletonPose
{ {
public List<xform> m_X { get; set; } public List<xform> m_X;
public SkeletonPose() public SkeletonPose()
{ {
@ -118,7 +118,7 @@ namespace AssetStudio
public class Hand public class Hand
{ {
public List<int> m_HandBoneIndex { get; set; } public List<int> m_HandBoneIndex;
public Hand(ObjectReader reader) public Hand(ObjectReader reader)
{ {
@ -133,9 +133,9 @@ namespace AssetStudio
public class Handle public class Handle
{ {
public xform m_X { get; set; } public xform m_X;
public uint m_ParentHumanIndex { get; set; } public uint m_ParentHumanIndex;
public uint m_ID { get; set; } public uint m_ID;
public Handle(ObjectReader reader) public Handle(ObjectReader reader)
{ {
@ -147,15 +147,15 @@ namespace AssetStudio
public class Collider public class Collider
{ {
public xform m_X { get; set; } public xform m_X;
public uint m_Type { get; set; } public uint m_Type;
public uint m_XMotionType { get; set; } public uint m_XMotionType;
public uint m_YMotionType { get; set; } public uint m_YMotionType;
public uint m_ZMotionType { get; set; } public uint m_ZMotionType;
public float m_MinLimitX { get; set; } public float m_MinLimitX;
public float m_MaxLimitX { get; set; } public float m_MaxLimitX;
public float m_MaxLimitY { get; set; } public float m_MaxLimitY;
public float m_MaxLimitZ { get; set; } public float m_MaxLimitZ;
public Collider(ObjectReader reader) public Collider(ObjectReader reader)
{ {
@ -173,27 +173,27 @@ namespace AssetStudio
public class Human public class Human
{ {
public xform m_RootX { get; set; } public xform m_RootX;
public Skeleton m_Skeleton { get; set; } public Skeleton m_Skeleton;
public SkeletonPose m_SkeletonPose { get; set; } public SkeletonPose m_SkeletonPose;
public Hand m_LeftHand { get; set; } public Hand m_LeftHand;
public Hand m_RightHand { get; set; } public Hand m_RightHand;
public List<Handle> m_Handles { get; set; } public List<Handle> m_Handles;
public List<Collider> m_ColliderArray { get; set; } public List<Collider> m_ColliderArray;
public List<int> m_HumanBoneIndex { get; set; } public List<int> m_HumanBoneIndex;
public List<float> m_HumanBoneMass { get; set; } public List<float> m_HumanBoneMass;
public List<int> m_ColliderIndex { get; set; } public List<int> m_ColliderIndex;
public float m_Scale { get; set; } public float m_Scale;
public float m_ArmTwist { get; set; } public float m_ArmTwist;
public float m_ForeArmTwist { get; set; } public float m_ForeArmTwist;
public float m_UpperLegTwist { get; set; } public float m_UpperLegTwist;
public float m_LegTwist { get; set; } public float m_LegTwist;
public float m_ArmStretch { get; set; } public float m_ArmStretch;
public float m_LegStretch { get; set; } public float m_LegStretch;
public float m_FeetSpacing { get; set; } public float m_FeetSpacing;
public bool m_HasLeftHand { get; set; } public bool m_HasLeftHand;
public bool m_HasRightHand { get; set; } public bool m_HasRightHand;
public bool m_HasTDoF { get; set; } public bool m_HasTDoF;
public Human(ObjectReader reader) public Human(ObjectReader reader)
{ {
@ -262,18 +262,18 @@ namespace AssetStudio
public class AvatarConstant public class AvatarConstant
{ {
public Skeleton m_AvatarSkeleton { get; set; } public Skeleton m_AvatarSkeleton;
public SkeletonPose m_AvatarSkeletonPose { get; set; } public SkeletonPose m_AvatarSkeletonPose;
public SkeletonPose m_DefaultPose { get; set; } public SkeletonPose m_DefaultPose;
public List<uint> m_SkeletonNameIDArray { get; set; } public List<uint> m_SkeletonNameIDArray;
public Human m_Human { get; set; } public Human m_Human;
public List<int> m_HumanSkeletonIndexArray { get; set; } public List<int> m_HumanSkeletonIndexArray;
public List<int> m_HumanSkeletonReverseIndexArray { get; set; } public List<int> m_HumanSkeletonReverseIndexArray;
public int m_RootMotionBoneIndex { get; set; } public int m_RootMotionBoneIndex;
public xform m_RootMotionBoneX { get; set; } public xform m_RootMotionBoneX;
public Skeleton m_RootMotionSkeleton { get; set; } public Skeleton m_RootMotionSkeleton;
public SkeletonPose m_RootMotionSkeletonPose { get; set; } public SkeletonPose m_RootMotionSkeletonPose;
public List<int> m_RootMotionSkeletonIndexArray { get; set; } public List<int> m_RootMotionSkeletonIndexArray;
public AvatarConstant(ObjectReader reader) public AvatarConstant(ObjectReader reader)
{ {
@ -331,9 +331,9 @@ namespace AssetStudio
public sealed class Avatar : NamedObject public sealed class Avatar : NamedObject
{ {
public uint m_AvatarSize { get; set; } public uint m_AvatarSize;
public AvatarConstant m_Avatar { get; set; } public AvatarConstant m_Avatar;
public List<KeyValuePair<uint, string>> m_TOS { get; set; } public List<KeyValuePair<uint, string>> m_TOS;
public Avatar(ObjectReader reader) : base(reader) public Avatar(ObjectReader reader) : base(reader)
{ {

View File

@ -66,10 +66,10 @@ namespace AssetStudio
{ {
public class BlendShapeVertex public class BlendShapeVertex
{ {
public Vector3 vertex { get; set; } public Vector3 vertex;
public Vector3 normal { get; set; } public Vector3 normal;
public Vector3 tangent { get; set; } public Vector3 tangent;
public uint index { get; set; } public uint index;
public BlendShapeVertex(ObjectReader reader) public BlendShapeVertex(ObjectReader reader)
{ {
@ -82,10 +82,10 @@ namespace AssetStudio
public class MeshBlendShape public class MeshBlendShape
{ {
public uint firstVertex { get; set; } public uint firstVertex;
public uint vertexCount { get; set; } public uint vertexCount;
public bool hasNormals { get; set; } public bool hasNormals;
public bool hasTangents { get; set; } public bool hasTangents;
public MeshBlendShape(ObjectReader reader) public MeshBlendShape(ObjectReader reader)
{ {
@ -99,10 +99,10 @@ namespace AssetStudio
public class MeshBlendShapeChannel public class MeshBlendShapeChannel
{ {
public string name { get; set; } public string name;
public uint nameHash { get; set; } public uint nameHash;
public int frameIndex { get; set; } public int frameIndex;
public int frameCount { get; set; } public int frameCount;
public MeshBlendShapeChannel(ObjectReader reader) public MeshBlendShapeChannel(ObjectReader reader)
{ {
@ -113,10 +113,10 @@ namespace AssetStudio
} }
} }
public List<BlendShapeVertex> vertices { get; set; } public List<BlendShapeVertex> vertices;
public List<MeshBlendShape> shapes { get; set; } public List<MeshBlendShape> shapes;
public List<MeshBlendShapeChannel> channels { get; set; } public List<MeshBlendShapeChannel> channels;
public List<float> fullWeights { get; set; } public List<float> fullWeights;
public BlendShapeData(ObjectReader reader) public BlendShapeData(ObjectReader reader)
{ {

View File

@ -6,8 +6,8 @@ namespace AssetStudio
{ {
public class StructParameter public class StructParameter
{ {
public List<MatrixParameter> m_MatrixParams { get; set; } public List<MatrixParameter> m_MatrixParams;
public List<VectorParameter> m_VectorParams { get; set; } public List<VectorParameter> m_VectorParams;
public StructParameter(BinaryReader reader) public StructParameter(BinaryReader reader)
{ {
@ -34,8 +34,8 @@ namespace AssetStudio
public class SamplerParameter public class SamplerParameter
{ {
public uint sampler { get; set; } public uint sampler;
public int bindPoint { get; set; } public int bindPoint;
public SamplerParameter(BinaryReader reader) public SamplerParameter(BinaryReader reader)
{ {
@ -43,28 +43,49 @@ namespace AssetStudio
bindPoint = reader.ReadInt32(); bindPoint = reader.ReadInt32();
} }
} }
public enum TextureDimension
{
kTexDimUnknown = -1,
kTexDimNone = 0,
kTexDimAny = 1,
kTexDim2D = 2,
kTexDim3D = 3,
kTexDimCUBE = 4,
kTexDim2DArray = 5,
kTexDimCubeArray = 6,
kTexDimForce32Bit = 2147483647
};
public class SerializedTextureProperty public class SerializedTextureProperty
{ {
public string m_DefaultName { get; set; } public string m_DefaultName;
public int m_TexDim { get; set; } public TextureDimension m_TexDim;
public SerializedTextureProperty(BinaryReader reader) public SerializedTextureProperty(BinaryReader reader)
{ {
m_DefaultName = reader.ReadAlignedString(); m_DefaultName = reader.ReadAlignedString();
m_TexDim = reader.ReadInt32(); m_TexDim = (TextureDimension)reader.ReadInt32();
} }
} }
public enum SerializedPropertyType
{
kColor = 0,
kVector = 1,
kFloat = 2,
kRange = 3,
kTexture = 4
};
public class SerializedProperty public class SerializedProperty
{ {
public string m_Name { get; set; } public string m_Name;
public string m_Description { get; set; } public string m_Description;
public List<string> m_Attributes { get; set; } public List<string> m_Attributes;
public int m_Type { get; set; } public SerializedPropertyType m_Type;
public uint m_Flags { get; set; } public uint m_Flags;
public List<float> m_DefValue { get; set; } public List<float> m_DefValue;
public SerializedTextureProperty m_DefTexture { get; set; } public SerializedTextureProperty m_DefTexture;
public SerializedProperty(BinaryReader reader) public SerializedProperty(BinaryReader reader)
{ {
@ -78,7 +99,7 @@ namespace AssetStudio
m_Attributes.Add(reader.ReadAlignedString()); m_Attributes.Add(reader.ReadAlignedString());
} }
m_Type = reader.ReadInt32(); m_Type = (SerializedPropertyType)reader.ReadInt32();
m_Flags = reader.ReadUInt32(); m_Flags = reader.ReadUInt32();
int numValues = 4; int numValues = 4;
@ -94,7 +115,7 @@ namespace AssetStudio
public class SerializedProperties public class SerializedProperties
{ {
public List<SerializedProperty> m_Props { get; set; } public List<SerializedProperty> m_Props;
public SerializedProperties(BinaryReader reader) public SerializedProperties(BinaryReader reader)
{ {
@ -109,8 +130,8 @@ namespace AssetStudio
public class SerializedShaderFloatValue public class SerializedShaderFloatValue
{ {
public float val { get; set; } public float val;
public string name { get; set; } public string name;
public SerializedShaderFloatValue(BinaryReader reader) public SerializedShaderFloatValue(BinaryReader reader)
{ {
@ -121,13 +142,13 @@ namespace AssetStudio
public class SerializedShaderRTBlendState public class SerializedShaderRTBlendState
{ {
public SerializedShaderFloatValue srcBlend { get; set; } public SerializedShaderFloatValue srcBlend;
public SerializedShaderFloatValue destBlend { get; set; } public SerializedShaderFloatValue destBlend;
public SerializedShaderFloatValue srcBlendAlpha { get; set; } public SerializedShaderFloatValue srcBlendAlpha;
public SerializedShaderFloatValue destBlendAlpha { get; set; } public SerializedShaderFloatValue destBlendAlpha;
public SerializedShaderFloatValue blendOp { get; set; } public SerializedShaderFloatValue blendOp;
public SerializedShaderFloatValue blendOpAlpha { get; set; } public SerializedShaderFloatValue blendOpAlpha;
public SerializedShaderFloatValue colMask { get; set; } public SerializedShaderFloatValue colMask;
public SerializedShaderRTBlendState(BinaryReader reader) public SerializedShaderRTBlendState(BinaryReader reader)
{ {
@ -143,10 +164,10 @@ namespace AssetStudio
public class SerializedStencilOp public class SerializedStencilOp
{ {
public SerializedShaderFloatValue pass { get; set; } public SerializedShaderFloatValue pass;
public SerializedShaderFloatValue fail { get; set; } public SerializedShaderFloatValue fail;
public SerializedShaderFloatValue zFail { get; set; } public SerializedShaderFloatValue zFail;
public SerializedShaderFloatValue comp { get; set; } public SerializedShaderFloatValue comp;
public SerializedStencilOp(BinaryReader reader) public SerializedStencilOp(BinaryReader reader)
{ {
@ -159,11 +180,11 @@ namespace AssetStudio
public class SerializedShaderVectorValue public class SerializedShaderVectorValue
{ {
public SerializedShaderFloatValue x { get; set; } public SerializedShaderFloatValue x;
public SerializedShaderFloatValue y { get; set; } public SerializedShaderFloatValue y;
public SerializedShaderFloatValue z { get; set; } public SerializedShaderFloatValue z;
public SerializedShaderFloatValue w { get; set; } public SerializedShaderFloatValue w;
public string name { get; set; } public string name;
public SerializedShaderVectorValue(BinaryReader reader) public SerializedShaderVectorValue(BinaryReader reader)
{ {
@ -175,40 +196,50 @@ namespace AssetStudio
} }
} }
public enum FogMode
{
kFogUnknown = -1,
kFogDisabled = 0,
kFogLinear = 1,
kFogExp = 2,
kFogExp2 = 3,
kFogModeCount = 4
};
public class SerializedShaderState public class SerializedShaderState
{ {
public string m_Name { get; set; } public string m_Name;
public SerializedShaderRTBlendState rtBlend0 { get; set; } public SerializedShaderRTBlendState rtBlend0;
public SerializedShaderRTBlendState rtBlend1 { get; set; } public SerializedShaderRTBlendState rtBlend1;
public SerializedShaderRTBlendState rtBlend2 { get; set; } public SerializedShaderRTBlendState rtBlend2;
public SerializedShaderRTBlendState rtBlend3 { get; set; } public SerializedShaderRTBlendState rtBlend3;
public SerializedShaderRTBlendState rtBlend4 { get; set; } public SerializedShaderRTBlendState rtBlend4;
public SerializedShaderRTBlendState rtBlend5 { get; set; } public SerializedShaderRTBlendState rtBlend5;
public SerializedShaderRTBlendState rtBlend6 { get; set; } public SerializedShaderRTBlendState rtBlend6;
public SerializedShaderRTBlendState rtBlend7 { get; set; } public SerializedShaderRTBlendState rtBlend7;
public bool rtSeparateBlend { get; set; } public bool rtSeparateBlend;
public SerializedShaderFloatValue zClip { get; set; } public SerializedShaderFloatValue zClip;
public SerializedShaderFloatValue zTest { get; set; } public SerializedShaderFloatValue zTest;
public SerializedShaderFloatValue zWrite { get; set; } public SerializedShaderFloatValue zWrite;
public SerializedShaderFloatValue culling { get; set; } public SerializedShaderFloatValue culling;
public SerializedShaderFloatValue offsetFactor { get; set; } public SerializedShaderFloatValue offsetFactor;
public SerializedShaderFloatValue offsetUnits { get; set; } public SerializedShaderFloatValue offsetUnits;
public SerializedShaderFloatValue alphaToMask { get; set; } public SerializedShaderFloatValue alphaToMask;
public SerializedStencilOp stencilOp { get; set; } public SerializedStencilOp stencilOp;
public SerializedStencilOp stencilOpFront { get; set; } public SerializedStencilOp stencilOpFront;
public SerializedStencilOp stencilOpBack { get; set; } public SerializedStencilOp stencilOpBack;
public SerializedShaderFloatValue stencilReadMask { get; set; } public SerializedShaderFloatValue stencilReadMask;
public SerializedShaderFloatValue stencilWriteMask { get; set; } public SerializedShaderFloatValue stencilWriteMask;
public SerializedShaderFloatValue stencilRef { get; set; } public SerializedShaderFloatValue stencilRef;
public SerializedShaderFloatValue fogStart { get; set; } public SerializedShaderFloatValue fogStart;
public SerializedShaderFloatValue fogEnd { get; set; } public SerializedShaderFloatValue fogEnd;
public SerializedShaderFloatValue fogDensity { get; set; } public SerializedShaderFloatValue fogDensity;
public SerializedShaderVectorValue fogColor { get; set; } public SerializedShaderVectorValue fogColor;
public int fogMode { get; set; } public FogMode fogMode;
public int gpuProgramID { get; set; } public int gpuProgramID;
public SerializedTagMap m_Tags { get; set; } public SerializedTagMap m_Tags;
public int m_LOD { get; set; } public int m_LOD;
public bool lighting { get; set; } public bool lighting;
public SerializedShaderState(ObjectReader reader) public SerializedShaderState(ObjectReader reader)
{ {
@ -245,7 +276,7 @@ namespace AssetStudio
fogEnd = new SerializedShaderFloatValue(reader); fogEnd = new SerializedShaderFloatValue(reader);
fogDensity = new SerializedShaderFloatValue(reader); fogDensity = new SerializedShaderFloatValue(reader);
fogColor = new SerializedShaderVectorValue(reader); fogColor = new SerializedShaderVectorValue(reader);
fogMode = reader.ReadInt32(); fogMode = (FogMode)reader.ReadInt32();
gpuProgramID = reader.ReadInt32(); gpuProgramID = reader.ReadInt32();
m_Tags = new SerializedTagMap(reader); m_Tags = new SerializedTagMap(reader);
m_LOD = reader.ReadInt32(); m_LOD = reader.ReadInt32();
@ -256,8 +287,8 @@ namespace AssetStudio
public class ShaderBindChannel public class ShaderBindChannel
{ {
public sbyte source { get; set; } public sbyte source;
public sbyte target { get; set; } public sbyte target;
public ShaderBindChannel(BinaryReader reader) public ShaderBindChannel(BinaryReader reader)
{ {
@ -268,8 +299,8 @@ namespace AssetStudio
public class ParserBindChannels public class ParserBindChannels
{ {
public List<ShaderBindChannel> m_Channels { get; set; } public List<ShaderBindChannel> m_Channels;
public uint m_SourceMap { get; set; } public uint m_SourceMap;
public ParserBindChannels(BinaryReader reader) public ParserBindChannels(BinaryReader reader)
{ {
@ -287,11 +318,11 @@ namespace AssetStudio
public class VectorParameter public class VectorParameter
{ {
public int m_NameIndex { get; set; } public int m_NameIndex;
public int m_Index { get; set; } public int m_Index;
public int m_ArraySize { get; set; } public int m_ArraySize;
public sbyte m_Type { get; set; } public sbyte m_Type;
public sbyte m_Dim { get; set; } public sbyte m_Dim;
public VectorParameter(BinaryReader reader) public VectorParameter(BinaryReader reader)
{ {
@ -306,11 +337,11 @@ namespace AssetStudio
public class MatrixParameter public class MatrixParameter
{ {
public int m_NameIndex { get; set; } public int m_NameIndex;
public int m_Index { get; set; } public int m_Index;
public int m_ArraySize { get; set; } public int m_ArraySize;
public sbyte m_Type { get; set; } public sbyte m_Type;
public sbyte m_RowCount { get; set; } public sbyte m_RowCount;
public MatrixParameter(BinaryReader reader) public MatrixParameter(BinaryReader reader)
{ {
@ -325,10 +356,10 @@ namespace AssetStudio
public class TextureParameter public class TextureParameter
{ {
public int m_NameIndex { get; set; } public int m_NameIndex;
public int m_Index { get; set; } public int m_Index;
public int m_SamplerIndex { get; set; } public int m_SamplerIndex;
public sbyte m_Dim { get; set; } public sbyte m_Dim;
public TextureParameter(ObjectReader reader) public TextureParameter(ObjectReader reader)
{ {
@ -348,8 +379,8 @@ namespace AssetStudio
public class BufferBinding public class BufferBinding
{ {
public int m_NameIndex { get; set; } public int m_NameIndex;
public int m_Index { get; set; } public int m_Index;
public BufferBinding(BinaryReader reader) public BufferBinding(BinaryReader reader)
{ {
@ -360,11 +391,11 @@ namespace AssetStudio
public class ConstantBuffer public class ConstantBuffer
{ {
public int m_NameIndex { get; set; } public int m_NameIndex;
public List<MatrixParameter> m_MatrixParams { get; set; } public List<MatrixParameter> m_MatrixParams;
public List<VectorParameter> m_VectorParams { get; set; } public List<VectorParameter> m_VectorParams;
public List<StructParameter> m_StructParams { get; set; } public List<StructParameter> m_StructParams;
public int m_Size { get; set; } public int m_Size;
public ConstantBuffer(ObjectReader reader) public ConstantBuffer(ObjectReader reader)
{ {
@ -400,9 +431,9 @@ namespace AssetStudio
public class UAVParameter public class UAVParameter
{ {
public int m_NameIndex { get; set; } public int m_NameIndex;
public int m_Index { get; set; } public int m_Index;
public int m_OriginalIndex { get; set; } public int m_OriginalIndex;
public UAVParameter(BinaryReader reader) public UAVParameter(BinaryReader reader)
{ {
@ -412,21 +443,52 @@ namespace AssetStudio
} }
} }
public enum ShaderGpuProgramType
{
kShaderGpuProgramUnknown = 0,
kShaderGpuProgramGLLegacy = 1,
kShaderGpuProgramGLES31AEP = 2,
kShaderGpuProgramGLES31 = 3,
kShaderGpuProgramGLES3 = 4,
kShaderGpuProgramGLES = 5,
kShaderGpuProgramGLCore32 = 6,
kShaderGpuProgramGLCore41 = 7,
kShaderGpuProgramGLCore43 = 8,
kShaderGpuProgramDX9VertexSM20 = 9,
kShaderGpuProgramDX9VertexSM30 = 10,
kShaderGpuProgramDX9PixelSM20 = 11,
kShaderGpuProgramDX9PixelSM30 = 12,
kShaderGpuProgramDX10Level9Vertex = 13,
kShaderGpuProgramDX10Level9Pixel = 14,
kShaderGpuProgramDX11VertexSM40 = 15,
kShaderGpuProgramDX11VertexSM50 = 16,
kShaderGpuProgramDX11PixelSM40 = 17,
kShaderGpuProgramDX11PixelSM50 = 18,
kShaderGpuProgramDX11GeometrySM40 = 19,
kShaderGpuProgramDX11GeometrySM50 = 20,
kShaderGpuProgramDX11HullSM50 = 21,
kShaderGpuProgramDX11DomainSM50 = 22,
kShaderGpuProgramMetalVS = 23,
kShaderGpuProgramMetalFS = 24,
kShaderGpuProgramSPIRV = 25,
kShaderGpuProgramConsole = 26,
};
public class SerializedSubProgram public class SerializedSubProgram
{ {
public uint m_BlobIndex { get; set; } public uint m_BlobIndex;
public ParserBindChannels m_Channels { get; set; } public ParserBindChannels m_Channels;
public List<ushort> m_KeywordIndices { get; set; } public List<ushort> m_KeywordIndices;
public sbyte m_ShaderHardwareTier { get; set; } public sbyte m_ShaderHardwareTier;
public sbyte m_GpuProgramType { get; set; } public ShaderGpuProgramType m_GpuProgramType;
public List<VectorParameter> m_VectorParams { get; set; } public List<VectorParameter> m_VectorParams;
public List<MatrixParameter> m_MatrixParams { get; set; } public List<MatrixParameter> m_MatrixParams;
public List<TextureParameter> m_TextureParams { get; set; } public List<TextureParameter> m_TextureParams;
public List<BufferBinding> m_BufferParams { get; set; } public List<BufferBinding> m_BufferParams;
public List<ConstantBuffer> m_ConstantBuffers { get; set; } public List<ConstantBuffer> m_ConstantBuffers;
public List<BufferBinding> m_ConstantBufferBindings { get; set; } public List<BufferBinding> m_ConstantBufferBindings;
public List<UAVParameter> m_UAVParams { get; set; } public List<UAVParameter> m_UAVParams;
public List<SamplerParameter> m_Samplers { get; set; } public List<SamplerParameter> m_Samplers;
public SerializedSubProgram(ObjectReader reader) public SerializedSubProgram(ObjectReader reader)
{ {
@ -446,7 +508,7 @@ namespace AssetStudio
reader.AlignStream(4); reader.AlignStream(4);
} }
m_ShaderHardwareTier = reader.ReadSByte(); m_ShaderHardwareTier = reader.ReadSByte();
m_GpuProgramType = reader.ReadSByte(); m_GpuProgramType = (ShaderGpuProgramType)reader.ReadSByte();
reader.AlignStream(4); reader.AlignStream(4);
int numVectorParams = reader.ReadInt32(); int numVectorParams = reader.ReadInt32();
@ -516,7 +578,7 @@ namespace AssetStudio
public class SerializedProgram public class SerializedProgram
{ {
public List<SerializedSubProgram> m_SubPrograms { get; set; } public List<SerializedSubProgram> m_SubPrograms;
public SerializedProgram(ObjectReader reader) public SerializedProgram(ObjectReader reader)
{ {
@ -529,22 +591,29 @@ namespace AssetStudio
} }
} }
public enum PassType
{
kPassTypeNormal = 0,
kPassTypeUse = 1,
kPassTypeGrab = 2
};
public class SerializedPass public class SerializedPass
{ {
public List<KeyValuePair<string, int>> m_NameIndices { get; set; } public List<KeyValuePair<string, int>> m_NameIndices;
public int m_Type { get; set; } public PassType m_Type;
public SerializedShaderState m_State { get; set; } public SerializedShaderState m_State;
public uint m_ProgramMask { get; set; } public uint m_ProgramMask;
public SerializedProgram progVertex { get; set; } public SerializedProgram progVertex;
public SerializedProgram progFragment { get; set; } public SerializedProgram progFragment;
public SerializedProgram progGeometry { get; set; } public SerializedProgram progGeometry;
public SerializedProgram progHull { get; set; } public SerializedProgram progHull;
public SerializedProgram progDomain { get; set; } public SerializedProgram progDomain;
public bool m_HasInstancingVariant { get; set; } public bool m_HasInstancingVariant;
public string m_UseName { get; set; } public string m_UseName;
public string m_Name { get; set; } public string m_Name;
public string m_TextureName { get; set; } public string m_TextureName;
public SerializedTagMap m_Tags { get; set; } public SerializedTagMap m_Tags;
public SerializedPass(ObjectReader reader) public SerializedPass(ObjectReader reader)
{ {
@ -557,7 +626,7 @@ namespace AssetStudio
m_NameIndices.Add(new KeyValuePair<string, int>(reader.ReadAlignedString(), reader.ReadInt32())); m_NameIndices.Add(new KeyValuePair<string, int>(reader.ReadAlignedString(), reader.ReadInt32()));
} }
m_Type = reader.ReadInt32(); m_Type = (PassType)reader.ReadInt32();
m_State = new SerializedShaderState(reader); m_State = new SerializedShaderState(reader);
m_ProgramMask = reader.ReadUInt32(); m_ProgramMask = reader.ReadUInt32();
progVertex = new SerializedProgram(reader); progVertex = new SerializedProgram(reader);
@ -580,7 +649,7 @@ namespace AssetStudio
public class SerializedTagMap public class SerializedTagMap
{ {
public List<KeyValuePair<string, string>> tags { get; set; } public List<KeyValuePair<string, string>> tags;
public SerializedTagMap(BinaryReader reader) public SerializedTagMap(BinaryReader reader)
{ {
@ -595,9 +664,9 @@ namespace AssetStudio
public class SerializedSubShader public class SerializedSubShader
{ {
public List<SerializedPass> m_Passes { get; set; } public List<SerializedPass> m_Passes;
public SerializedTagMap m_Tags { get; set; } public SerializedTagMap m_Tags;
public int m_LOD { get; set; } public int m_LOD;
public SerializedSubShader(ObjectReader reader) public SerializedSubShader(ObjectReader reader)
{ {
@ -615,8 +684,8 @@ namespace AssetStudio
public class SerializedShaderDependency public class SerializedShaderDependency
{ {
public string from { get; set; } public string from;
public string to { get; set; } public string to;
public SerializedShaderDependency(BinaryReader reader) public SerializedShaderDependency(BinaryReader reader)
{ {
@ -627,13 +696,13 @@ namespace AssetStudio
public class SerializedShader public class SerializedShader
{ {
public SerializedProperties m_PropInfo { get; set; } public SerializedProperties m_PropInfo;
public List<SerializedSubShader> m_SubShaders { get; set; } public List<SerializedSubShader> m_SubShaders;
public string m_Name { get; set; } public string m_Name;
public string m_CustomEditorName { get; set; } public string m_CustomEditorName;
public string m_FallbackName { get; set; } public string m_FallbackName;
public List<SerializedShaderDependency> m_Dependencies { get; set; } public List<SerializedShaderDependency> m_Dependencies;
public bool m_DisableNoSubshadersMessage { get; set; } public bool m_DisableNoSubshadersMessage;
public SerializedShader(ObjectReader reader) public SerializedShader(ObjectReader reader)
{ {

View File

@ -195,35 +195,4 @@ namespace AssetStudio
return sb.ToString(); return sb.ToString();
} }
} }
public enum ShaderGpuProgramType
{
kShaderGpuProgramUnknown = 0,
kShaderGpuProgramGLLegacy = 1,
kShaderGpuProgramGLES31AEP = 2,
kShaderGpuProgramGLES31 = 3,
kShaderGpuProgramGLES3 = 4,
kShaderGpuProgramGLES = 5,
kShaderGpuProgramGLCore32 = 6,
kShaderGpuProgramGLCore41 = 7,
kShaderGpuProgramGLCore43 = 8,
kShaderGpuProgramDX9VertexSM20 = 9,
kShaderGpuProgramDX9VertexSM30 = 10,
kShaderGpuProgramDX9PixelSM20 = 11,
kShaderGpuProgramDX9PixelSM30 = 12,
kShaderGpuProgramDX10Level9Vertex = 13,
kShaderGpuProgramDX10Level9Pixel = 14,
kShaderGpuProgramDX11VertexSM40 = 15,
kShaderGpuProgramDX11VertexSM50 = 16,
kShaderGpuProgramDX11PixelSM40 = 17,
kShaderGpuProgramDX11PixelSM50 = 18,
kShaderGpuProgramDX11GeometrySM40 = 19,
kShaderGpuProgramDX11GeometrySM50 = 20,
kShaderGpuProgramDX11HullSM50 = 21,
kShaderGpuProgramDX11DomainSM50 = 22,
kShaderGpuProgramMetalVS = 23,
kShaderGpuProgramMetalFS = 24,
kShaderGpuProgramSPIRV = 25,
kShaderGpuProgramConsole = 26,
};
} }