Example #1
0
 public ParticleEffect(int apiVersion, EventHandler handler, ISection section)
     : base(apiVersion, handler, section)
 {
     mParticleParameters   = new ParticleParams(apiVersion, handler, true);
     mRateCurve            = new DataList <FloatValue>(handler);
     mSizeCurve            = new DataList <FloatValue>(handler);
     mAspectCurve          = new DataList <FloatValue>(handler);
     mRotationCurve        = new DataList <FloatValue>(handler);
     mAlphaCurve           = new DataList <FloatValue>(handler);
     mColorCurve           = new DataList <ColorValue>(handler);
     mColorVary            = new ColorValue(apiVersion, handler);
     mDrawInfo             = new ResourceReference(apiVersion, handler, section);
     mDirectionalForcesSum = new Vector3ValueLE(apiVersion, handler);
     mRadialForceLocation  = new Vector3ValueLE(apiVersion, handler);
     mWiggles           = new DataList <Wiggle>(handler);
     mLoopBoxColorCurve = new DataList <ColorValue>(handler);
     mLoopBoxAlphaCurve = new DataList <FloatValue>(handler);
     mSurfaces          = new DataList <Surface>(handler);
     mAltitudeRange     = new Vector2ValueLE(apiVersion, handler, -10000.0f, 10000.0f);
     mRandomWalk        = new RandomWalk(apiVersion, handler);
     mAttractorOrigin   = new Vector3ValueLE(apiVersion, handler);
     mAttractor         = new Attractor(apiVersion, handler);
     mPathPoints        = new DataList <PathPoint>(handler);
     mVector01          = new Vector3ValueLE(apiVersion, handler);
     mVector3List01     = new DataList <Vector3ValueLE>(handler);
     mVector02          = new Vector3ValueLE(apiVersion, handler);
     mUnknown140        = new Vector2ValueLE(apiVersion, handler);
     mUnknown150        = new Vector2ValueLE(apiVersion, handler);
     mUnknown180        = new Vector3ValueLE(apiVersion, handler);
     mUnknown190        = new Vector2ValueLE(apiVersion, handler);
     mUnknown1A0        = new Vector2ValueLE(apiVersion, handler);
 }
Example #2
0
 public PathPoint(int apiVersion, EventHandler handler, PathPoint basis)
     : base(apiVersion, handler)
 {
     mPosition = new Vector3ValueLE(apiVersion, handler, basis.mPosition);
     mVelocity = new Vector3ValueLE(apiVersion, handler, basis.mVelocity);
     mTime     = basis.mTime;
 }
Example #3
0
 public Wiggle(int apiVersion, EventHandler handler, Wiggle basis)
     : base(apiVersion, handler)
 {
     mTimeRate  = basis.mTimeRate;
     mRateDir   = new Vector3ValueLE(apiVersion, handler, basis.mRateDir);
     mWiggleDir = new Vector3ValueLE(apiVersion, handler, basis.mWiggleDir);
 }
Example #4
0
 public MetaparticleEffect(int apiVersion, EventHandler handler, ISection section)
     : base(apiVersion, handler, section)
 {
     mParticleParameters   = new ParticleParams(apiVersion, handler, true);
     mRateCurve            = new DataList <FloatValue>(handler);
     mSizeCurve            = new DataList <FloatValue>(handler);
     mPitchCurve           = new DataList <FloatValue>(handler);
     mRollCurve            = new DataList <FloatValue>(handler);
     mHeadingCurve         = new DataList <FloatValue>(handler);
     mRollOffset           = -1000000000.0f;
     mHeadingOffset        = 0f;
     mColorCurve           = new DataList <ColorValue>(handler);
     mColorVary            = new ColorValue(apiVersion, handler);
     mAlphaCurve           = new DataList <FloatValue>(handler);
     mDirectionalForcesSum = new Vector3ValueLE(apiVersion, handler);
     mGlobalForcesSum      = new Vector3ValueLE(apiVersion, handler);
     mRadialForceLocation  = new Vector3ValueLE(apiVersion, handler);
     mWiggles                      = new DataList <Wiggle>(handler);
     mLoopBoxColorCurve            = new DataList <ColorValue>(handler);
     mLoopBoxAlphaCurve            = new DataList <FloatValue>(handler);
     mSurfaces                     = new DataList <Surface>(handler);
     mAltitudeRange                = new Vector2ValueLE(apiVersion, handler, -10000.0f, 10000.0f);
     mRandomWalk1                  = new RandomWalk(apiVersion, handler);
     mRandomWalk2                  = new RandomWalk(apiVersion, handler);
     mRandomWalkPreferredDirection = new Vector3ValueLE(apiVersion, handler);
     mAttractorOrigin              = new Vector3ValueLE(apiVersion, handler);
     mAttractor                    = new Attractor(apiVersion, handler);
     mPathPoints                   = new DataList <PathPoint>(handler);
 }
Example #5
0
            protected override void Parse(Stream stream)
            {
                var s = new BinaryStreamWrapper(stream, ByteOrder.BigEndian);

                mPosition = new Vector3ValueLE(requestedApiVersion, handler, stream);
                mVelocity = new Vector3ValueLE(requestedApiVersion, handler, stream);
                s.Read(out mTime);
            }
Example #6
0
            protected override void Parse(Stream stream)
            {
                var s = new BinaryStreamWrapper(stream, ByteOrder.BigEndian);

                s.Read(out mTimeRate);
                mRateDir   = new Vector3ValueLE(requestedApiVersion, handler, stream);
                mWiggleDir = new Vector3ValueLE(requestedApiVersion, handler, stream);
            }
Example #7
0
 public VisualEffect(int apiVersion, EventHandler handler, ISection section)
     : base(apiVersion, handler, section)
 {
     mScreenSizeRange    = new Vector2ValueLE(apiVersion, handler);
     mLODDistances       = new DataList <FloatValue>(handler);
     mExtendedLODWeights = new Vector3ValueLE(apiVersion, handler);
     mDescriptions       = new SectionDataList <Description>(handler, mSection);
 }
Example #8
0
 public SpriteEffect(int apiVersion, EventHandler handler, ISection section)
     : base(apiVersion, handler, section)
 {
     mResource    = new ResourceReference(0, handler, section);
     mFloatList01 = new DataList <FloatValue>(handler);
     mColorList01 = new DataList <ColorValue>(handler);
     mFloatList02 = new DataList <FloatValue>(handler);
     mVector01    = new Vector3ValueLE(apiVersion, handler);
     mVector02    = new Vector3ValueLE(apiVersion, handler);
 }
Example #9
0
 public FastParticleEffect(int apiVersion, EventHandler handler, ISection section)
     : base(apiVersion, handler, section)
 {
     mParticleParameters   = new ParticleParams(apiVersion, handler, false);
     mRateCurve            = new DataList <FloatValue>(handler);
     mSizeCurve            = new DataList <FloatValue>(handler);
     mColorCurve           = new DataList <ColorValue>(handler);
     mAlphaCurve           = new DataList <FloatValue>(handler);
     mDrawInfo             = new ResourceReference(apiVersion, handler, section);
     mDirectionalForcesSum = new Vector3ValueLE(apiVersion, handler);
     mRadialForceLocation  = new Vector3ValueLE(apiVersion, handler);
 }
Example #10
0
        protected override void Parse(Stream stream)
        {
            var s = new BinaryStreamWrapper(stream, ByteOrder.BigEndian);

            s.Read(out mFlags);
            s.Read(out mComponentAppFlagsMask);
            s.Read(out mNotifyMessageId);
            mScreenSizeRange = new Vector2ValueLE(requestedApiVersion, handler, stream);
            s.Read(out mCursorActiveDistance);
            s.Read(out mCursorButton);
            mLODDistances       = new DataList <FloatValue>(handler, stream);
            mExtendedLODWeights = new Vector3ValueLE(requestedApiVersion, handler, stream);
            s.Read(out mSeed);
            mDescriptions = new SectionDataList <Description>(handler, mSection, stream);
        }
Example #11
0
 public RibbonEffect(int apiVersion, EventHandler handler, ISection section)
     : base(apiVersion, handler, section)
 {
     mRibbonLifetime       = new Vector2ValueLE(apiVersion, handler);
     mOffsetCurve          = new DataList <FloatValue>(handler);
     mWidthCurve           = new DataList <FloatValue>(handler);
     mColorCurve           = new DataList <ColorValue>(handler);
     mAlphaCurve           = new DataList <FloatValue>(handler);
     mLengthColorCurve     = new DataList <ColorValue>(handler);
     mLengthAlphaCurve     = new DataList <FloatValue>(handler);
     mEdgeColorCurve       = new DataList <ColorValue>(handler);
     mEdgeAlphaCurve       = new DataList <FloatValue>(handler);
     mStartEdgeAlphaCurve  = new DataList <FloatValue>(handler);
     mEndEdgeAlphaCurve    = new DataList <FloatValue>(handler);
     mDrawInfo             = new ResourceReference(apiVersion, handler, section);
     mDirectionalForcesSum = new Vector3ValueLE(apiVersion, handler);
 }
Example #12
0
        protected override void Parse(Stream stream)
        {
            var s = new BinaryStreamWrapper(stream, ByteOrder.BigEndian);

            s.Read(out mFlags);
            //mFlags &= 0x3FFF;

            mRibbonLifetime = new Vector2ValueLE(requestedApiVersion, handler, stream);
            mOffsetCurve    = new DataList <FloatValue>(handler, stream);
            mWidthCurve     = new DataList <FloatValue>(handler, stream);
            s.Read(out mTaper);
            s.Read(out mFade);
            s.Read(out mAlphaDecay);
            mColorCurve          = new DataList <ColorValue>(handler, stream);
            mAlphaCurve          = new DataList <FloatValue>(handler, stream);
            mLengthColorCurve    = new DataList <ColorValue>(handler, stream);
            mLengthAlphaCurve    = new DataList <FloatValue>(handler, stream);
            mEdgeColorCurve      = new DataList <ColorValue>(handler, stream);
            mEdgeAlphaCurve      = new DataList <FloatValue>(handler, stream);
            mStartEdgeAlphaCurve = new DataList <FloatValue>(handler, stream);
            mEndEdgeAlphaCurve   = new DataList <FloatValue>(handler, stream);
            s.Read(out mSegmentCount);
            s.Read(out mSegmentLength);
            mDrawInfo = new ResourceReference(requestedApiVersion, handler, mSection, stream);
            s.Read(out mTileUV);
            s.Read(out mSlipCurveSpeed);
            s.Read(out mSlipUVSpeed);

            if (mSection.Version >= 0x0002)
            {
                s.Read(out mUVRepeat);
            }
            else
            {
                mUVRepeat = 1.0f;
            }

            mDirectionalForcesSum = new Vector3ValueLE(requestedApiVersion, handler, stream);

            s.Read(out mWindStrength);
            s.Read(out mGravityStrength);
            s.Read(out mEmitColorMapId);
            s.Read(out mForceMapId);
            s.Read(out mMapRepulseStrength);
        }
Example #13
0
        protected override void Parse(Stream stream)
        {
            var s = new BinaryStreamWrapper(stream, ByteOrder.BigEndian);

            s.Read(out mFlags);
            s.Read(out mInt02);
            s.Read(out mInt03);
            s.Read(out mFloat01);
            s.Read(out mShort01);
            mFloatList01 = new DataList <FloatValue>(handler, stream);
            mColorList01 = new DataList <ColorValue>(handler, stream);
            mFloatList02 = new DataList <FloatValue>(handler, stream);
            s.Read(out mFloat02);
            s.Read(out mFloat03);
            s.Read(out mFloat04);

            mVector01 = new Vector3ValueLE(requestedApiVersion, handler, stream);

            mVector02 = new Vector3ValueLE(requestedApiVersion, handler, stream);

            s.Read(out mFloat11);
            s.Read(out mFloat12);
            s.Read(out mFloat13);
            s.Read(out mFloat14);
            s.Read(out mFloat15);
            s.Read(out mFloat16);
            s.Read(out mFloat17);
            s.Read(out mFloat18);
            s.Read(out mFloat19);
            s.Read(out mFloat20);
            s.Read(out mFloat21);
            s.Read(out mFloat22);
            s.Read(out mFloat23);
            s.Read(out mFloat24);
            s.Read(out mFloat25);
            s.Read(out mFloat26);
            mResource = new ResourceReference(0, handler, mSection, stream);
            s.Read(out mByte01);
        }
Example #14
0
        protected override void Parse(Stream stream)
        {
            var s = new BinaryStreamWrapper(stream, ByteOrder.BigEndian);

            s.Read(out mFlags);
            //mFlags &= 0x1FFF;

            mParticleParameters = new ParticleParams(requestedApiVersion, handler, false, stream);
            mRateCurve          = new DataList <FloatValue>(handler, stream);
            s.Read(out mRateCurveTime);
            s.Read(out mRateCurveCycles);
            s.Read(out mRateSpeedScale);
            mSizeCurve  = new DataList <FloatValue>(handler, stream);
            mColorCurve = new DataList <ColorValue>(handler, stream);
            mAlphaCurve = new DataList <FloatValue>(handler, stream);
            mDrawInfo   = new ResourceReference(requestedApiVersion, handler, mSection, stream);
            s.Read(out mAlignMode);
            mDirectionalForcesSum = new Vector3ValueLE(requestedApiVersion, handler, stream);
            s.Read(out mWindStrength);
            s.Read(out mGravityStrength);
            s.Read(out mRadialForce);
            mRadialForceLocation = new Vector3ValueLE(requestedApiVersion, handler, stream);
            s.Read(out mDrag);
        }
Example #15
0
 public Wiggle(int apiVersion, EventHandler handler)
     : base(apiVersion, handler)
 {
     mRateDir   = new Vector3ValueLE(apiVersion, handler);
     mWiggleDir = new Vector3ValueLE(apiVersion, handler);
 }
Example #16
0
        protected override void Parse(Stream stream)
        {
            var s = new BinaryStreamWrapper(stream, ByteOrder.BigEndian);

            s.Read(out mFlags);
            // no flag mask

            mParticleParameters = new ParticleParams(requestedApiVersion, handler, true, stream);
            mRateCurve          = new DataList <FloatValue>(handler, stream);
            s.Read(out mRateCurveTime);
            s.Read(out mRateCurveCycles);
            mSizeCurve = new DataList <FloatValue>(handler, stream);
            s.Read(out mSizeVary);
            mPitchCurve   = new DataList <FloatValue>(handler, stream);
            mRollCurve    = new DataList <FloatValue>(handler, stream);
            mHeadingCurve = new DataList <FloatValue>(handler, stream);
            s.Read(out mPitchVary);
            s.Read(out mRollVary);
            s.Read(out mHeadingVary);
            s.Read(out mPitchOffset);
            s.Read(out mRollOffset);
            s.Read(out mHeadingOffset);
            mColorCurve = new DataList <ColorValue>(handler, stream);
            mColorVary  = new ColorValue(requestedApiVersion, handler, stream);
            mAlphaCurve = new DataList <FloatValue>(handler, stream);
            s.Read(out mAlphaVary);
            s.Read(out mComponentName, StringType.ZeroDelimited);
            s.Read(out mComponentType, StringType.ZeroDelimited);
            s.Read(out mAlignMode);
            mDirectionalForcesSum = new Vector3ValueLE(requestedApiVersion, handler, stream);
            mGlobalForcesSum      = new Vector3ValueLE(requestedApiVersion, handler, stream);

            s.Read(out mWindStrength);
            s.Read(out mGravityStrength);
            s.Read(out mRadialForce);

            mRadialForceLocation = new Vector3ValueLE(requestedApiVersion, handler, stream);

            s.Read(out mDrag);
            s.Read(out mScrewRate);
            mWiggles = new DataList <Wiggle>(handler, stream);
            s.Read(out mScreenBloomAlphaRate);
            s.Read(out mScreenBloomAlphaBase);
            s.Read(out mScreenBloomSizeRate);
            s.Read(out mScreenBloomSizeBase);
            mLoopBoxColorCurve = new DataList <ColorValue>(handler, stream);
            mLoopBoxAlphaCurve = new DataList <FloatValue>(handler, stream);
            mSurfaces          = new DataList <Surface>(handler, stream);
            s.Read(out mMapBounce);
            s.Read(out mMapRepulseHeight);
            s.Read(out mMapRepulseStrength);
            s.Read(out mMapRepulseScoutDistance);
            s.Read(out mMapRepulseVertical);
            s.Read(out mMapRepulseKillHeight);
            s.Read(out mProbabilityDeath);

            mAltitudeRange = new Vector2ValueLE(requestedApiVersion, handler, stream);

            s.Read(out mForceMapId);
            s.Read(out mEmitRateMapId);
            s.Read(out mEmitColorMapId);

            mRandomWalk1 = new RandomWalk(0, handler, stream);
            mRandomWalk2 = new RandomWalk(0, handler, stream);

            mRandomWalkPreferredDirection = new Vector3ValueLE(requestedApiVersion, handler, stream);

            s.Read(out mAlignDamping);
            s.Read(out mBankAmount);
            s.Read(out mBankRestore);

            mAttractorOrigin = new Vector3ValueLE(requestedApiVersion, handler, stream);
            mAttractor       = new Attractor(requestedApiVersion, handler, stream);

            mPathPoints = new DataList <PathPoint>(handler, stream);
            s.Read(out mTractorResetSpeed);
        }
Example #17
0
 public PathPoint(int apiVersion, EventHandler handler)
     : base(apiVersion, handler)
 {
     mPosition = new Vector3ValueLE(apiVersion, handler);
     mVelocity = new Vector3ValueLE(apiVersion, handler);
 }
Example #18
0
        protected override void Parse(Stream stream)
        {
            var s = new BinaryStreamWrapper(stream, ByteOrder.BigEndian);

            s.Read(out mFlags);
            // no flag mask

            ParticleParameters = new ParticleParams(requestedApiVersion, handler, true, stream);
            mRateCurve         = new DataList <FloatValue>(handler, stream);
            s.Read(out mRateCurveTime);
            s.Read(out mRateCurveCycles);
            s.Read(out mRateSpeedScale);
            mSizeCurve = new DataList <FloatValue>(handler, stream);
            s.Read(out mSizeVary);
            mAspectCurve = new DataList <FloatValue>(handler, stream);
            s.Read(out mAspectVary);
            s.Read(out mRotationVary);
            s.Read(out mRotationOffset);
            mRotationCurve = new DataList <FloatValue>(handler, stream);
            mAlphaCurve    = new DataList <FloatValue>(handler, stream);
            s.Read(out mAlphaVary);
            mColorCurve = new DataList <ColorValue>(handler, stream);
            mColorVary  = new ColorValue(requestedApiVersion, handler, stream);
            mDrawInfo   = new ResourceReference(0, handler, mSection, stream);

            s.Read(out mPhysicsType);
            s.Read(out mOverrideSet);
            s.Read(out mTileCountU);
            s.Read(out mTileCountV);
            s.Read(out mAlignMode);
            s.Read(out mFrameSpeed);
            s.Read(out mFrameStart);
            s.Read(out mFrameCount);
            s.Read(out mFrameRandom);

            mDirectionalForcesSum = new Vector3ValueLE(requestedApiVersion, handler, stream);

            s.Read(out mWindStrength);
            s.Read(out mGravityStrength);
            s.Read(out mRadialForce);

            mRadialForceLocation = new Vector3ValueLE(requestedApiVersion, handler, stream);

            s.Read(out mDrag);
            s.Read(out mVelocityStretch);
            s.Read(out mScrewRate);

            mWiggles = new DataList <Wiggle>(handler, stream);
            s.Read(out mScreenBloomAlphaRate);
            s.Read(out mScreenBloomAlphaBase);
            s.Read(out mScreenBloomSizeRate);
            s.Read(out mScreenBloomSizeBase);
            mLoopBoxColorCurve = new DataList <ColorValue>(handler, stream);
            mLoopBoxAlphaCurve = new DataList <FloatValue>(handler, stream);
            mSurfaces          = new DataList <Surface>(handler, stream);
            s.Read(out mMapBounce);
            s.Read(out mMapRepulseHeight);
            s.Read(out mMapRepulseStrength);
            s.Read(out mMapRepulseScoutDistance);
            s.Read(out mMapRepulseVertical);

            s.Read(out mMapRepulseKillHeight);                                         //-1000000000.0f
            s.Read(out mProbabilityDeath);                                             //0f
            mAltitudeRange = new Vector2ValueLE(requestedApiVersion, handler, stream); // (-10000.0f, 10000.0f)

            s.Read(out mForceMapId);
            s.Read(out mEmitRateMapId);
            s.Read(out mEmitColorMapId);
            mRandomWalk = new RandomWalk(requestedApiVersion, handler, stream);

            mAttractorOrigin = new Vector3ValueLE(requestedApiVersion, handler, stream);

            mAttractor = new Attractor(requestedApiVersion, handler, stream);

            mPathPoints = new DataList <PathPoint>(handler, stream);

            //Version 2+
            if (mSection.Version >= 0x0002 && stream.Position < stream.Length)
            {
                mVector01      = new Vector3ValueLE(requestedApiVersion, handler, stream);
                mVector3List01 = new DataList <Vector3ValueLE>(handler, stream);
            }

            //Version 3+
            if (mSection.Version >= 0x0003 && stream.Position < stream.Length)
            {
                s.Read(out mByte01);
            }

            //Version 4+
            if (mSection.Version >= 0x0004 && stream.Position < stream.Length)
            {
                s.Read(out mFloat01);
            }

            //Version 5+
            if (mSection.Version >= 0x0005 && stream.Position < stream.Length)
            {
                if (isTheSims4)
                {
                    mVector02 = new Vector3ValueLE(requestedApiVersion, handler, stream);
                    s.Read(out mUnknown170);
                }
                else
                {
                    float value;
                    s.Read(out value);
                    mVector02 = new Vector3ValueLE(requestedApiVersion, handler, value, value, value);
                }
            }

            if (isTheSims4)
            {
                //Version 6+
                if (mSection.Version >= 0x0006 && stream.Position < stream.Length)
                {
                    mUnknown140 = new Vector2ValueLE(requestedApiVersion, handler, stream);
                }
                else
                {
                    float value;
                    s.Read(out value);
                    mUnknown140 = new Vector2ValueLE(requestedApiVersion, handler, value, value);
                }

                //Version 7+
                if (mSection.Version >= 0x0007 && stream.Position < stream.Length)
                {
                    mUnknown150 = new Vector2ValueLE(requestedApiVersion, handler, stream);
                }

                s.Read(out mUnknown160);
                s.Read(out mUnknown164);

                s.Read(out mUnknown1C1);
                if (mUnknown1C1 != 0 && stream.Position < stream.Length)
                {
                    mUnknown180 = new Vector3ValueLE(requestedApiVersion, handler, stream);
                    s.Read(out mUnknown1C0);

                    if (mSection.Version >= 0x0006 && stream.Position < stream.Length)
                    {
                        mUnknown190 = new Vector2ValueLE(requestedApiVersion, handler, stream);
                    }
                    else
                    {
                        float value;
                        s.Read(out value);
                        mUnknown190 = new Vector2ValueLE(requestedApiVersion, handler, value, value);
                    }

                    if (mSection.Version >= 0x0007 && stream.Position < stream.Length)
                    {
                        mUnknown1A0 = new Vector2ValueLE(requestedApiVersion, handler, stream);
                    }

                    s.Read(out mUnknown1B0);
                    s.Read(out mUnknown1B4);
                }

                if (mSection.Version >= 0x0006 && stream.Position < stream.Length)
                {
                    s.Read(out mUnknown208);
                    if (mUnknown208 != 0)
                    {
                        s.Read(out mUnknown20C);
                        s.Read(out mUnknown209);
                        s.Read(out mUnknown20A);
                        s.Read(out mUnknown20B);
                    }
                }
            }
        }